IPhone模拟器与设备问题(开放式总账)

IPhone模拟器与设备问题(开放式总账),iphone,opengl-es,ios-simulator,Iphone,Opengl Es,Ios Simulator,我正在使用openGl ES 2.0开发一个iPhone应用程序,在模拟器中进行了大量测试后,我将该应用程序安装到我的iPhone3GS上,看看它的性能如何。当应用程序启动时,它启动良好,没有错误,但没有显示任何内容,不过背景颜色是合适的 是否有人对可能导致此问题的原因有任何想法/建议?如果代码/详细信息有帮助,请告诉我您希望看到的代码部分。检查您可能使用的各种函数的约束条件。例如,默认情况下,如果使用边框,GLTEXAGE2D的宽度和高度必须分别为2的幂或2加2的幂。有一个扩展允许两个纹理的非

我正在使用openGl ES 2.0开发一个iPhone应用程序,在模拟器中进行了大量测试后,我将该应用程序安装到我的iPhone3GS上,看看它的性能如何。当应用程序启动时,它启动良好,没有错误,但没有显示任何内容,不过背景颜色是合适的


是否有人对可能导致此问题的原因有任何想法/建议?如果代码/详细信息有帮助,请告诉我您希望看到的代码部分。

检查您可能使用的各种函数的约束条件。例如,默认情况下,如果使用边框,GLTEXAGE2D的宽度和高度必须分别为2的幂或2加2的幂。有一个扩展允许两个纹理的非幂次,但根据我的经验,该扩展不存在,或者至少在某些设备上没有完全实现,即它适用于GL_CLAMP_TO_EDGE,但不适用于GL_REPEAT。

该设备对文件名的大小写敏感度要求严格-请检查以确保在加载着色器时,确保代码中引用的文件名与其实际文件系统名相同

另外,如果您使用的是xCode 4,请转到“目标构建阶段”设置,并确保您使用的所有着色器都位于复制包资源中


最后,如果着色器出现在“编译源代码”中,则应将其从中删除。您需要清理您的项目,然后重新构建。

您是否尝试过创建一个简单的应用程序,例如只显示一个立方体,并查看是否存在相同的问题?如果它没有添加一点代码并再次测试。重复,直到失败。我希望我不必这样做,但看起来这是唯一的选择,因为我不知道是什么导致了这种问题。你不能在这里发布你的整个应用程序代码,所以你必须将问题减少到最小可重复的情况。在此过程中,您可能会发现问题所在。您应该阅读GL_APPLE_texture_2D_limited_npot和GL_OES_texture_npot扩展规范,它们解释了您在npot纹理中看到的限制。这不是一个实现问题,应该是这样的。@MatiasValdenegro:啊,好的。OpenGL ES 2.0已经允许NPOT纹理使用GL_钳制到_边缘,无需扩展。