我正在开发一个 3D 渲染器,当我加载各种测试模型时,我注意到一切看起来都不错,除了纹理全部在 x 轴上翻转的事实。
这实际上是在我将 GBuffer 传送到屏幕时预览的,所以它不可能是 FBO 渲染问题。
加载每个 .obj 文件后,我准备其 VBO。这是设置纹理坐标的片段:
for(Face f : master.faces) {
for(int i = pointsPerFace - 1; i >= 0; i--) {
uv[0] = f.texCoords[i].x;
uv[1] = f.texCoords[i].y;
texcoords.append(uv);
}
}
用替换坐标之类的东西1 - coordinate
并没有真正起作用,因为这会翻转整个位图,而不仅仅是当前三角形。
什么可能导致一切都呈现 x 翻转?