有限オートマトン(ステートマシン)としてのOpenGL

本物のページはこちら→state-machine

Included page "opengl:state-machine" does not exist (create it now)

OpenGLは有限オートマトンである。
変更するまで、効果が持続する様々な状態(モード)にすることができるってこと。

状態変数 OpenGLでのコマンド
glColor()
投影変換 glMatrixMode(GL_PROJECTION);gluPerspective()
glLineWidth()
ポリゴン形状 glBegin(GL_POLYGON);..等
光源 glLight()

これだけではないけど、他にも色々!
大部分の状態変数は

  • glEnable()コマンドで有効化
  • glDisable()コマンドで無効化

することができる。

状態の問い合わせ

現在どんな状態にあるのか、以下の関数を使って問い合わせすることが出来る。

  • glGetBooleanv()
  • glGetDoublev()…行列の値を得るのに値
  • glGetFloatv()….行列の値を得るのに使う
  • glGetIntegerv()….glViewportの値を得るのに使う
  • glGetPointerv()….既にビデオカードに送ったテクスチャを再び得るのに使用した覚えが。。。
  • glIsEnables()

より固有なコマンドで問い合わせするもの

  • glGetLight*()
  • glGetError()
  • glGetPolygonStipple()

複数個の状態変数を属性スタックに保存する

  • glPushAttrib()
  • glPushClientAttrib()

または、そのスタックから取り除くこともできる

  • glPopAttrib()
  • glPopClientAttrib()
Bibliography

サポートサイト Wikidot.com