2011-12-11 10 views
3

私はかなり長い間OpenGLを使用してきましたが、私は常にその状態管理システムで混乱します。特に私が苦労している問題は、特定の状態が格納されているオブジェクトやターゲットを正確に理解することです。OpenGLの状態の関連性を理解する

例1:テクスチャパラメータを割り当てます。これらのパラメータは、テクスチャ自体またはテクスチャユニットに保存されていますか?異なるテクスチャユニットでテクスチャをバインドすると、それらのパラメータ設定が移動しますか?

例2:glVertexAttribPointer - それはアクティブシェーダプログラム、バインドされたデータバッファ、ESコンテキスト自体とまったく関係がありますか?別の頂点バッファオブジェクトをバインドすると、glVertexAttribPointerをもう一度呼び出す必要がありますか?

私は上記の質問に対する回答を求めていません - 私はこれらの回答がどこかに書き留められているかどうかを尋ねていますので、何か新しいものを使うたびに試行錯誤を繰り返す必要はありません。

答えて

3

これらの回答はOpenGL ES 2.0 specification(PDFリンク)に記載されています。すべての関数は、どの状態に影響するかを示します。最後には、どの状態がオブジェクトの一部であるか、グローバルコンテキストの一部であるかを指定する大規模な一連のテーブルがあります。