• ベストアンサー

OpenGLで陰面消去処理をデプス・バッファについての質問です。

OpenGLで陰面消去処理をデプス・バッファについての質問です。 OpenGLで陰面消去処理をデプス・バッファを使って行っています。 このとき、 glEnable関数の引数としての GL_DEPTHとGL_DEPTH_TESTの違いが分りません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

glEnable/glDisalbe に、GL_DEPTH_TEST を指定することによって、デプスバッファ使用の有無を設定します。 一方、GL_TEST は、glCopyPixels で、カラーバッファ(GL_COLOR)/デプスバッファ(GL_DEPTH)/ステンシルバッファ(GL_STENCIL)のどれをコピーするのか、を指定するのに使う定数です。 glEnable/glDisable に「GL_DEPTH」という設定は存在しません。 「glEnable(GL_TEST)」といったコードは無意味です。 何を参考にされたのかわかりませんが、そのコードが間違えているのだと思います。 http://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml これは、OpenGL の正式なドキュメントです。 英語で書かれていますが、指定できる定数がアルファベット順に並んでいますので、 英語が読めなくても「GL_DEPTH_TEST」は有るけど「GL_TEST」は無いことは確認できると思います。

noname#210749
質問者

お礼

ありがとうございました。 参考にしたコードに問題があったみたいですね。 これからはGL_DEPTH_TESTを使います。

関連するQ&A