Как определить максимальное разрешение текстур на iPhone?
Я делаю универсальное приложение на основе openGL, которое должно работать на ipod/iphone 2G/3G/3GS/4 и iPad.
Для получения наилучшей графики мне нужно переключаться между различными разрешениями текстур в зависимости от того, на каком устройстве оно работает.
Например, iPhone 2G нужны текстуры размером не более 1024x1024, в то время как iPhone 3GS может обрабатывать большие текстуры.
Итак, на iPhone 3GS я хочу загрузить текстурный атлас 2048x2048, в то время как iPhone 2G получит уменьшенный текстурный атлас 1024x1024.
Существует ли простой и безопасный способ определения максимального разрешения текстуры, доступного для openGL на любом из указанных устройств?
1 ответ
Да, используйте glGetIntegerv, как:
int maxTextureSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize);
Тогда вы можете использовать не более maxTextureSize x maxTextureSize текстуру.