Невозможность двух текстур в iOS

В моем приложении для iOS (предназначенном для iPad) я хотел бы использовать текстуры, не являющиеся степенью двойки (NPT). Мой запрос GL_VERSION возвращает «OpenGL ES 2.0 APPLE». Согласно спецификации, он должен поддерживать текстуры NPT, но простой тест показывает, что мне нужно изменить размер текстуры до 2 ^ N, прежде чем она появится.

Apple не поддерживает полную спецификацию ES 2.0? Где я могу найти документацию о том, что не поддерживается?

Я использую Xcode 4.3.2 и iOS 5.1.

Редактировать:

Более пристальный взгляд на спецификацию ES 2.0.25 (раздел 3.8.2) показывает, что для работы NPOT необходимо выполнить несколько условий. По сути, если я использую приведенные ниже настройки, я могу загружать текстуры NPOT:

// use linear filetring
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
// clamp to edge
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

Должен ли я закрыть это или ответить на свой вопрос?

28
задан genpfault 17 June 2012 в 07:21
поделиться