我遇到了一个让我难住的质地问题。
我正在构建一个 OpenGL 渲染器,我用它加载并渲染了来自多个来源的多个模型和纹理......一切都按预期工作。然后我使用 WorldMachine 生成了一个地形。我导出了一个带有漫反射纹理的 OBJ。出于某种原因,世界机器生成的纹理渲染不正确。这就是它应该的样子。
当我将它加载到渲染器中的模型时,它看起来像这样:
从另一个正确加载和渲染的模型中窃取纹理,并将其应用于该地形模型,看起来它看起来正确渲染了。
我正在使用 stb image loader。地形纹理似乎加载正确。 STB 报告说两者都有 3 个频道......
我不知所措。这似乎是纹理本身的问题,但我不知道它可能是什么。地形纹理为 1025x1025,有效的为 4096x4096。阅读 here 确认现代硬件不应该有两个纹理的非幂的问题,所以我认为不是这样。我对纹理格式 (jpg/png) 了解不多,是否需要注意一些 rgb 排序或位大小注意事项?
有人知道为什么会发生这种情况吗?