The Shader Library(シェーダ ライブラリ)

 
 
 

Render Tree に表示される各ノードは、シェーダ ファミリごとに色分けされています。シェーダ ファミリは、Render Tree 内でのシェーダの使用方法を示しています。シェーダ ファミリごとに、接続の制限も異なります。詳細については、「シェーダ フェミリとノード カラー」を参照してください。

頻繁に使用するシェーダは Preset Managerからすばやく簡単にアクセスできます。シェーダはカテゴリに分類されているため、エフェクトの種類や実行するタスクを識別できます。

また、ブラウザ、Explorer ビュー、Render Tree ビューの[ノード]メニューからシェーダにアクセスすることもできます。

ライブラリにあるすべてのシェーダのプリセット ファイル(以前のバージョンのシーンとの互換性のためにインストールされているものを含む)は、<install directory>/DSPresets/Shaders フォルダの下の複数のサブディレクトリにあります。

シェーダのパラメータは、そのプロパティ エディタで編集できます(「シェーダのデタッチ」を参照)。各シェーダのパラメータの詳細は、シェーダのプロパティ エディタで[?]アイコンをクリックするか、Shader Reference(シェーダ リファレンス) でシェーダ名を探します。

サーフェイス シェーダ

最も重要なシェーダ タイプの 1 つです。シーンでのジオメトリック オブジェクトの基本カラーを定義します。また、反射レイ、屈折レイ、透明レイを投射するのもサーフェイス シェーダです。サーフェイス シェーダとその使用法の詳細については、「Working with Surface Shaders(サーフェイス シェーダを操作する)」を参照してください。

 
 

Render Tree のサーフェイス シェーダ ノードのカラー。

テクスチャ シェーダ

3D テクスチャ シェーダがオブジェクトに 3 次元のテクスチャを実装するように、2D テクスチャ シェーダはオブジェクトに 2 次元のテクスチャを適用します。テクスチャ シェーダは、オブジェクトに定義済みのテクスチャがある場合に、サーフェイス シェーダにより使用されます。

テクスチャ シェーダには、バンプ マップの作成に必要なシェーダも含まれます。テクスチャの概念については、「テクスチャの内容」を参照してください。

 
 

Render Tree のテクスチャ シェーダ ノードのカラー。

リアルタイム シェーダ

リアルタイム シェーダは、Render Tree を使用してマルチパスのリアルタイム レンダリング パイプラインを作成、コントロールします。これらのシェーダを一緒に接続し、基本的なサーフェイス シェーディングから複雑なテクスチャ ブレンディングや反射まで、洗練されたレンダリング エフェクトを幅広く作り出せます。詳細については、「Realtime Shaders(リアルタイム シェーダ)」を参照してください。

 
 

Render Tree のリアルタイム シェーダ ノードのカラー。

ライト シェーダ

ライト シェーダは、光源の特性を実装します。たとえばスポットライト シェーダは、照明の方向を利用して放出される光の量を調整します。サーフェイス シェーダが組み込み機能を使用してライトを評価するときは、必ずライト シェーダが使用されます。

シャドウが使用されている場合、通常はライト シェーダがシャドウ レイを投射し、光源と光の照射ポイントの間にある暗いオブジェクトを検出します。

ライブラリにあるレンズ シェーダについては、「Light(ライト)」(「Shader Reference(シェーダ リファレンス)」)を参照してください。一般的なライトの詳細については、「ライト」(「直接照明」)を参照してください。

 
 

Render Tree のライト シェーダ ノードのカラー。

レンズ シェーダ

レンズ シェーダは、カメラから 1 次レイを投射する際に使用されます。レンズシェーダを使用してレイのオリジンと方向を修正すると、標準ピンホール カメラ以外のカメラを実装できます。また、1 次レイの結果が修正され、レンズ フレアやカートゥーンなどのエフェクトを実装できます。

ライブラリにあるレンズ シェーダについては、「Lens(レンズ)」(「Shader Reference(シェーダ リファレンス)」)を参照してください。カメラの操作の詳細については、「カメラ」(「カメラとモーション ブラー」)を参照してください。

 
 

Render Tree のレンズ シェーダ ノードのカラー。

ボリューム シェーダ

ボリューム シェーダは、レイがオブジェクト(ローカル ボリューム シェーダ)やシーン全体(グローバル ボリューム シェーダ)を通過するときのレイを修正します。ボリューム シェーダでは雲、煙、霧などのエフェクトをシミュレートできます。

ライブラリにあるボリューム シェーダについては、「Volume(ボリューム)」(「Shader Reference(シェーダ リファレンス)」)を参照してください。ボリューム シェ-ダの適用方法の詳細については、「Volume Effects(ボリューム エフェクト)」を参照してください。

BBC「Everyman」: Aldis Animation によるアニメーション

 

Render Tree のボリューム シェーダ ノードのカラー。

アウトプット シェーダ

アウトプット シェーダは、イメージがファイルに書き出される前に、レンダリング後のイメージを操作します。アウトプット シェーダでは、フィルタリング、ブラー、他のファイルとの合成、異なるファイル形式への書き込みなどの操作ができます。ライブラリにあるアウトプット シェーダについては、「Output(出力)」(「Shader Reference(シェーダ リファレンス)」)を参照してください。

 
 

