Это мой первый вопрос здесь. Я новичок в разработке Android, и теперь я создаю живые обои (LiveSpace). Я все уже загрузил версию Lite, вы можете найти ее здесь. https://market.android.com/details?id=thedavincode.alienland&feature=search_result#?t=W251bGwsMSwyLDEsInRoZWRhdmluY29kZS5hbGllbmxhbmQiXQ ...Samsung Galaxy S2 OpenGl ES 2.0 проблемы
Я проверил его с телефонами Xperia и Lg P990, и, похоже, он работает нормально, но есть проблема с Galaxy S2. (2.3.4. Android) Мое приложение имеет 11 объектов (классов) с текстурой для каждого объекта, и каждый объект имеет свою собственную программу и шейдеры. галактика не будет отображать более 8 текстур. он идет от id 0 до 7, а затем объекты останутся черными. независимо от того, что я пробовал, ничего не меняется. ive прочитайте, что существует ограничение на 8 текстур, но на шейдер, а не на общий. Любая помощь была бы ценной .. спасибо.
Спасибо за ваш ответ kibab. хорошо, я думаю, что я все это вижу в моем коде. – DavinCode
Спасибо за ваш ответ kibab. хорошо, я думаю, что я все это вижу в моем коде. это onDraw каждого класса объектов \t GLES20.glUseProgram (GroundProgram); // checkGlError ("glUseProgram"); int grtextureLoc = GLES20.glGetUniformLocation (GroundProgram, "sTexture"); GrTextureID = Commons.Mytextures [11]; \t GLES20.glActiveTexture (GLES20.GL_TEXTURE11); \t GLES20.glBindTexture (GLES20.GL_TEXTURE_2D, GrTextureID); и после установки моих шейдеров и других материалов и перед рисованием GLES20.glUniform1i (grtextureLoc, GrTextureID); Мне что-то не хватает ???? – DavinCode
Вы не передаете идентификатор текстуры в форму. Вы передаете индекс текстурной единицы. Читайте здесь: http://www.opengl.org/wiki/GLSL_Sampler#Binding_textures_to_samplers И вам действительно нужно читать 12 текстур одновременно в шейдере? –