Render Pass TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Render Pass TOP の追加レンダパス合成機能を示すサムネイル

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – レンダ結果に追加描画を重ねる

Render Pass TOPは、前段の Render TOP の上に追加のレンダパスを重ねて、複数の描画を 1 枚のテクスチャに合成する TouchDesigner の TOPです。入力に Render TOP のカラー・深度バッファを受け取り、別の Camera・Geometry・Lights を追加描画します。Clear to Camera Color / Clear Depth Buffer の設定で、前パスの結果を引き継ぐかクリアするかを選べます。

主な用途 🎯

  • 前段の Render TOP の結果に追加のレンダパスを重ねて合成 (パーティクル・エフェクト・ヘッドアップ表示などをレイヤとして上乗せ)
  • Clear to Camera Color / Clear Depth Buffer のオン・オフでカラーバッファと深度バッファの引き継ぎを制御
  • 異なる Camera・Geometry・Lights を同じ深度バッファ上に追加描画して 1 枚に統合
  • Override Material / Draw Depth Only / Display Overdraw 等の前処理パス・デバッグ機能を Render TOP と同様に利用
  • Render TOP を直接ぶら下げずに renderinput パラメータで別ネットワークのレンダを取り込んで多段パイプラインを構築

データフロー 🔄

入力: 前段の Render TOP / Render Pass TOP (既存のカラー・深度バッファ)

Render Pass TOP (追加の Camera / Geometry / Lights を描画、Clear to Camera Color / Clear Depth Buffer でバッファ引き継ぎを制御)

出力: 2D テクスチャ (合成済み RGBA + 深度バッファ)

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Render Pass Page 📋

入力レンダの指定 🎬

ベースとなる入力レンダと、このパスで追加描画する Camera / Geometry / Lights の指定:

  • Render/RenderPass TOP: renderinput (入力レンダ TOP) — ベースとして使う Render TOP / Render Pass TOP のネットワークパス。入力コネクタに直接つなぐ代わりにこのパラメータで指定でき、別ネットワークのレンダを選びやすくなる
  • Camera: camera (カメラ) — このパスでシーンをのぞき込む対象 Camera COMP のパス
  • Geometry: geometry (描画対象ジオメトリ) — このパスで追加描画する Geometry COMP のパス。geo*geo* ^geo7 のような Pattern Matching でまとめて指定可能
  • Lights: lights (光源) — このパスのシーンを照らす Light COMP のパス。同じく Pattern Matching に対応

バッファのクリア設定 🧹

入力 TOP から受け取ったカラー・深度バッファのクリア設定:

  • Clear to Camera Color: cleartocamcolor (カラーバッファをクリア) — 入力 TOP から渡ってきたカラーバッファの値をクリアして Camera の背景色で塗り直すかどうか。オフにすると前パスの色の上に追加描画が重なる
  • Clear Depth Buffer: cleardepth (深度バッファをクリア) — 入力 TOP から渡ってきた深度バッファをクリアするかどうか。オフにすると前パスの深度を引き継ぐため、既存ジオメトリとの前後関係を保ったまま追加描画できる

Cube Map サイド指定 🧭

Cube Map レンダリング時に描画する正方向・負方向の面選択:

  • Positive Sides: posside (possidex, possidey, possidez) (正方向の面) — Render Mode が Cube Map のとき、+X / +Y / +Z 面をそれぞれ描画するかのトグル
  • Negative Sides: negside (negsidex, negsidey, negsidez) (負方向の面) — Render Mode が Cube Map のとき、-X / -Y / -Z 面をそれぞれ描画するかのトグル

Transparency .transparency 🎛️

透明ジオメトリの正しい奥行き順処理方式を選択するメニューパラメータ (詳細は Render TOP のヘルプページの同名パラメータ参照)

項目 内部名 説明
Sorted Draw with Blending .sortedblending ジオメトリを奥から手前にソートして通常ブレンドで描画
Order Independent Transparency .orderind Depth Peel を使用した順序非依存の透明合成 (Transparency/Peel Layers のパス数で品質を制御)
Alpha-to-Coverage .alphatocoverage MSAA サンプルカバレッジで擬似的に透明度を表現 (植生・髪の毛等の硬輪郭半透明に好適)

Depth Peel / Peel Layers 🧅

