Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 textures.

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?

like image 947
sinsro Avatar asked Jul 13 '10 19:07

sinsro


1 Answers

Yes, use glGetIntegerv like:

int maxTextureSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize);

Then you can use at most a maxTextureSize x maxTextureSize texture.

like image 140
Dr. Snoopy Avatar answered Oct 05 '22 23:10

Dr. Snoopy