これは私の最初の質問です。 私はAndroid開発を初めて、ライブ壁紙(LiveSpace)を作成しました 私はすでにLiteバージョンをアップロードしています。ここで見つけることができます。 https://market.android.com/details?id=thedavincode.alienland&feature=search_result#?t=W251bGwsMSwyLDEsInRoZWRhdmluY29kZS5hbGllbmxhbmQiXQ ..サムスンギャラクシーS2 OpenGl ES 2.0の問題
私は、のXperia携帯電話とLG P990でそれをテストし、それが正常に動作するようだが、ギャラクシーS2との奇妙な問題があります。 (2.3.4。アンドロイド) 私のアプリケーションには、オブジェクトごとにテクスチャを持つ11個のオブジェクト(クラス)があり、すべてのオブジェクトには独自のプログラムとシェーダがあります。銀河は8つ以上のテクスチャをレンダリングしません。 id 0から7になり、残りのオブジェクトは黒になります。私が何を変えようと試みても。 iveは、8つのテクスチャに制限がありますが、合計ではなくシェーダーごとに制限があることを読んでいます。 助けていただければ幸いです。ありがとうございます。
返信いただきありがとうございます。まあ、私はこれらのすべてを私のコードを参照してくださいだと思います。 – DavinCode
返信いただきありがとうございます。まあ、私はこれらのすべてを私のコードを参照してくださいだと思います。 これはすべてのオブジェクトクラスのonDrawです \t GLES20.glUseProgram(グラウンドプログラム); // checkGlError( "glUseProgram"); int grtextureLoc = GLES20.glGetUniformLocation(グラウンドプログラム、 "テクスチャ"); GrTextureID = Commons.Mytextures [11]; \t GLES20.glActiveTexture(GLES20.GL_TEXTURE11); \t GLES20.glバインドテクスチャ(GLES20.GL_TEXTURE_2D、GrTextureID); シェーダやその他のものを設定して描画する前に GLES20.glUniform1i(grtextureLoc、GrTextureID); 私は何かが恋しい? – DavinCode
ユニフォームにテクスチャIDを渡すことはありません。テクスチャユニットのインデックスを渡します。ここをクリックしてください:http://www.opengl.org/wiki/GLSL_Sampler#Binding_textures_to_samplersシェイダーで12のテクスチャを同時に読む必要がありますか? –