2012-02-13 2 views

答えて

6

OpenGLは状態マシンです。一度色を設定すると戻すことはできません。使用できるメカニズムの1つはglPushAttribglPopAttribです。 glPushAttrib(GL_CURRENT_BIT)は色と他のいくつかのものを保存し、glPopAttrib()は復元します。

あなたは何をしたいのか別のメカニズムを使用する必要があるかもしれません。常に状態を保存して復元することは、費用のかかる方法です。

+0

いくつかの選択肢を提案できますか?私がインターネット上で利用可能ないくつかの例を見ることは良いことです。あなたは私をどんなリンクにでも導かせることができますか?前もって感謝します。 – Rikki

+0

色を復元する必要はありません。変更したいときは、glColor *を呼び出すだけです。それを保持する必要がある場合は、クライアントに浮動小数点配列(例えば、RAMメモリ)を持たせることで可能です。 GLfloat master_color [4]; master_color [0] = x; master_color [1] = y; master_color [2] = z; master_color [3] = w; glColor *(...); /*描画*/ glColor4fv(master_color);/*リストア* / –

0

「オフにする」とは、「白に戻って戻ってください」という場合は、状態をglColor3f(1,1,1)に戻すだけです。これを行うことができるopenglにはたくさんの呼び出しがありますので、必要に応じてこれを変更してください。

関連する問題