1

次のようにクワッドを描画して、単純なグラデーションの背景を作成しています。

 glMatrixMode GL.GL_PROJECTION
 glLoadIdentity

 glMatrixMode GL.GL_MODELVIEW
 glLoadIdentity

 ***glPolygonMode GL_FRONT_AND_BACK, GL_LINE*** 

 glDisable glcDepthTest

   glBegin bmQuads

     glColor4d 1, 0, 0, 1

     glVertex2i -1, -1
     glVertex2i 1, -1

     glColor4d 0, 0, 1, 1

     glVertex2i 1, 1
     glVertex2i -1, 1

    GL.glEnd

  GL.glEnable glcDepthTest

次に、表示行列を設定して、3D シーンを描画します。これは、(シーンの) ポリゴン モードが GL_FILL に設定されている場合は期待どおりに機能しますが、(シーンの) ポリゴン モードを GL_LINE または GL_POINT に設定すると、背景の四角形が消え、背景がglClearColorで指定された色として描画されます.

いくつかの異なるブレンド オプションを試しました (完全に無効にすることを含む) ので、問題はブレンド モードに関連しているとは思いません。

編集: 上記のコードに次のポリゴン モードを追加すると、この問題が解決します!

glPolygonMode GL_FRONT_AND_BACK、GL_LINE

4

1 に答える 1

1

背景ポリゴンを描画する前に、GL_FILL のポリゴン モードをスタックにプッシュし、スタックからポップする必要があります。

于 2009-06-30T17:13:26.467 に答える