法线变换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wodownload2/article/details/88823649

法线的变换
参考网址:
http://www.songho.ca/opengl/gl_normaltransform.html

如何把一个法线转换到另外的一个空间去。
我们知道,把模型的本地顶点变换到视图空间去使用的矩阵为MV。
MV*P之后就把P点转换到了视口空间或者叫做眼空间。那么对于法线向量能够用同样的方法处理吗?答案是不行的。为什么不行吗,举例说明。
如果某个点本地坐标是(0,0,0),对应的本地法线是((1,0,0)。
通过MV矩阵只是把点沿着y轴向上平移2个单位,则点变为了(0,2,0)。但是此点的法线依然是(1,0,0)而不是(1,2,0)。

那么如何把本地法线变换到视口坐标系下呢?
如下图所示:
在这里插入图片描述
法线是垂直于周围三个点形成的平面的。
所以用这个法线和此平面点乘则为0:

猜你喜欢

转载自blog.csdn.net/wodownload2/article/details/88823649
今日推荐