5

一位艺术家给了我所有的 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 格式的所有纹理,我正在正确加载它,但我无法将这些vts 映射到正确的 OpenGL 纹理矢量。

4

1 回答 1

6

但我不明白为什么纹理顶点大于 1 有时是负数。

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

给定一维纹理ABCD

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

确保GL_TEXTURE_WRAP_SGL_TEXTURE_WRAP_T设置为GL_REPEAT

于 2014-03-17T21:05:27.087 回答