はじめに
1つのGLSL TOPから複数の画像をレンダリングする、「Multiple Render Target」を行う方法について解説します。
取るに足りない感じの記事なので雑に書きます。
GLSL TOP の設定
# of Color Buffers を、用意するレンダーターゲット数分確保します。
GLSLコード
glsl_pixel
layout (location=?) out hoge
で、レンダーターゲットのインデックスと、値を格納する変数名(hoge)を指定することができます。
後は普段のGLSLコードと同様それぞれの変数にピクセル色を格納します。
レンダーターゲットの取り出し
レンダリングした結果(レンダーターゲット)の画像の取得は、
以下のようにRender Select TOP内のTOPパラメータにGLSL TOPをアサインし、
Color Buffer IndexをGLSLコード内で指定したインデックスに変更することで行えます。
終わりに
この方法とFeedback TOPとを組み合わせることで、マルチパスレンダリング(ReactionDiffusionなど)が行えるみたいですが、
まだそこまでの検証ができていないので、でき次第記事をあげようと思います。