2

下のカラーバークワッドをレンダリングしようとすると、その理由について誰かがいくつかの手がかりを与えることができますか ここに画像の説明を入力

次のように表示されます。 ここに画像の説明を入力

これが私のレンダリングコードです:

    gl.glEnable(GL.GL_BLEND);
    gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO);
    gl.glBlendEquation(GL.GL_FUNC_ADD);

    gl.glEnable(GL.GL_ALPHA_TEST);
    gl.glAlphaFunc(GL.GL_GREATER, 0.01f);

    // do the drawing...

    gl.glDisable(GL.GL_TEXTURE_2D);

    gl.glDisable(GL.GL_ALPHA_TEST);

解決策は簡単で、私は頭がおかしくなっているだけだと確信していますが、それはその日の 1 つにすぎません! 助けてくれてありがとう!

4

2 に答える 2

0

PNGファイルをインポートしたときにRGBAが入れ替わるという問題がありました。

于 2011-05-25T08:13:38.620 に答える
0

どのようなブレンドを実行しようとしていますか? 色の混合やアルファ チャンネルを使用せずに単純に何かを描画するには、 or をいじる必要さえありませんGL_BLEND(GL_ALPHA_TEST両方を無効のままにします)。GL_BLEND色の異なる「レイヤー」を追加する方法を定義するために使用され(通常はアルファチャンネルを適用する方法で)、GL_ALPHA_TESTどのアルファ値を尊重/無視するかを決定します。また、四角形をレンダリングするときに頂点の色を確認してください (マゼンタなどを使用して、テクスチャなしで単色の四角形をレンダリングしてみてください)。

しかし、あなたの画像を見ると、何らかの形で赤色チャンネル ( glColorMask()) への描画を無効にしていると思います - 黄色がありますが、私を混乱させます。

于 2011-05-18T10:53:14.340 に答える