3

LibGdxが3DAndroidアプリを開発する際に問題が発生しています。自分の質問への回答で簡単に説明しましたが、.png画像から透明度が得られない理由を理解できませんでした。

テクスチャは透明です。WindowsのOpenGL3+フレームワークをチェックインしましたが、正しい部分で透明に表示されます。

私の(単純なプレースホルダー)フラグメントシェーダーコードは次で終わります:

vec4 finalColor = ambient + diffuse;
finalColor.a = colorMap.a;
gl_FragColor = finalColor;

finalColor.a = 0.1;うまくいかないものを試しました。

私はこれを私のコードに追加しましたが、役に立ちませんでした:

Gdx.gl20.glEnable(GL20.GL_DEPTH_TEST);      
Gdx.gl20.glBlendFunc(GL20.GL_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl20.glEnable(GL20.GL_BLEND);

私もチェックして変更しました:

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.r = cfg.g = cfg.b = cfg.a = 8;

これは、チャネルあたりのビット数でした。

これについて少しでも助けていただければ幸いです。私は何も見逃していないことを願っています。これは大きな問題ではなく、透明性がなくてもプロジェクトをほぼ完了することができましたが、なぜそれを機能させることができないのかを本当に知りたいと思います。

4

1 に答える 1

5

GL_ALPHAの正当なオプションではありませんglBlendFunc。あなたはGL_SRC_ALPHA(ほとんどの場合)、またはのいずれかが必要ですGL_DST_ALPHA

glGetErrorここであなたに役立ったでしょう、あなたはそれを使い始めるべきです!

http://www.khronos.org/opengles/documentation/opengles1_0/html/glBlendFunc.html

于 2012-06-16T18:05:16.563 に答える