首页 > 代码库 > Gouraud Shading

Gouraud Shading

Gouraud Shading

  Gouraud Shading (高洛德着色/高氏着色)

  这种着色的效果要好得多,也是在游戏中使用最广泛的一种着色方式。它可对3D模型各顶点的颜色进行平滑、融合处理,将每个多边形上的每个点赋以一组色调值,同时将多边形着上较为顺滑的渐变色,使其外观具有更强烈的实时感和立体动感,不过其着色速度比平面着色慢得多。
  Gouraud 明暗处理,又称为强度插值明暗处理(intensity interpolation shading)。顾名思义,它是先根据三角形三个顶点的法矢量,和任意的光线模型,得出这三点的光强。然后,沿三角形的边和水平扫描线分别进行插值计算,得出这个三角形上的各点的光强。其示意图和公式如下:
 
    
  其中I是光强,x和y是转换到二维视平面上的坐标。有了这个公式我们可以计算一个三角形上任意点的光强了。
参考:http://baike.baidu.com/link?url=2qT4ZhLu9XfzKpOYnQbthALQrlcFPFOEZmYLMkKY4n323otWev5WEDGeUW1e817-6JMQ06UpyGA3JLaqW_D9MK