Depth Peel と OIT (Order Independent Transparency) のレイヤ数:

  • Depth Peel: depthpeel (深度ピーリング) — 通常レンダ後、ピクセルごとに 1 段深い (隠れていた) ピクセルを別カラーバッファに分離保持する深度ピーリングを有効化
  • Transparency/Peel Layers: transpeellayers (ピールレイヤ数) — Order Independent Transparency / Depth Peel で何パス分のレイヤを生成するかの整数値

Advanced Page 📁

レンダリング有効化 ⚙️

レンダ実行のオン・オフとディザリング:

  • Render: render (レンダリング有効化) — レンダリングを実行するかのトグル (1 = on / 0 = off)
  • Dither: dither (ディザリング) — 8 ビットディスプレイの精度限界で発生するバンディングなどのアーティファクトを軽減するディザリング

出力バッファ最適化 🚀

カラー / 深度バッファ生成による最適化:

  • Color Output Needed: coloroutputneeded (カラー出力の要否) — 色結果が不要な前処理パス向けの最適化。オフにするとオフスクリーンバッファから TOP テクスチャへのコピーを省略 (アンチエイリアス有効時はリゾルブも省略)
  • Draw Depth Only: drawdepthonly (深度のみ描画) — 色を書かず深度バッファのみに描画。深度バッファを使うには Depth TOP と組み合わせる

Allow Blending for Extra Buffers .allowbufblending 🎛️

MAT 設定のブレンドを 2 番目以降の追加バッファにも適用するかを選択するメニューパラメータ。法線や位置などの情報を書く追加バッファでは通常ブレンドは不要

項目 内部名 説明
Off .off 追加バッファのブレンドを無効化 (normal / position 用バッファ向け)
On .on 追加バッファのブレンドを有効化
Use Input Setting .useinput 入力 TOP のブレンド設定を継承

Cull Face .cullface 🎛️

カメラから見た面の向きに応じて描画から除外する面 (カリング) を選択するメニューパラメータ

項目 内部名 説明
Neither .neither 両面を描画 (カリングなし)
Back Faces .backfaces 裏面を描画から除外 (一般的なソリッドモデル向け)
Front Faces .frontfaces 表面を描画から除外 (内面表示用途)
Both Faces .bothfaces 両面を除外 (描画されない、デバッグ用途)

Override Material .overridemat 🎨

全 Geometry に強制適用するマテリアル (前処理パス向け):

  • Override Material: overridemat (強制適用マテリアル) — 指定すると、このパスでレンダリングされる全 Geometry が個別の MAT 設定を無視してこのマテリアルで描画される。法線 / 深度 / ID 出力などの前処理パスで便利

Polygon Depth Offset 🪜

Polygon Depth Offset (Z-Fighting 対策・シャドウバイアス):

  • Polygon Depth Offset: polygonoffset (ポリゴン深度オフセット) — ポリゴンを奥方向にわずかにずらす機能を有効化。重なり合う 2 ポリゴンの Z-Fighting 対策で、シャドウでも重要
  • Offset Factor: polygonoffsetfactor (オフセット係数) — Render TOP のヘルプページの同名パラメータ参照。面の傾きに応じた Z オフセット係数
  • Offset Units: polygonoffsetunits (オフセット量) — Render TOP のヘルプページの同名パラメータ参照。Z 値への一定オフセット量

Display Overdraw 🔬

Display Overdraw (オーバードロー可視化デバッグ):

  • Display Overdraw: overdraw (オーバードロー表示) — シーン内のオーバードローを視覚的に表示するデバッグ機能 (Early Depth-Test の Analyzing Overdraw セクション参照)
  • Overdraw Limit: overdrawlimit (オーバードロー上限) — 出力色をオーバードロー回数で量子化する上限値 (Early Depth-Test 参照)

Crop Page ✂️

Crop 範囲 📐

レンダ画像の各端 (Left / Right / Bottom / Top) のクロップ位置:

  • Crop Left: cropleft (左端位置) — レンダ画像の左端の位置を指定
  • Crop Right: cropright (右端位置) — レンダ画像の右端の位置を指定
  • Crop Bottom: cropbottom (下端位置) — レンダ画像の下端の位置を指定
  • Crop Top: croptop (上端位置) — レンダ画像の上端の位置を指定

Crop Unit .cropleftunit 🎛️

