大約在一個(gè)多星期前開始寫一個(gè)軟渲染引擎,類似D3D的一個(gè)東西,只不過硬件處理的部分全部換成軟件處理,對(duì)圖形學(xué)有點(diǎn)了解的人應(yīng)該都知道是個(gè)什么玩意。同樣,這是個(gè)業(yè)余時(shí)間進(jìn)行的項(xiàng)目,目的是為了總結(jié)一些以前學(xué)過的很基礎(chǔ)的知識(shí)。我并沒有打算給自己定一個(gè)很詳細(xì)的計(jì)劃去完成它,主要是不想把它變成一種任務(wù),那樣會(huì)很累(你有壓力,我有壓力,沒事還是別再給自己增加什么負(fù)擔(dān)了- -)。然后,這個(gè)東西并不會(huì)有一堆很炫的所謂次時(shí)代的效果,它所實(shí)現(xiàn)的是每個(gè)初學(xué)者都曾用d3d或者opengl所實(shí)現(xiàn)過的很普通的渲染技術(shù),區(qū)別只在于渲染底層是我自己寫的。個(gè)人認(rèn)為,知其然,知其所以然的學(xué)習(xí)態(tài)度還是很重要的,已見過不少做過幾年的游戲程序員對(duì)最基本的3D流水線處理過程還是朦朦朧朧糊糊涂涂的,我想,任何時(shí)候,只要有必要,我們都不應(yīng)該害怕重造輪子,否則是難以進(jìn)一步提升自己的。言歸正傳,對(duì)于這個(gè)渲染引擎,我目前所想到的有以下這些:
1、支持多光源,光源的類型包括點(diǎn)光源,平行光,聚光燈
2、支持多紋理,基于效率考慮只打算支持2~3層的紋理,紋理間的混合操作可以有多種
3.、支持Constant,Flat,Gouraud,Phong(僅限平行光)幾種常見的著色模型
4、支持線性紋理濾波
5、支持alpha混合
6、支持霧效、景深
7、支持幾種常見的模型格式的載入,目前有限度地支持.x格式
8、支持骨骼動(dòng)畫
9、支持文字渲染
10、支持簡單的陰影效果
先這么多,上面寫的這些不一定會(huì)全做,最后所實(shí)現(xiàn)的也不會(huì)局限于這些,進(jìn)度會(huì)比較緩慢,新公司的項(xiàng)目比我預(yù)想的要忙得多,除去工作和一些所謂的私人事務(wù)花去的時(shí)間,我的空閑時(shí)間很少,另外,目前打算做好之后開源,但不會(huì)有文檔,實(shí)在沒有多余的精力和時(shí)間去搞那些了,抱歉
這個(gè)模型學(xué)過D3D的人應(yīng)該都很眼熟:

線框模式:
posted on 2009-08-23 12:31
清風(fēng) 閱讀(3053)
評(píng)論(10) 編輯 收藏 引用 所屬分類:
圖形