作者zouber (旅行的意义)
看板GameDesign
标题Re: [问题] 关於OpenGL
时间Tue Jan 2 01:47:43 2007
※ 引述《littleshan (我要加入剑道社!)》之铭言:
: ※ 引述《zouber (旅行的意义)》之铭言:
: : 在有打光的情况下 如果这样写的话 OpenGL实际上做的事情是?
: : 1. 先依照这三个点的法向量算出他们个别的光强(By local reflection model)
: : 再由这三个顶点的光强来内插出三角形内部像素的光强 然後画出整个三角形
: : (Gouraud shading?)
: 看你用的 shading mode 是什麽
: OpenGL 提供 flat shading 和 gouraud shading 给你选择
: 可以用 glShadeModel 来切换
: glShadeModel(GL_FLAT); // flat shading
: glShadeModel(GL_SMOOTH); // gouraud shading
: 预设使用 gouraud shading
: : 2. 先由这三个顶点的法向量内插出三角形内每个像素的法向量
: : 再由每个像素的法向量来算出他们个别的光强 然後画出整个三角形
: : (Phong shading?)
: OpenGL 并没有内建 phong shading
: 如果要达成这个效果必需写 shader
: : 3. 都不是 囧~~
: : 希望板上OpenGL的高手指点小弟....
那请问phong shading 要如何写呢?
似乎要用到控制pixel的技巧 ~ ~
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.89.129