前段时间基本上完成了场景编辑器的大部分工作,现在已经可以用它生成自己需要的网格模型了。目前,在编辑器中对生成的网格是指定面的法向量,这对于用场景生成BSP等相关操作已经足够了。不过为了测试BSP的健壮性,准备实现一下基于BSP的光线跟踪算法来看看效果,于是只是指定面的法向量就显得不太够用,因为在逐像素作着色时就需要对面上各个点的法向量进行插值,因此就需要各个顶点的法向量。查了下相关的资料,找到了一种简单但却有效的顶点法向量生成算法。
最简单也是最直接的求顶点的法向量的方法是遍历此顶点所关联的所有三角形,将这些三角形上的法向量单位化后叠加,然后求出法向量的均值即可。
vertexNormal = 0,0,0;
f

在场景编辑器的开发中,为了实现BSP的光线跟踪算法和提高着色效果,需要计算网格顶点的法向量。通过遍历每个顶点关联的三角形,根据它们的法向量和顶点间的夹角计算均值,可以得到更精确的顶点法向量。这种方法解决了小多边形共面导致的法向量质量问题。
最低0.47元/天 解锁文章
718

被折叠的 条评论
为什么被折叠?



