推 chchwy:原來如此! 感謝解說 05/13 04:13
※ 引述《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