在我的iOS应用程序(针对iPad)中,我想使用两个非功率(NPT)纹理。我的GL_VERSION查询返回“OpenGL ES 2.0 APPLE”。根据规范,它应该支持NPT纹理,但是一个简单的测试表明我需要在纹理出现之前将纹理调整到2^N。iOS中两个纹理的非功率
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);
我应该关闭这个或回答我的问题?
无需关闭问题,您可以撰写答案并接受它。有一天它可能会对别人有所帮助。 – Tim
我几天前还记得同样的问题和答案。这是一个经常性的话题。 – Luca