OpenGLフレームバッファオブジェクトを使用して、サードパーティのプログラマーが望む目的でOpenGLプログラムで使用できるテクスチャを作成する汎用ユーティリティ関数を作成したいと思います。
引数の賭けについて、関数は次のようになります。
void createSpecialTexture(GLuint textureID)
{
MyOpenGLState state;
saveOpenGLState(state);
setStateToDefault();
doMyDrawing();
restoreOpenGLState(state);
}
が正しく動作し、サードパーティの開発者が行う可能性のある他のことに影響を与えないようにするには、、、およびどのように見えるMyOpenGLState
必要 がありますか?saveOpenGLState(state)
setStateToDefault()
restoreOpenGLState(state)
doMyDrawing
doMyDrawing
私を悩ませてきた問題は、OpenGLには多くの暗黙の状態があり、すべてをキャプチャしているのかどうかわからないことです。
更新:私の主な関心事はOpenGL ES 2.0ですが、もっと一般的に質問したいと思いました