Render Tree のアウトプット シェーダ ノードのカラー。

処理シェーダ

処理カテゴリのシェーダは、Render Tree 内にあるデータの拡張や操作に使用するツールです。処理シェーダの中には単独で使えるものもありますが、その多くは他のシェーダとともに使用することで強力なカスタマイズ エフェクトを作成できます。各ツール シェーダには以下のような特殊な機能があります。

  • [カラー チャンネル](Color Channels): カラーの赤、緑、青、およびアルファ成分を操作します。「Picker(ピッカー)」を参照してください。

  • [変換](Conversion): ある値を別の値に変更します。スカラ型ノードをカラー ノードに変更する場合は特に便利です。これらのツールを使用しながら、スカラ、カラー、ベクトル、ブール、整数のノードを別の出力タイプに変換できます。「>[変換](Conversion)」を参照してください。

  • [イメージ処理](Image Processing): カラーとスカラ値を定義、操作、微調整します。「Color Balance(カラー バランス)」を参照してください。

  • [マップ ルックアップ](Map Lookup): ウェイト マップ、テクスチャ マップ、バーテックス マップを抽出します。抽出したマップはシェーダのブレンドやミックスに利用できるほか、他のシェーダ パラメータを処理するためにシェーダを共有する際にも利用できます。「Boolean Map Lookup(ブール マップ ルックアップ)」を参照してください。

  • [計算](Math): 補間、乗算、加算、指数関数などの数学関数を実行します。「Color Average(カラー平均)」を参照してください。

  • [ミキサ](Mixers): 1 つまたは複数の式を使用し、数種類のカラーやテクスチャをミックスして 1 つのカラー出力にします。「>[ミキサ](Mixers)」を参照してください。

  • [共有](Share): 複数のシェーダが共有する 1 つの値を調整します。「Boolean Passthrough (ブール通過)」を参照してください。

  • [スイッチ](Switch): 位置、画角、または他の指定された値に基づいて、オブジェクトのカラーを変更します。「Front-Back Switch(フロントバック スイッチ)」を参照してください。

 

大部分のツール シェーダはテクスチャ シェーダとして実装されています。

環境シェーダ

可視レイがオブジェクトと交わらずにシーンを完全に去る場合や、レイの深度が最大値に達する場合は、サーフェイス シェーダの代わりに環境シェーダを使用します。たとえば、環境シェーダでは、シーンを包み込む架空の無限球体にマップされたテクスチャが計算されます。また、環境シェーダは HDR(High Dynamic Range)イメージを用いたシーンのライティングにも利用できます。「環境マップを使用してシーンに照明を当てる」(「イメージベースライティング」)を参照してください。

ライブラリにある環境シェーダについては、「Environment(環境)」(「Shader Reference(シェーダ リファレンス)」)を参照してください。

一般的な環境シェーダの詳細については、「環境マップシェーダを使用する」(「テクスチャリング」)を参照してください。

 

Render Tree の環境シェーダ ノードのカラー。

ライトマップ シェーダ

ライトマップ シェーダは、オブジェクト サーフェイスをサンプリングして、その結果を後から使用できるようにファイルに格納します。たとえば、ライトマップ シェーダを使用すると、複雑なマテリアルを 1 つのテクスチャ ファイルに焼き付けることができます。ライトマップを高速サブサーフェイス スキャッタリング シェーダと高速スキン シェーダで使用して、拡散ライトに関する情報を格納することもできます。ライブラリにあるライトマップについては、「Lightmap(ライトマップ)」を参照してください。

 

Render Tree のライトマップ シェーダ ノードのカラー。

マテリアル フェノメナ

マテリアル フェノメナは、事前定義されたシェーダの組み合わせです。通常、1 つのシェーダ ノードとしてパッケージングされる複雑なレンダリング エフェクトを作成することを目的としています。マテリアル フェノメナをオブジェクトのマテリアルに接続すると、マテリアルが直接他のシェーダを受け付けなくなります。ただし、現象のエフェクトは、現象のパラメータを他のシェーダを使用して制御することにより拡張できます。

マテリアル フェノメナの例としては、高速サブサーフェイス スキャッタリング シェーダと高速スキン シェーダが挙げられます。これらのシェーダの詳細については、「Fast Subsurface Scattering Effects(高速サブサーフェイス スキャッタリング エフェクト)」(「ライティングとシェーディング」)を参照してください。

 
 

Render Tree のマテリアル フェノメナ ノードのカラー。

ジオメトリ シェーダ

ジオメトリ シェーダはレンダリングが開始される前に計算されます。これにより、ジオメトリ シェーダ経由でプロシージャル ジオメトリをシーンに読み込めるようになります。ジオメトリ シェーダは、たとえば鳥の羽や木の葉の作成に使用できます。詳細については、「Geometry Shaders(ジオメトリ シェーダ)」を参照してください。

 

Render Tree のジオメトリ シェーダ ノードのカラー。