在OpenGL上映射Wavefront .obj纹理顶点

时间:2014-03-17 20:56:55

标签: opengl texture-mapping .obj wavefront

艺术家给了我所有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纹理向量。

1 个答案:

答案 0 :(得分:4)

  

但我无法弄清楚为什么纹理顶点大于1,有时为负。

[0..1]范围之外的纹理坐标表示纹理重复。

给出1D纹理ABCD

   -1    0    1    2
....|ABCD|ABCD|ABCD|....

确保GL_TEXTURE_WRAP_SGL_TEXTURE_WRAP_T设置为GL_REPEAT