1

私はいくつかのJavaOpenGLコードを書いています(ただし、原則はC ++ openGLでも同じです)。特定のアイテムを他のアイテムの上にレンダリングしたいという状況があります。これらのアイテムの深度テストを無効にするか、GL_ALWAYSに設定することで、これを行うことができます。これはうまく機能します。問題は、上のアイテムの色が下のアイテムによって暗くなっているように見えることです。照明の問題なのか、ブレンドの問題なのかはわかりませんが、このアイテムのz位置に関係なく、周囲の色に影響されることなくアイテムの色を表示しようとしています(深度テストは常にに設定されているため) )。これに使用する必要がある照明設定またはブレンド設定はありますか?

ありがとう、ジェフ

4

1 に答える 1

1

この状況では、深さの設定はそのままにして、描画順序に基づいてオブジェクトのZ値を調整すると思います(通常の深さではなく順序に基づいて描画するアイテムの場合)。

glBegin(GL_WHATEVER);
    for (int i=0; i<num_objects; i++) 
        glVertex(object[i].x, object[i].y, i/-100.0f);
glEnd(GL_WHATEVER);
于 2010-06-25T04:15:39.053 に答える