Opengl ES 2中的纹理无法正常工作

时间:2010-12-01 12:29:20

标签: iphone opengl-es textures .obj

我在iphone上使用Opengl ES 2,现在我正在尝试让我的纹理处理我的对象。我正在使用.obj文件,其中的所有数据都是正确的。我自己编写了一个解析器来检索所有数据,我将它转换为C中的静态数组。我现在丢弃材料属性,只手动从.mtl文件获取图像路径。

我有一个包含336个三角形的对象,这使得观察具有重要意义,具有相关的顶点,顶点面和纹理坐标(u,v)。

将所有数据传递到着色器中,生成的图像为:

http://img530.imageshack.us/img530/9637/pic1io.png

http://img404.imageshack.us/img404/7358/pic2pg.png

但它应该如下所示(在对象查看器中显示它)。请忽略材料属性。

http://img16.imageshack.us/img16/1401/pic3cq.png

将此图像用作纹理:

http://img217.imageshack.us/img217/1300/shirtdiffuse.png

我在想它可能与纹理坐标面有关?它在我的.obj文件中定义,我根本就不使用它们。在书籍和教程中,我没有发现任何与此相关的内容。

关心Niclas

1 个答案:

答案 0 :(得分:0)

您是否尝试垂直翻转纹理?有时,当纹理被加载时,它会被放置在内存中,因此垂直线在texcoords中按照预期的方向进入。