作者littleshan (我要加入剑道社!)
看板GameDesign
标题Re: [程式] 请问.mtl档里面的map_Ks
时间Mon May 11 10:21:27 2009
※ 引述《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
1F:推 chchwy:原来如此! 感谢解说 05/13 04:13