对法线纹理和置换纹理的一点改进

Displacement 设想深度图在三角形所在切线空间内。对于点法线不垂直于三角形所在面的情况,比如三角形三个顶点的法线不同,或是视线穿过了当前三角形,而下一个三角形的法线方向与这一个三角形的法线方向不同的情况,这个设想就是不成立的。
Displacement的视线可能穿过texture,即u+v超过了1或者u、v中有负数,这种情况下应该让片段透明。

法线贴图。一个点可能是多个三角形的顶点,这时它的法线怎么算呢?如果让点的法线垂直于三角形所在面,则三角形与三角形之间的法线会存在断裂的情况。解决办法是加权平均顶点的各个三角形法线,权值是顶点对应的三角形的面积。
这又带来一个新的问题,片段的法线取的是顶点法线的三角形uv插值,这样片段法线的模就不保证是1了。所以应该在着色器中将插值得来的法线归一化。

posted @ 2021-03-15 13:43  HSS--  阅读(65)  评论(0)    收藏  举报