我在视差法线贴图方面遇到了严重的问题,我不知道问题出在哪里。
(OpenGL 2.0、C++、WinXP)
My results:
(绿色是法线,蓝色是切线,红色是副法线(双切线))
法线贴图工作正常,所以我认为切向量很好。
奇怪的是,在一些立方体的墙上,视差贴图是正确完成的,而在另一些墙上则不然。
我确定我的 GLSL 代码没问题,因为我是从http://www.dhpoware.com/demos/index.html http://www.dhpoware.com/demos/index.html您可以在其中找到有效的视差法线贴图演示 - 它也适用于我的计算机。
我还尝试了两种计算切向量的方法,所以这应该不是问题。
我尝试从 DisplayList 切换到 VBO,相反,它给出了相同的结果,因此切线可能正确传输(我什至尝试将其传输为 gl_Color)。
高度图加载正确,我尝试将其设置为漫反射贴图,看起来不错。
glGetError() 给我没有错误,着色器编译日志也是如此。
当然,我检查了纹理坐标超过九千次。
神秘...我什至不知道代码分析的哪一部分,你们有什么建议吗?
疯狂猜测如下
我打赌要么是在切线基础(向量)问题上,要么是在错误的坐标空间中转换/考虑视图向量。
如果没有更多信息,我很难说更多......
一些源代码或问题的动画会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)