
概要 📖 – 画像を点群に変換する
Raster SOPは、入力 TOP の画像データを左から右・上から下にピクセル単位で走査し、画素ごとに 1 つのポイントを出力する SOPです。出力された点群は Laser CHOP と組み合わせることでレーザーディスプレイやオシロスコープへの画像出力に応用でき、輪郭のみを取り出す Trace SOP とは異なり、画像の全ピクセルを点として出力するのが特徴です。
主な用途 🎯
- TOP の画像をピクセル単位で点群ジオメトリに変換し、画像 1 枚から幅 × 高さの数だけポイントを 1 ノードで生成
- レーザーディスプレイへの画像出力に応用 (後段 Laser CHOP で X-Y-blanking 信号に変換しガルバノ式レーザープロジェクタへ送信)
- オシロスコープへのベクトル画像表示に応用 (Laser CHOP + Audio Device Out CHOP 経由でステレオ音声 X-Y 信号化、オシロスコープの X-Y モードに入力)
- Direction で走査方向 (水平・垂直) を切替、表示装置のスキャン方向や画像の向きに合わせた点群並びを生成
- Download Type で GPU 転送タイミングを制御、Next frame (Fast) を選ぶことでレンダリングを止めずに高速処理 (1 フレーム遅延と引き換え)
- 画像処理結果を点群として後段 SOP パイプラインへ橋渡し、Transform SOP や Particle SOP と組み合わせて画像ベースの 3D ジオメトリ加工に展開
- 輪郭のみ抽出する Trace SOP に対し、全画素を点として出力する役割で、塗りつぶし型のラスタ画像表現に対応 (Trace SOP はベクトル輪郭、本 SOP はピクセル点群)
データフロー 🔄
入力: TOP (画像データ)
↓
Direction で走査方向 (Horizontal / Vertical) を選択
↓
画像の各ピクセルからジオメトリポイントを 1 つずつ生成
↓
Download Type で GPU 転送タイミング (Immediate / Next frame) を指定
↓
出力: 点群ジオメトリ SOP (Laser CHOP / Geometry COMP 等へ接続)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Raster Page 📷
入力 TOP の指定 🎯
TOP .top 🎯
– TOP (入力 TOP のパス) — ラスタライズ対象とする TOP オペレータのパスを指定 (例: moviefilein1、../top_source)
– 指定された TOP の各ピクセルから 1 つのジオメトリポイントが生成される
– 出力ポイント数は入力 TOP の解像度 (幅 × 高さ) と等しい — 1920 × 1080 の TOP を指定すると約 200 万ポイントになるため、Resolution TOP で解像度を下げてから渡すのが基本
走査方向 .direction 🧭
ピクセルを走査する進行方向の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Horizontal | .horizontal |
水平方向に走査 (各行を左から右へ読み取り、行を上から下へ進める) |
| Vertical | .vertical |
垂直方向に走査 (各列を上から下へ読み取り、列を左から右へ進める) |
※ 注意: 画像の構図 (横長か縦長か) や表示装置のスキャン方向によって最適な走査方向が変わります。レーザー / オシロスコープ出力では、表示側の掃引方向に合わせると描画品質が安定します。
GPU 転送タイミング .downloadtype ⏱️
GPU から CPU へピクセルデータを転送するタイミングの選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Immediate (Slow) | .immediate |
即時転送 — 同じフレーム内に結果ポイントが取得できるが、レンダリングが転送完了まで待機 (ストール) するため低速になる |
| Next frame (Fast) | .nextframe |
次フレーム転送 — レンダリングをストールさせず高速に処理するが、結果ポイントの取得が 1 フレーム遅延 |
※ 注意: Next frame (Fast) は高解像度・高フレームレートでパフォーマンスを優先する場面に有効ですが、ポイント出力が 1 フレーム遅延します。入力 TOP の動きと出力ポイントの厳密な同期が必要な場合は Immediate (Slow) を選択します。
実践アイデア 💡
Example 1: 画像輪郭をレーザー描画 🔴
Movie File In TOP → Monochrome TOP → Edge TOP → Threshold TOP → Raster SOP (Direction=Horizontal) → Laser CHOP → Audio Device Out CHOP
Edge TOP と Threshold TOP で輪郭線のみを残した画像を Raster SOP でピクセル点群に変換し、Laser CHOP 経由でガルバノ式レーザープロジェクタの X-Y-blanking 信号として送信する基本パターン。輪郭抽出を挟むことで描画ポイント数が劇的に減り、レーザーミラーの追従が現実的な速度に収まる。
- Movie File In TOP / Video Device In TOP で表示したい画像を読み込み
- Monochrome TOP で 1 チャンネルに統一し、Edge TOP / Threshold TOP で輪郭線のみを残す (全画素描画はレーザー負荷が高すぎるため)
- Raster SOP の
TOPパラメータに前段 TOP のパス (例:threshold1) を指定 DirectionをHorizontalに設定し、左→右・上→下の走査順を選択Download TypeをNext frame (Fast)に設定して描画ストールを回避- 後段に Laser CHOP を接続し、Audio Device Out CHOP 経由で X / Y / blanking 信号をレーザープロジェクタへ送信
Example 2: オシロスコープで画像表示 📺
Movie File In TOP → Monochrome TOP → Raster SOP (Direction=Vertical) → Laser CHOP → Audio Device Out CHOP
Raster SOP のピクセル点群を Laser CHOP でステレオ音声 X-Y 信号に変換し、オシロスコープの X-Y モードで画像をベクトルディスプレイとして表示する例。音響系装置と映像作品の連携、レトロな波形表現、ライブビジュアルでの DIY ベクタースクリーン的演出に使われる。
- Movie File In TOP で表示したい画像 / 短いループ動画を読み込み (低解像度の方がオシロスコープ追従が容易)
- Monochrome TOP で輝度を 1 チャンネルに統一し、走査ノイズの源となる色情報を除外
- Raster SOP の
TOPに Monochrome TOP のパスを指定、DirectionをVerticalに設定 - 後段に Laser CHOP を接続して X / Y / Z (blanking) チャンネルを生成
- Audio Device Out CHOP に接続し、L = X / R = Y の 2 チャンネルステレオ出力としてオーディオインターフェイスからオシロスコープへ送信
- オシロスコープを X-Y モードに切り替えると、画像がベクトル波形として描画される
Example 3: 画像から点群を 3D 加工 ✨
Movie File In TOP → Resolution TOP → Raster SOP → Transform SOP → Geometry COMP → Render TOP
Raster SOP で TOP 画像をピクセル単位の点群ジオメトリに変換し、後段の Transform SOP / Noise SOP で 3D 空間内に配置・押し出し・変形させて画像由来のポイントクラウドアートを構築する例。Resolution TOP で解像度を絞ることでポイント数とクックコストを現実的な範囲に抑える。
- Movie File In TOP で対象画像を読み込み、Resolution TOP で 256 × 256 など扱いやすい解像度に縮小 (ポイント数はピクセル数と等しいため)
- Raster SOP の
TOPに Resolution TOP のパスを指定 Download TypeをNext frame (Fast)に設定してレンダリングを止めず処理- 後段に Transform SOP を接続し、点群を 3D 空間内の任意位置にスケール / 回転 / 移動
- 必要なら Noise SOP / Point SOP で点の Z 座標を画像輝度に応じて変調 (ヒートマップ的押し出し効果)
- Geometry COMP に接続して Camera / Light / Render TOP で 3D 表示
関連オペレータ 🔗
類似機能OP 🔍
- Trace SOP — 画像から塗りつぶし点群ではなく輪郭シェイプのみを抽出する SOP (Raster は全画素、Trace は輪郭のみ)
- Particle SOP — ポイント群をパーティクルとして扱い物理シミュレーションを掛けるための SOP (Raster で生成した点群の後段で利用)
組み合わせ推奨OP 🔄
- Laser CHOP — Raster の出力点群を X / Y / blanking 信号に変換し、レーザーディスプレイ / オシロスコープへ送信する後段 CHOP
- Transform SOP — 生成された点群に 3D 空間内のスケール / 回転 / 移動を適用
- Convert SOP — 点群を別ジオメトリタイプ (ポリゴン / NURBS 等) に変換して下流処理と互換させる
- Sort SOP — Raster が出力する点群の順序を別軸 (X / Y / Z / ランダム) で並べ替え
前処理・後処理SOP 🎯
Info CHOP情報 📊
Raster SOP は Info CHOP による詳細情報取得に対応しています。
ジオメトリ統計 📐
num_points: この SOP に含まれるポイント数num_prims: この SOP に含まれるプリミティブ数num_particles: この SOP に含まれるパーティクル数
GPU 転送タイミング 🎮
last_vbo_update_time: 別スレッドで SOP の CPU データを GPU 上のジオメトリデータに更新するのにかかった時間 (フレーム時間外)last_meta_vbo_update_time: 別スレッドで metaball や NURBS のようなメタサーフェスジオメトリデータを GPU に更新するのにかかった時間 (フレーム時間外)
汎用オペレータ情報 🔄
total_cooks: プロセス開始以降にこのオペレータがクックされた合計回数cook_time: 直近のクック所要時間 (ミリ秒)cook_frame: このオペレータが最後にクックされたフレーム番号warnings: このオペレータの警告数errors: このオペレータのエラー数
クック統計 ⏱️
total_cooks:total_cooks— プロセス開始以降にこのオペレータがクックされた合計回数cook_time:cook_time— 直近のクック所要時間 (ミリ秒、Immediate モード時は GPU 待ち時間も含む)cook_frame:cook_frame— このオペレータが最後にクックされたフレーム番号cooked_this_frame:cooked_this_frame— 当該フレームでクックされた場合は1
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 出力ポイント数が多すぎてフレームレートが落ちる
✅ Solution:
- 前段に Resolution TOP を入れて入力画像の解像度を下げる (例: 1920 × 1080 → 256 × 256 で約 32 倍の軽量化)
- Threshold TOP / Edge TOP で表示すべき画素のみを残し、輝度の低い領域を黒で塗りつぶしてから渡す
Download TypeをNext frame (Fast)に切替えて GPU → CPU 転送によるレンダリングストールを回避
❌ Problem: レーザーやオシロスコープで画像が歪む / 崩れる
✅ Solution:
DirectionをHorizontal↔Verticalで切替え、表示装置の掃引方向と一致させる- Laser CHOP 側で blanking 信号 (Z 軸) を有効化し、描画外区間のミラー移動を消す
- Monochrome TOP / Edge TOP で輝度を 1 チャンネル化・輪郭のみ抽出してミラー追従負荷を下げる
❌ Problem: 結果が 1 フレーム遅延して入力画像と同期しない
✅ Solution:
Download TypeをImmediate (Slow)に切替えて同フレーム内で結果取得- リアルタイム同期が必須な場合は前段 Resolution TOP で解像度を下げて Immediate モードのコストを最小化
- 後段 Laser CHOP / Audio Device Out CHOP のバッファサイズも確認し、出力経路側の遅延要因を除外
❌ Problem: 出力点群が期待通りに 3D 空間に配置されない
✅ Solution:
- Raster SOP の出力は基本的に 2D 画像平面 (X-Y) 上に等間隔配置されるため、3D 配置には後段の Transform SOP でスケール / 回転 / 移動を適用
- Geometry COMP 側の Transform でも全体の位置 / 回転 / スケールを調整可能
- SOP to DAT で点群の実座標値を確認しデバッグ (画像座標と 3D 座標の対応関係を検証)
参考資料 📚
その他 🔗
- TouchDesigner Wiki — SOP 概要
- TouchDesigner Wiki — Category:SOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Raster SOP
- TouchDesigner公式ドキュメント – Trace SOP
- TouchDesigner公式ドキュメント – Laser CHOP
- TouchDesigner公式ドキュメント – Convert SOP

