于實(shí)現(xiàn)了自己的軟渲染器,圖形學(xué)的學(xué)習(xí)暫時(shí)告一段落。代碼參考知乎上的韋易笑大神的回答,自己加入了很多功能包括:
將原來(lái)的Gouraud著色改為phong著色
加入一個(gè)平行光和4個(gè)點(diǎn)光源,物體材質(zhì)
背面剔除
利用libpng讀取外部紋理
實(shí)現(xiàn)雙線性紋理濾波和mipmap
完整實(shí)現(xiàn)3D裁剪算法
簡(jiǎn)單的投影
利用sdl2實(shí)現(xiàn)了mac、ios、windows多平臺(tái)支持
3D漫游和object簡(jiǎn)單封裝
知乎我的回答鏈接
工程目錄:
external:依賴庫(kù)文件
project:多平臺(tái)項(xiàng)目工程以及跟平臺(tái)相關(guān)代碼
resources:核心代碼和資源
依賴庫(kù):
跨平臺(tái)的多媒體開發(fā)函數(shù)庫(kù),非常好用,cocos2dx也使用到了它哦
版本是SDL2-2.0.5,我已經(jīng)交叉編譯成了靜態(tài)庫(kù),可以直接使用
跨平臺(tái)的png格式讀取處理庫(kù),如果靜態(tài)庫(kù)有問(wèn)題,可以下載源代碼下載地址,自行編譯