How to detect maximum texture resolution on iPhone?
I'm making an universal openGL based app that should work on ipod/iphone 2G/3G/3GS/4 and iPad.
To deliver the best possible graphics I need to switch between different texture resolutions based on what device is running it.
For example, iPhone 2G needs textures that is no larger than 1024x1024, while iPhone 3GS can handle larger textur开发者_如何转开发es.
So, on iPhone 3GS I want to load a texture atlas that's 2048x2048, while iPhone 2G will get the downscaled 1024x1024 texture atlas.
Is there a simple and safe way to detect the maximum texture resolution available to openGL on any said device?
Yes, use glGetIntegerv like:
int maxTextureSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize);
Then you can use at most a maxTextureSize x maxTextureSize texture.
精彩评论