Определить максимальный размер текстуры не проблема: Как определить максимальное разрешение текстуры на iPhone ?
Кроме того, в документации указано максимальное количество семплеров, которые может обрабатывать фрагментный шейдер, здесь
Эта ссылка указывает под заголовком
OpenGL ES 2.0 на PowerVR SGX
Вы можете использовать до 8 текстур во фрагментном шейдере
вы загружаете текстуры, например:
// bind gem texture to slot #0, and inform shader via uniform
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, texId_dull );
glUniform1i( [ self.program idForUniform: "U1_sampId_Gem" ], (GLuint)0 );
// ... similarly for texture #1
glActiveTexture( GL_TEXTURE1 );
glBindTexture( GL_TEXTURE_2D, texId_sparkle );
glUniform1i( [ self.program idForUniform: "U2_sampId_Sparkle" ], (GLuint)1 );
и COMMAND + щелчок по GL_TEXTURE1 показывает константы вплоть до GL_TEXTURE31, так что похоже, что они готовятся на пару поколений вперед.
Но где найти максимальное количество текстур, которое можно создать.
glGenTextures( n, pTexID ); // what is max n?
Это ограничено только физическим объемом памяти, доступной для видео на устройстве? (Я читал, что на самом деле нет физического различия между VRAM и RAM, это одна и та же память). Или может быть гарантирован какой-то нижний предел?