艺术家给了我所有3D模型供我导出到.obj和.mtl,以便我可以使用OpenGL渲染它。
但我无法弄清楚为什么纹理顶点大于1而有时为负。 看一下这个例子:
(...)
vn -0.000717425 0.00106739 -0.00991695
vn 3.49779e-09 -5.22866e-09 -0.01
vn -0.00142294 0.00211706 -0.00966919
vn -0.00831486 -0.00555545 0
vt 5.82424 -20.091
vt 6.97527 -20.1873
vt 5.81848 -20.1618
vt -7.48189 8.29159
(...)
他向我发送了TGA格式的所有纹理,我正确加载它,但是我无法将这些vt
映射到正确的OpenGL纹理向量。
答案 0 :(得分:4)
但我无法弄清楚为什么纹理顶点大于1,有时为负。
[0..1]
范围之外的纹理坐标表示纹理重复。
给出1D纹理ABCD
:
-1 0 1 2
....|ABCD|ABCD|ABCD|....
确保GL_TEXTURE_WRAP_S
和GL_TEXTURE_WRAP_T
设置为GL_REPEAT
。