サンプル10


  今回は、ポリゴンの表裏の話です。


目次

ポリゴンの表裏

  ポリゴンには、表面と裏面というものがあります。標準では、頂点が反時計回りに見えるのが表で、時計回りに見えるのが裏になります。ちなみに、glFrontFace()を使うと、表裏を逆にすることもできます。

Front/Back


 



使用法

  ポリゴンの表裏は、処理軽くするために使われます。つまり、ポリゴンのおもて面のみを描き、裏を描かないようにすることで、描くポリゴンを減らし、処理を軽くします。使う関数は、次の2つです。

glEnable(GL_CULL_FACE)

  片面表示を有効にします。
void glCullFace(GLenum mode)
  どの面を描画しないようにするかを指定します。modeには、GL_FRONT、GL_BACK、GL_FRONT_AND_BACKのいずれかです。GL_FRONTを指定すると、表面を描画しない、つまり、裏面のみを描画します。GL_BACKなら、表面のみが描かれ、GL_FRONT_AND_BACKなら、ポリゴンは描かれなくなります。


  まとめると、次のようになります。

両面を描く

glDisable(GL_CULL_FACE);
表面のみを描く
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
裏面のみを描く
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);

戻る