我正在使用 AndEngine 开发游戏。由于我是为 Android 做的,并且我想在不权衡纹理质量的情况下覆盖尽可能多的设备,所以我有 2 种纹理包类型:HD 和 LOW:
- 高清纹理 = 2048x2048
- 低纹理= 1024x1024
- 高清摄像头 = 800x1280
- 低相机 = 400x640
我已经制定了设置 HD 纹理包或 LOW 纹理包的所有逻辑,我现在需要的是在应用程序启动时选择要使用的女巫的好策略。
使用 AndEngine 的:
GLState state = new GLState();
int max = state.getInteger(GLES20.GL_MAX_...);
我遇到了一些价值观:
型号:三星 Note 8,索尼 XPERIA U
GL_MAX_TEXTURE_SIZE:4096
GL_MAX_TEXTURE_IMAGE_UNITS:8
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:8
型号:三星 Galaxy Mini、三星 S3 Mini、HTC One S
GL_MAX_TEXTURE_SIZE:4096
GL_MAX_TEXTURE_IMAGE_UNITS:16
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:20
型号:三星 S4、Nexus4、XPERIA Z1
GL_MAX_TEXTURE_SIZE:4096
GL_MAX_TEXTURE_IMAGE_UNITS:16
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:32
在这个openGL Docs中,我可以找到每个常量的含义,但我在这里有点迷茫,我不知道如何使用这些数据来为我的纹理和相机选择正确的设置。
我需要您的帮助和提示,我是否走在正确的道路上?我接下来应该如何处理这些信息?
谢谢你的时间。