
概要 📖 – ブルーム(発光・ハイライト滲み)エフェクト
Bloom TOPは、入力画像のハイライト部分をマルチレベルブラーで滲ませ、発光(グレア)効果として元画像に合成する TOPです。Min / Max Bloom Radius で滲みの帯域、Bloom Threshold / S-Curve でハイライト抽出形状、Bloom Intensity で最終強度を制御でき、Output パラメータで前処理結果やブルーム単独の出力も切り替えられます。
主な用途 🎯
- HDR レンダリングのハイライト部分に対する発光(グレア)表現
- ネオン・LED・パーティクル光源など明部の滲み合成
- 映像素材の柔らかなドリーミー感の付与(写真の Diffusion フィルタ相当)
- Threshold で輝度上位のみを抽出して局所的に発光させる選択的ブルーム
- Min / Max Bloom Radius によるブルーム半径の帯域制御(広域グロー〜タイトなハイライト滲み)
データフロー 🔄
入力: HDR / LDR 画像
↓
Pre-Black Level / Pre-Gamma / Pre-Brightness で前処理
↓
Min〜Max Bloom Radius 間で複数 mip レベルのブラー累積
↓
Bloom Threshold / S-Curve / Fill で形状調整
↓
Bloom Intensity で強度乗算
↓
出力: Input + Bloom 合成画像
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Bloom Page 📋
前処理パラメータ 🎚️
Pre-Black Level .preblacklevel ⚫
Level TOP の Black Level 相当の前処理。指定輝度未満のピクセルを黒に潰すことで、ハイライト部のみをブルーム計算に通せるようになる
Pre-Gamma .pregamma 🌗
Pre-Black Level 適用後にピクセル値へ与えるガンマ補正。非ゼロ値全体を RGB=(1,1,1) 寄りに引き上げ、ブルームに通す輝度分布を圧縮する
Pre-Brightness .prebrightness 💡
Pre-Gamma 適用後のピクセル値に対する乗算。前処理段の最終ゲインで、ブルームに入る前の輝度全体を底上げ・減衰できる
Bloom 半径関連パラメータ 📏
Min Bloom Radius .minbloomradius 🔽
サンプリングを開始する最小ブラーレベルを 0〜1 で指定。1024×1024 画像が 10 段のブラーレベルを持つとき 0.2 ならレベル 2(1/4 縮小画像)から開始。値が大きいほど細かなブルームが弱まる
Max Bloom Radius .maxbloomradius 🔼
サンプリングする最大ブラーレベルを 0〜1 で指定。0.8 で 10 段中レベル 8 まで使用。値が大きいほど広域のグローが乗る
Bloom 形状関連パラメータ ✨
Bloom Threshold .bloomthreshold 🪞
ブラーレベル合成後の出力に対し、暗部を切り捨てる閾値。正の値でハイライトのみを残す方向に、負の値で画像全体の平均成分を多く加える方向に作用する
Bloom S-Curve .bloomscurve 📈
ブルームのロールオフ(明部から暗部への減衰カーブ)を S 字状に締めるパラメータ。値を上げるほどホットスポットに対しタイトに集中したブルーム形状になる
Bloom Fill .bloomfill 🫧
ブルームの広がりを増す(フィルする)パラメータ。同じ Bloom Radius でも Fill を上げるとより太く塗りつぶされた発光になる
Bloom Intensity .bloomintensity 🔆
累積されたブルーム値に対する最終乗算ゲイン。全体の発光強度をここで一括スケーリングする
Output .output 📤
Bloom パイプラインの中間段階を含めた出力切替
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
前処理・ブルーム計算を行わず元の入力画像をそのまま出力(プレビュー比較用) |
| Preprocess | .preprocess |
Pre-Black Level / Pre-Gamma / Pre-Brightness 適用後の前処理結果を出力。ブルーム計算に渡る前の輝度を可視化 |
| Bloom | .bloom |
ブルーム成分のみを出力し、アルファチャンネルは 1。ブルーム単体を別途合成したい場合に使用 |
| Bloom with Alpha | .bloomalpha |
ブルーム成分のみを出力し、アルファは RGB の最大値で算出。Composite TOP で Over 合成する際に便利 |
| Input + Bloom | .inputbloom |
元画像にブルームを加算した最終合成結果を出力(デフォルト) |
Input Image .inputimage0 🖼️
最終ブルーム値に加算される元入力画像の乗算ゲイン:
- Input Image: 最終ブルーム値に加算される元入力画像値の乗算ゲイン。1.0 で元画像そのまま + ブルーム、0.0 でブルームのみ出力
Common Page 🔧
Output Resolution .outputresolution 🖼️
出力解像度の決定方式
| 項目 | 内部名 | 説明 |
|---|---|---|
| Use Input | .useinput |
入力 TOP の解像度をそのまま継承 |
| Eighth | .eighth |
入力解像度の 1/8 |
| Quarter | .quarter |
入力解像度の 1/4 |
| Half | .half |
入力解像度の 1/2 |
| 2X | .2x |
入力解像度の 2 倍 |
| 4X | .4x |
入力解像度の 4 倍 |
| 8X | .8x |
入力解像度の 8 倍 |
| Fit Resolution | .fit |
指定解像度に縦横比を保持して収める |
| Limit Resolution | .limit |
指定解像度を上限としてクランプ |
| Custom Resolution | .custom |
Resolution パラメータで任意指定 |
実践アイデア 💡
Example 1: HDR レンダリングへのグレア追加 ✨
Render TOP (HDR) → Bloom TOP → Tone Map TOP → 最終出力
3D シーンの Render TOP を 16-bit float で受け、Bloom TOP でハイライト部分のみを滲ませてから Tone Map TOP で LDR に落とす定番フロー。ネオン・スペキュラハイライトが自然に光る。
- Render TOP の
Pixel Formatを16-bit float (RGBA)以上に設定し HDR で渡す - Bloom TOP の
Bloom Thresholdを 1.0〜2.0 程度に上げ、輝度 1 以上のハイライトのみ抽出 Min Bloom Radius= 0.0 /Max Bloom Radius= 0.7 程度で広めの帯域にBloom Intensityでグレア強度を最終調整し、後段の Tone Map TOP で LDR に圧縮
Example 2: ネオン・パーティクル光源の発光演出 💡
Particle System / Geometry COMP → Render TOP → Bloom TOP → Composite TOP
パーティクル光源やネオンライト風の単色幾何を Render TOP に通し、Bloom TOP で発光感を付与する用途。タイトな滲みでネオンサイン、広めの滲みで夜景の光球表現が作れる。
- 光源マテリアルの輝度をシーン平均より明確に高く設定(例: emissive 強度を 2〜10 倍)
- Bloom TOP の
Bloom Fillを上げて発光部の太さを確保 Bloom S-Curveで芯と滲みの境界を引き締め、シャープなネオン感を出すOutputをBloom with Alphaにして、Composite TOP で Over 合成する選択肢も検討
Example 3: 映像素材へのドリーミー Diffusion フィルタ 🌫️
Movie File In TOP → Level TOP → Bloom TOP (低強度・広半径) → 出力
映像素材全体に柔らかな滲みを乗せ、写真の Diffusion フィルタ(プロミスト系)のような夢見心地のルックを作る。Threshold を下げて中輝度まで巻き込むのがポイント。
- Movie File In TOP の前段に Level TOP でガンマ・コントラストを軽く調整
- Bloom TOP の
Bloom Thresholdを 0 もしくは負値にして中輝度成分まで滲ませる Max Bloom Radiusを 0.8〜1.0 に上げて広域ソフト感を出すBloom Intensityを 0.2〜0.5 と低めにし、過度な白飛びを避ける
Example 4: 前処理プレビューによる Threshold 調整ワークフロー 🔍
Render TOP → Bloom TOP (Output=Preprocess) → 確認 → Output=Input+Bloom
Output パラメータを一時的に Preprocess に切替えて Pre-Black Level / Pre-Gamma / Pre-Brightness の効きを可視化し、どの輝度域がブルームに入るかを目視で詰める手法。
- Bloom TOP の
OutputをPreprocessに変更 Pre-Black Levelを上げて暗部を黒く落とし、ブルーム対象を絞る- ハイライトのみが残る状態になったら
OutputをInput + Bloomに戻す - 必要なら
Output=Bloomで発光成分単体も確認してパラメータを最終調整
関連オペレータ 🔗
類似機能OP 🔍
- Luma Blur TOP — 輝度ベースの選択的ブラー(軽量な擬似ブルーム)
- Blur TOP — 汎用ガウシアンブラー(手動ブルーム合成の構成要素)
組み合わせ推奨OP 🔄
- Level TOP — Bloom の前段でブラックレベル・ガンマを整える
- Tone Map TOP — HDR ブルーム後段の LDR トーンマッピング
- Composite TOP — Output=Bloom with Alpha と Over 合成
- Render TOP — HDR レンダリング出力をブルーム入力にする
- Feedback TOP — ブルーム結果をフィードバックして残光・トレイル表現
前処理・後処理TOP 🎯
- 前処理: Render TOP、Movie File In TOP、Level TOP、HSV Adjust TOP
- 後処理: Tone Map TOP、Composite TOP、Level TOP、Feedback TOP
Info CHOP情報 📊
Bloom TOP は Info CHOP による詳細情報取得に対応しています。
TOP固有情報 🖼️
resx: TOP の出力解像度 X (ピクセル単位)resy: TOP の出力解像度 Y (ピクセル単位)aspectx: アスペクト比 Xaspecty: アスペクト比 Ydepth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ブルームが弱くほとんど効果が見えない
✅ Solution:
Bloom Intensityを 2〜5 程度まで上げて発光ゲインを引き上げる- 入力が LDR (8-bit) の場合は
Bloom Thresholdを 0 や負値まで下げ、中輝度成分も巻き込む Max Bloom RadiusがMin Bloom Radius以下になっていないか確認(強制的に Max = Min に丸められる)- 前段で Level TOP によりブラックレベルを下げすぎていないか確認
❌ Problem: 画面全体が真っ白に飛んでしまう
✅ Solution:
Bloom Intensityを 0.5〜1.0 程度に下げるPre-Brightnessが 1 を大きく超えていないか確認Bloom Thresholdを正の値に上げてハイライトのみを抽出するOutputを一時的にBloomに切替え、ブルーム成分単体の暴れ具合を確認
❌ Problem: ハイライト周辺にブロック状(ステップ状)のアーティファクトが出る
✅ Solution:
- Common Page の
Pixel Formatを16-bit float (RGBA)以上に上げて精度を確保 Min Bloom Radiusを 0 に近づけて低レベルブラーから連続的に積む- 前段の入力解像度が極端に低い場合は元画像の解像度を上げる
❌ Problem: ブルームが太く・甘くなりすぎる
✅ Solution:
Bloom Fillを下げて広がりを抑制するBloom S-Curveを上げてホットスポット付近に集中させるMax Bloom Radiusを下げて広域ブラーレベルを使わない構成にする
参考資料 📚
その他 🔗
- TouchDesigner Wiki — Category:TOPs
- TouchDesigner Wiki — Pixel Formats 解説
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Bloom TOP
- TouchDesigner公式ドキュメント – Luma Level TOP(前処理仕様の元)
- TouchDesigner公式ドキュメント – Tone Map TOP(後段の HDR→LDR 圧縮)

