В моем приложении для 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);
Должен ли я закрыть это или ответить на свой вопрос?