質問: GPUベンダー間のOpenGL決定論的レンダリング 私は現在、OpenGLを使って科学画像アプリケーションをプログラミングしています。 私のコード(C ++/OpenGLと単純なGLSL)が別のハードウェア(ATI vs NVidia、さまざまなNVidia世代、さまざまなOSで実行されているとき、OpenGLレンダリング(FBOから取り出されたピクセルの意味で)が完全に決定的であると考えられるかどうかを知りたい)? もっと正確には、ハードウェア(基本的なGLSLとOpenGL 3.0を実行できる)で自分のコードを実行するたびに、**正確な**同じピクセルバッファが必要です... それは可能ですか?私は考慮すべきいくつかのアドバイスはありますか? 可能であれば、ホストOSを変えながらビデオカード(Quadroなど)の特定のブランドがありますか?
回答: OpenGL仕様(バージョン2.1付録A)から: > OpenGLの仕様はピクセル単位ではありません。したがって、異なるGL実装によって生成されるイメージ間の正確な一致を保証するものではありません。しかし、この仕様では、同じ実装で作成された画像に対して完全一致を指定する場合もあります。 > > If you disable all anti-aliasing and texturing, you stand a good chance of getting consistent results across platforms. However, if you need antialiasing or texturing or a 100% pixel-perfect guarantee, use software rendering only: