光照:
再次修改了公式,把鏡面反射的點積值也映射到了0~1的范圍內,這樣就不會再出現有一團黑的情況了:I = Ia * Ka + Id * Kd * (L dot N + 1.0) * 0.5 + Is * Ks * pow((R dot V + 1.0) * 0.5,n),另外加上了之前一直沒加的聚光燈光源,基于頂點的光照強度計算,效果不是很好。。目前場景中有三種類型的光源:點光源、平行光、聚光燈
文字渲染:
采用了trueType字體,文件結構還是挺簡單的,12個字節的文件頭,包含字體的版本和大小等信息,字符按編碼作為順序,每個字符在文件中占32個字節,即是16 X 16的點陣字體
骨骼動畫:
有限度地支持.x格式,說有限度支持是因為我并沒有很仔細地研究.x動畫格式,因此很難說在我的解析程序中是不是漏掉了對.x文件一些規范的支持,目前想干脆把它剝離出來作為一個自定義的動畫格式算了。。不過這樣還得寫個導出工具才有意義
alpha混合:
沒什么好說的,簡單的混合:(1 - alpha) * srcColor + alpha * destColor
霧效:
基于頂點的計算,采用這個公式:f = exp( -d * c ),其中d為定點到視點的距離,c為霧化因子,在頂點比較密集的情況下能取得比較好的效果
基本上,不打算再繼續寫下去了,接下來需要整理下代碼,寫一個看起來不是很cool的DEMO,然后再把demo連同引擎的代碼一起發出去。
release版的,debug版的FPS慘不忍睹。
posted on 2009-09-26 20:23
清風 閱讀(2032)
評論(0) 編輯 收藏 引用 所屬分類:
圖形