对法线纹理和置换纹理的一点改进
Displacement 设想深度图在三角形所在切线空间内。对于点法线不垂直于三角形所在面的情况,比如三角形三个顶点的法线不同,或是视线穿过了当前三角形,而下一个三角形的法线方向与这一个三角形的法线方向不同的情况,这个设想就是不成立的。
Displacement的视线可能穿过texture,即u+v超过了1或者u、v中有负数,这种情况下应该让片段透明。
法线贴图。一个点可能是多个三角形的顶点,这时它的法线怎么算呢?如果让点的法线垂直于三角形所在面,则三角形与三角形之间的法线会存在断裂的情况。解决办法是加权平均顶点的各个三角形法线,权值是顶点对应的三角形的面积。
这又带来一个新的问题,片段的法线取的是顶点法线的三角形uv插值,这样片段法线的模就不保证是1了。所以应该在着色器中将插值得来的法线归一化。

浙公网安备 33010602011771号