Opengl , GLSL 中的视差法线贴图问题

2024-01-10

我在视差法线贴图方面遇到了严重的问题,我不知道问题出在哪里。

(OpenGL 2.0、C++、WinXP)

My results: alt text

(绿色是法线,蓝色是切线,红色是副法线(双切线))

法线贴图工作正常,所以我认为切向量很好。 奇怪的是,在一些立方体的墙上,视差贴图是正确完成的,而在另一些墙上则不然。 我确定我的 GLSL 代码没问题,因为我是从http://www.dhpoware.com/demos/index.html http://www.dhpoware.com/demos/index.html您可以在其中找到有效的视差法线贴图演示 - 它也适用于我的计算机。

我还尝试了两种计算切向量的方法,所以这应该不是问题。 我尝试从 DisplayList 切换到 VBO,相反,它给出了相同的结果,因此切线可能正确传输(我什至尝试将其传输为 gl_Color)。

高度图加载正确,我尝试将其设置为漫反射贴图,看起来不错。

glGetError() 给我没有错误,着色器编译日志也是如此。

当然,我检查了纹理坐标超过九千次。

神秘...我什至不知道代码分析的哪一部分,你们有什么建议吗?


疯狂猜测如下

我打赌要么是在切线基础(向量)问题上,要么是在错误的坐标空间中转换/考虑视图向量。

如果没有更多信息,我很难说更多......

一些源代码或问题的动画会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Opengl , GLSL 中的视差法线贴图问题 的相关文章

随机推荐