質問

きたらと思い抽象化にOpenGLの環境設定(配合、吹き付け、水深等) この作品のようにマトリクススタックです。押しをスタックの変更をすることが出来なご要望を描く物、pop、スタックに戻ると、以下のようになってい前を設定します。

例えば、現場に上がるその図のようにします:

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
//Draw operations
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND); 

が環境スタックでのようになります:

glPushEnv();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
//Draw operations
glPopEnv(); 

私の見るところである2ないこ

  1. を作成する'趣'のそれぞれの環境設定機能を呼び出する。そして更新、現在のEnvStackデータ構造と通話OpenGLの環境機能です。
  2. 変更のOpenGL環境機能のポイント 環境機能、再度更新の流EnvStackデータ構造を呼び出元のOpenGL環境で機能する。

なオプション1では明らかに多くをより簡単になります。もっ走る問題について知っておきましょ使用その他の人のコードがいかに変化していったかについてについての環境領域、及びそのデータ構造です。その点では単純な方法の確保、環境の設定内容に間違いがないか確認し、こないます。

その後、私の質問は、このコンテキストをどのように変更したい機能のOpenGL環境機能の点は何ですか?

役に立ちましたか?

解決

OpenGLは、すでにこの機能が含まれています。あなたはglPushAttrib(GL_ALL_ATTRIB_BITS);glPopAttrib();をしたいです。 http://opengl.org/documentation/specsを参照してください。多くのためを/man_pages/hardcopy/GL/html/gl/pushattrib.htmlます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top