LoginSignup
5
3

More than 5 years have passed since last update.

[#TouchDesigner] マルチパスGLSL

Posted at

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3132373430322f33313137333465332d343535372d363932342d373965382d3536616338333738346661622e706e67.png

はじめに

1つのGLSL TOPから複数の画像をレンダリングする、「Multiple Render Target」を行う方法について解説します。
取るに足りない感じの記事なので雑に書きます。
2017-11-18_183050.png

GLSL TOP の設定

# of Color Buffers を、用意するレンダーターゲット数分確保します。
2017-11-18_182713.png

GLSLコード

2017-11-18_182549.png

glsl_pixel
layout (location=?) out hoge

で、レンダーターゲットのインデックスと、値を格納する変数名(hoge)を指定することができます。
後は普段のGLSLコードと同様それぞれの変数にピクセル色を格納します。

レンダーターゲットの取り出し

レンダリングした結果(レンダーターゲット)の画像の取得は、
以下のようにRender Select TOP内のTOPパラメータにGLSL TOPをアサインし、
Color Buffer IndexをGLSLコード内で指定したインデックスに変更することで行えます。

2017-11-18_182636.png

2017-11-18_182652.png

終わりに

この方法とFeedback TOPとを組み合わせることで、マルチパスレンダリング(ReactionDiffusionなど)が行えるみたいですが、
まだそこまでの検証ができていないので、でき次第記事をあげようと思います。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3