這是我的第一個問題。 我是新開發的Android開發人員,現在我開發了一個動態壁紙(LiveSpace) 我已經上傳了精簡版,你可以在這裏找到它。 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,然後休息對象apear黑色。不管我什麼都沒有嘗試過任何改變。 我讀過,有8個紋理的限制,但是每個着色器不是總數。 任何幫助將是有價值的..謝謝。
感謝您的回覆kibab。以及我想我做所有這些看到我的代碼。 – DavinCode 2012-03-05 18:54:02
感謝您的回覆kibab。以及我想我做所有這些看到我的代碼。 這是每個對象類的繪圖 \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 2012-03-05 19:03:19
您不會將紋理ID傳遞給制服。你傳遞紋理單元索引。在這裏閱讀:http://www.opengl.org/wiki/GLSL_Sampler#Binding_textures_to_samplers你真的需要在着色器中同時讀取12個紋理嗎? – 2012-03-05 19:45:35