我正在为Android和iOS创建一款手机游戏。
正如我在Android网站上看到的那样:
我构建我的应用程序只针对设备API16 +,但是,这是否意味着我可以使用非底池纹理?
这个API级别的人可能会在他的设备上安装OpenGL 1.0,这会在尝试加载我的纹理时崩溃吗?该设备是否独立?
答案 0 :(得分:0)
首先,您没有提及您是否定位OpenGLES 1或2.根据您发布的信息,您定位的所有设备都支持OpenGLES 2,但它取决于您你实际选择使用的版本。
假设您的代码使用OpenGLES 2,那么所有设备都应该使用非POT纹理。但是,您应该知道纹理包装(GL_REPEAT)和mipmapping仅通过扩展支持非POT纹理。此外,很多设备都会分配内存,就好像你的纹理是POT一样。
由于这些原因,为3D资产创作POT纹理几乎总是一个好主意。对于2D资产,考虑使用纹理atlasses将多个非POT纹理组合成更大的POT图集是一个好主意。