2017-03-20 8 views
0

私はカラーサーフェスを表示するプログラムを持っています。それから私の論文の焦点ですが、ここでは重要ではない)いくつかの方法で、私は色の表面を密接に再現します。これは私に色の表面の2つのコピーを与え、私は2つの出力の間に '差異'を見つけて、それらがお互いにどれほど類似しているかを見たいと思う。だからゆるやかに何かをレンダリングしたい(openGL)2つのレンダーパスの差を表示してお互いの近似度を比較する方法

abs(render_1 - render_2) 

両方のカラーサーフェスの複雑な構造のため、レンダリング前に差異を直接計算することはできません。これを行うためにGLSLシェーダーを使用できる方法はありますか?私は最初に1つのサーフェスをレンダリングすることができることを望んでいました。そして、2番目のレンダリングパスでレンダー場所に既に存在する色を照会するシェーダを使用しますが、これは可能ではないと思います。どのようにこれを行うにはどのような考え?

答えて

0

FBOを使用して各バージョンを独自のテクスチャにレンダリングし、3回目のパスでレンダリングされたピクチャの値の違いを評価することができます(シェーダを使用)。

+0

ああ、良いアイデア。ありがとう、私はそれを行くだろう! – Slugger

1

可能です。最初のサーフェスをフレームバッファにレンダリングし、次にsecordレンダリングパスでこのテクスチャのピクセル値をクエリできます。色は4dベクトルなので、テクスチャからフェッチされた1番目のピクセルとシェーダで計算された2番目のピクセルの距離を計算できます。違いが見つかると、SNRを計算して視覚化することができます。

関連する問題