您的位置:首页 > 其它

关于生成地形的法线问题

2008-09-27 01:41 211 查看
刚发现(或者说解决..)的新问题,使用高洛德光照的时候,地面反光并不明显,也不真实,,我怀疑顶点的法线计算错了.

事实上,,资料里看到的顶点法线向量就是该顶点的坐标向量,即:

V[vNum].n.x = V[vNum].p.x;

V[vNum].n.y = V[vNum].p.y;

V[vNum].n.z = V[vNum].p.z;

但我一开始就觉得不对劲,所以自行修改了,根据自己对法向量的理解,它应该是垂直于顶点所在平面的,但在这个程序里,每个顶点都是六个三角面的交点,那么该顶点的法向量就应该是这六个三角面的法向量之和咯.

于是在每个顶点处,都先求出交汇于此点的六条边的向量,然后通过叉乘运算求出六个三角面的法向量,再加起来做Normalize运算,这就是顶点的法向量了.虽然复杂,但我以为这才是正确的法线...15分钟前,我知道自己错了.

在这里再补充一个关于向量叉乘的知识:比如顶点A是三角面ABC的一个顶点,那么向量AB和向量AC的叉乘就是垂直于该三角面的.

反正还是我自己错了,,改回到资料里那样,就能正常反光,虽然还是不太真实,需要一些调试~~至于法线为什么是这样设置的,明天再研究,上最后一张图.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: