首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

请教Gouraud Shading (高洛德着色):是怎样计算的

2012-03-13 
请问Gouraud Shading (高洛德着色):是怎样计算的比如已知三角形三个顶点的颜色,如何求出三角形内任意一点

请问Gouraud Shading (高洛德着色):是怎样计算的
比如已知三角形三个顶点的颜色,如何求出三角形内任意一点的颜色

[解决办法]
已知三角形的顶点在屏幕上的坐标和对应的顶点的颜色,
那么在计算的时候,根据每个像素在三角形内部的位置,对颜色进行差值。
[解决办法]
高洛德不就是普通插值嘛。
[解决办法]
举个简单的例子,比如

p1----p----p2

p1和p2是三角形的2个顶点,
坐标为p1(1.0,0.0), p2(2.0,0.0)
颜色c1(1.0,1.0,0.0),c2(0.0,1.0,0.0),
现在要求点p(1.5,0.0)的颜色c

通过差值计算

c = c1* |p2-p|/|p2-p1|+c2*|p1-p|/|p2-p1|

=(1.0,1.0,0.0)*0.5/1 + (0.0,1.0,0.0)* 0.5/1
=(0.5,0.5,0.0)+(0.0,0.5,0.0)
=(0.5,1.0,0.0)

热点排行