Crop 各端の単位 (各端ごとに cropleftunit / croprightunit / cropbottomunit / croptopunit として個別に指定可能)

項目 内部名 説明
Pixels (P) .pixels ピクセル単位で指定
Fraction (F) .fraction 0-1 の比率で指定 (画像幅・高さに対する割合)
Fraction Aspect (A) .fractionaspect アスペクト比を考慮した 0-1 比率で指定

Samplers Page 📁

Sampler 基本設定 🎚️

GLSL MAT が参照するテクスチャサンプラ (サンプラ名・対象 TOP):

  • Sampler: sampler (サンプラシーケンス) — サンプラ名・対象 TOP・サンプリング設定をまとめたシーケンスパラメータ
  • Name: sampler0name (サンプラ名) — GLSL プログラム側でこの TOP をサンプリングするときの名前 (TOP の次元に合わせて sampler2D / sampler3D として宣言する)
  • TOP: sampler0top (対象 TOP) — 上のサンプラ名から参照される対象 TOP のパス

Extend U / V / W .sampler0extendu 🎛️

テクスチャ座標がサンプラ外に出たときの拡張方式 (U / V / W 各軸共通のメニュー)

項目 内部名 説明
Hold .hold 端のピクセル値で固定 (Clamp to Edge)
Zero .zero 範囲外を 0 として扱う (Border)
Repeat .repeat テクスチャをタイリングして繰り返す
Mirror .mirror ミラー反転してタイリング

Filter .sampler0filter 🎚️

サンプリングフィルタ方式を選択するメニューパラメータ

項目 内部名 説明
Nearest .nearest 最近傍ピクセルサンプリング
Linear .linear バイリニア / トライリニア補間
Mipmap Linear .mipmaplinear ミップマップ線形補間

Anisotropic Filter .sampler0anisotropy 🎛️

異方性フィルタリングのレベルを選択するメニューパラメータ

項目 内部名 説明
Off .off 異方性フィルタ無効
2x .2x 2x 異方性
4x .4x 4x 異方性
8x .8x 8x 異方性
16x .16x 16x 異方性 (最高品質)

Vectors Page 📁

Vector (シェーダ Uniform) .vec 🧮

GLSL MAT に渡す Uniform 名と値のペアシーケンス:

  • Vector: vec (ベクトルシーケンス) — Uniform 名と値ペアのシーケンス (動的に追加可能)
  • Uniform Name: vec0name (Uniform 名) — シェーダ側で宣言した Uniform 変数名
  • Value: vec0value (vec0valuex, vec0valuey, vec0valuez, vec0valuew) (代入値) — Uniform に代入する 4 成分値

実践アイデア 💡

Example 1: パーティクルを重ねる ✨

Render TOP (背景シーン) → Render Pass TOP (パーティクル用 Geometry, Clear Depth Buffer=Off) → Out TOP

メインの 3D シーンを Render TOP で描画した後、Render Pass TOP でパーティクル用の Geometry を同じ深度バッファ上に追加描画する構成。Clear Depth Buffer をオフにして前パスの深度を引き継ぐことで、パーティクルが背景ジオメトリに正しくめり込み・隠れる前後関係を保ったまま重ねられる。

  1. Camera COMP / Light COMP / 背景用 Geometry COMP を用意し、Render TOP でメインシーンを描画
  2. Render Pass TOP を作成し、入力に Render TOP を接続 (または Render/RenderPass TOP パラメータで指定)
  3. Render Pass TOP の Geometry にパーティクル用 Geometry COMP を指定し、同じ Camera を共有
  4. Clear to Camera ColorClear Depth Buffer をオフにして前パスの色・深度を引き継ぎ、Out TOP に出力

Example 2: UI を最前面に重ねる 🖥️

Render TOP (3D シーン) → Render Pass TOP (UI Geometry + 正射影 Camera, Clear Depth Buffer=On) → Out TOP

3D シーンの上に、別の Camera で見た UI / HUD レイヤを常に最前面で重ねたいときの構成。Render Pass TOP の Clear Depth Buffer をオンにして深度バッファだけリセットすると、3D シーンの色 (カラーバッファ) はそのまま残しつつ、UI を奥行きに邪魔されず最前面に描けます。

  1. 3D シーンを Render TOP で描画
  2. Render Pass TOP を作成して入力に Render TOP を接続
  3. UI 用の正射影 Camera COMP と UI Geometry COMP を Camera / Geometry に指定
  4. Clear to Camera Color はオフ (背景色を残す)、Clear Depth Buffer はオンにして UI を最前面に描画

