相关疑难解决方法(0)

在iOS中无法使用两种纹理

在我的iOS应用程序(针对iPad)中,我想使用非幂(NPT)纹理.我的GL_VERSION查询返回"OpenGL ES 2.0 APPLE".根据规范,它应该支持NPT纹理,但是一个简单的测试表明我需要在纹理显示之前将纹理大小调整为2 ^ N.

Apple不支持完整的ES 2.0规范吗?我在哪里可以找到不支持的文档?

我使用的是Xcode 4.3.2和iOS 5.1.

编辑:

仔细研究ES 2.0.25规范(第3.8.2节),可以发现NPOT可以满足几个条件.基本上如果我使用下面的设置,我可以加载NPOT纹理:

// use linear filetring
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
// clamp to edge
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
Run Code Online (Sandbox Code Playgroud)

我应该关闭它还是回答我自己的问题?

opengl-es ios

28
推荐指数
1
解决办法
8042
查看次数

标签 统计

ios ×1

opengl-es ×1