看板 GameDesign 關於我們 聯絡資訊
※ 引述《chchwy (mat)》之銘言: : 小弟最近在學OpenGL : 目前寫了一個obj Loader : 發現.mtl裡面會有兩種貼圖 : 一個是map_Kd : 一個是map_Ks 還有 map_Ka : map_Kd 我知道,就是用2D texture直接貼上去就行了 : map_Ks 我查過文件是寫Specular map : 這個在OpenGL裡我就不知道要怎麼畫上去了 Ka、Kd、Ks 都是 phong model 的參數 做 computer graphics 要有個概念 那就是「物體本身沒有顏色,反射光線才會產生顏色」 而 Ka、Kd、Ks 就是描述物體如何反射光線 wikipedia 上有公式 http://en.wikipedia.org/wiki/Phong_shading OpenGL 基本上就是使用 Phong reflection model 來打光 至於要怎麼畫上去 因為 OpenGL 的 multi-texture pipeline 沒辦法做太複雜的運算 所以我想最簡單的方法應該是寫 shader : 另外就是.obj裡面會有 : "s" (smooth group) 這個項目 : 這個要怎麼處理呢? smooth group 就是指這個項目內的多邊形要用內插 normal 的方式 來營造出平滑的表面 簡單點可以用 gouraud shading (smooth shading) 打發掉 覺得不夠好可以寫 shader 實作 phong interpolation : 以上兩個問題請教各位高手 : 先謝謝囉~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.151.2
chchwy:原來如此! 感謝解說 05/13 04:13