顶点法线计算 computation:
在①中,总结了几种根据 face normal 计算 Vertex Normal 的方法:
1. MWE(Mean Weighted Equally)
简单来说,就是根据顶点周围的共光滑组的面法线的和求平均来得到该点的顶点法线
2. MWA(Mean Weighted by Angle)
这个方法,在考虑了每个三角面的两条边的角度作为权重,来计算最后的顶点法线
3 .MWELR(Mean Weighted by Edge Length Reciprocals)
根据三角面的两条边的长度的积的倒数来作为权重计算最后的法线。
法线自遮挡调整:
如下图,实现细节阴影ao 的效果
在②中,用了一种计算自遮挡的方法来计算AO。
对每个顶点,采用重要性半球面采样,计算遮挡情况。根据miss 的采样点,计算出 bentnormal, 以及一个包围miss 区域的圆。 angle 即为 上图中 中心角 。结合下公式 得到最后的AO
AO= scale(1-cos(angle)).
可以达到一些比较好的细节阴影的效果
法线贴图
todo
引 “说起Normal Map(法线贴图),就会想起Bump Map(凹凸贴图)。Bump Mapping是Blin大师在1978年提出的图形学算法,目的是以低代价给予计算机几何体以更丰富的表面信息(高模盖低模)。30年来,这项技术不断延展,尤其是计算机图形学成熟以后,相继出现了不少算法变体,90年代末的Normal Map解放了必须自行计算纹理像素法线的痛苦”
Reference:
①A comparison of Algorithms for Vertex Normal Computation
②Precomputed Lighting in Call of Duty Infinite Warfare