Example 3: 深度・法線パスを生成 🧮

Render TOP (カラーパス) → Render Pass TOP (Override Material + Draw Depth Only) → Depth TOP / ポストプロセス

メインのカラーパスとは別に、Render Pass TOP で Override Material に法線出力用の GLSL MAT を割り当てたり Draw Depth Only をオンにすることで、深度や法線などの情報パスを生成できます。SSAO やモーションブラーなどのポストプロセスに渡す G-Buffer 系の情報を、メインの見た目を変えずに別パスで用意するのに向いています。

  1. メインのカラー用 Render TOP を用意
  2. Render Pass TOP を作成し、同じ Camera / Geometry を共有
  3. Override Material に法線出力用の GLSL MAT を割り当て、または Draw Depth Only をオン
  4. 深度結果は Depth TOP で取り出し、後段のポストプロセスに渡す

関連オペレータ 🔗

類似機能OP 🔍

  • Render TOP — 3D シーンを最初に描画する中核レンダラ。Render Pass TOP はその結果に追加パスを重ねる
  • Render Select TOP — 複数カメラ・複数バッファ・Depth Peel 結果から特定の出力を取り出す
  • Render Simple TOP — Camera / Geometry / Light を内包した簡易レンダリング

組み合わせ推奨OP 🔄

  • Camera COMP — このパスの視点 (位置・FOV・近遠平面・背景色) を提供
  • Light COMP — 追加描画するシーンの光源を提供
  • Geometry COMP — このパスで重ねる SOP / MAT を内包する 3D オブジェクト
  • GLSL MAT — Override Material や Vectors / Samplers と連携するカスタムシェーダ
  • Depth TOP — Render Pass TOP の深度バッファをカラー化して取り出す

前処理・後処理TOP 🎯


Info CHOP情報 📊

Render Pass TOP は Info CHOP による詳細情報取得に対応しています。

TOP固有情報 🖼️

  • resx: TOP の出力解像度 X (ピクセル単位)
  • resy: TOP の出力解像度 Y (ピクセル単位)
  • aspectx: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)
  • gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

TOP 固有情報 🖼️

  • resx: TOP の出力解像度 X (ピクセル単位)
  • resy: TOP の出力解像度 Y (ピクセル単位)
  • aspectx: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)
  • gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: 追加パスの描画だけが表示され、前パスの背景が消える
✅ Solution:

  • Clear to Camera Color がオンになっていないか確認。前パスの色を残したい場合はオフにする
  • 入力に前段の Render TOP が正しく接続されているか、または Render/RenderPass TOP パラメータが正しいパスを指しているか確認
  • 前パスと同じ解像度・アスペクトになっているか (Common Page の Output Resolution が前パスと食い違うと合成が崩れる) を確認

❌ Problem: 追加描画したジオメトリの前後関係 (深度) がおかしい
✅ Solution:

  • Clear Depth Buffer をオフにして前パスの深度バッファを引き継ぐ (既存ジオメトリとの遮蔽を保つ場合)
  • 逆に追加レイヤを常に最前面に描きたい場合は Clear Depth Buffer をオンにして深度をリセット
  • 前パスと同じ Camera を共有しているか、視点が食い違っていないか確認

❌ Problem: レンダ結果が真っ黒で何も映らない
✅ Solution:

  • Camera / Lights / Geometry がそれぞれ有効な COMP を指しているか確認 (Pattern Matching の場合は対象が解決されているかも確認)
  • Advanced ページの Render がオン (= 1) になっているか確認
  • Light COMP が必要な照度・距離・色を持っているか、Camera COMP の near/far が Geometry を含んでいるか確認

❌ Problem: 透明オブジェクトの前後関係がおかしい
✅ Solution:

  • Transparencyorderind (Order Independent Transparency) に切替えて順序非依存合成を有効化
  • orderind 使用時は Transparency/Peel Layers の値を上げて品質を確保 (重い場合は 4-6 程度から調整)
  • 前段の Render TOP 側の Transparency 設定と整合しているか確認

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました