レンダリング

Kanzi アプリケーションで 3D コンテンツのレンダリングを定義するには、レンダーパスを使用します。

たとえば、レンダーパスで定義できるのは、

レンダーパスプレハブ内で、特定のレンダリング結果を達成するためにレンダーパスの階層を作成できます。

Library > Rendering > Render Pass Prefabs では、各トップレベルのレンダーパスがレンダーパスプレハブのルートです。

Kanzi は、Library 内のレンダーパスプレハブに表示される順に、各レンダーパスプレハブのレンダーパスを上から下に実行します。各レンダーパスはその設定を適用し、その子をレンダリングします。レンダーパスを使用すること を参照してください。

たとえば、Kanzi Studio に付属するレンダーパスプリセットの1つである Default レンダーパスは、最初に不透明ノードをレンダリングし、次に透明ノードをレンダリングする基本的な一連のレンダーパスを作成します。Default レンダーパスを使用する を参照してください。

../../_images/rendering.svg

レンダーパス (Render Passes)

これらのレンダーパスは Kanzi で利用可能です。

Blit レンダーパス

Blit レンダーパスは、特定のマテリアルを使用して、1 つ以上の単一テクスチャまたはキューブマップテクスチャを画面にブリットします。

コンポジションターゲットへのコンテンツのレンダリング、複数のレンダーパスまたはテクスチャのレンダリング、および ポストプロセッシングエフェクトの作成 を参照してください。

../../_images/blit-render-pass.svg

Clear レンダーパス

Clear レンダーパスは、現在のレンダーコンテキストのバッファの一部またはすべてをクリアします。

Kanzi がカラー、デプス、およびステンシルバッファをクリアする値を設定できます。

../../_images/clear-render-pass.svg

Composition Target レンダーパス

Composition Target レンダーパスは、自身とその子孫のレンダーパスを 1 つ以上のコンポジションターゲットにレンダリングします。

コンポジションターゲットへのコンテンツのレンダリング を参照してください。

../../_images/composition-target-render-pass.svg

Cubemap レンダーパス

Cubemap レンダーパスは、自身とその子レンダーパスを、Cubemap Render Target Texture や Cubemap レンダーパスの Result Texture などのアクティブなコンポジションターゲットにレンダリングします。

キューブマップ反射の作成 を参照してください。

../../_images/cubemap-render-pass.svg../../_images/preview-cubemap-reflections.gif

Draw Objects レンダーパス

Draw Objects レンダーパスを使用すると、特定のライトノードを使用して特定のノードのリストをレンダリングするように Camera ノードを設定できます。

Draw Objects レンダーパスは:

  • デフォルトでは、デフォルトの Camera ノードを使用して、Scene ノード内のすべてのノード、または最も近い祖先の Node List レンダーパスから渡されたノードをレンダリングします。レンダーパスのためのカメラ設定 および レンダリングのためのノードの収集 を参照してください。

  • デフォルトでは、最も近い祖先の Gather Lights レンダーパスが提供するライトノードを使用してノードをレンダリングします。レンダリングでのライトの使用 を参照してください。

  • 最も近い祖先の Pipeline State レンダーパスで設定したレンダリングパラメータを使用します。

  • フラスタムカリングを制御することができます。錐台カリングの制御 を参照してください。

../../_images/draw-objects-render-pass.svg../../_images/draw-objects-render-pass-example.svg

Draw Objects With Material レンダーパス

Draw Objects With Material レンダーパスは Draw Objects レンダーパスと同様に機能しますが、コンテンツのレンダリングに使用するマテリアルを設定できます。レンダリングのためのマテリアル設定 を参照してください。

../../_images/draw-objects-with-material-render-pass.svg../../_images/draw-objects-with-material-render-example.svg

Gather Lights レンダーパス

Gather Lights レンダーパスを使用すると、シーン内の 3D ノードを照らすためのライトノードをノードのリストから収集できます。

レンダリングでのライトの使用 を参照してください。

../../_images/gather-lights-render-pass1.svg

Group レンダーパス

Group レンダーパスを使用するとレンダーパスをまとめることができるため、Viewport 2D ノードで単一のレンダーパスプレハブを参照できます。

最上位のレンダーパスが他のすべてのレンダーパスを子として持つことができる場合、Group レンダーパスは必要ありません。

../../_images/group-render-pass.svg

Material Setup レンダーパス

Material Setup レンダーパスを使用するとマテリアルのプロパティを設定でき、そのマテリアルを使用する以降のすべてのレンダリングで、このレンダーパスで設定したプロパティ値が使用されます。

レンダリングのためのマテリアル設定 を参照してください。

../../_images/material-setup-render-pass.svg../../_images/preview-infinity-mirror-completed.png

Node List レンダーパス

Node List レンダーパスを使用すると、他のレンダーパスでレンダリングするノードのリストをフィルタリングして保持できます。

レンダリングのためのノードの収集 を参照してください。

../../_images/node-list-render-pass1.svg

Pipeline State レンダーパス

Pipeline State レンダーパスを使用すると、その子レンダーパスに対して、深度テストとステンシルテスト、透明度、カリングを設定できます。このレンダーパスは、子孫に制御を渡す前にレンダリングステートを設定します。Pipeline State レンダーパスの子孫レンダーパスが実行された後、Kanzi はレンダリングステートを復元します。カルモードの設定、3Dコンテンツにステンシルを適用する、および デカールのレンダリング を参照してください。

../../_images/pipeline-state-render-pass.svg

レンダーパスプリセット

Compose and Blit Pass

Compose and Blit Pass には、特定のマテリアルを使用して Composition Target レンダーパスまたはテクスチャをスクリーンにブリットできるようにするレンダーパス構造が含まれています。

コンポジションターゲットへのコンテンツのレンダリング を参照してください。

../../_images/compose-and-blit-pass.svg

Default レンダーパス

Default レンダーパスには、最初に不透明ノードをレンダリングし、次に透明ノードをレンダリングする基本的な一連のレンダーパスが含まれています。

レンダーパスツリーの出発点として、Default レンダーパスを使用します。Default レンダーパスを使用する を参照してください。

../../_images/default-render-pass.svg

Render to Texture Pass

Render to Texture Pass は、テクスチャにレンダリングするために必要なレンダーパスとテクスチャを作成します。

テクスチャへのレンダリング (Rendering to texture) を参照してください。

../../_images/render-to-texture-pass.svg

Image-Based Lighting Filter Pass

Image-Based Lighting Filter Pass には、リアルタイムのイメージベースのライティング用に動的な Environment Ambient Texture および Environment Reflection Texture キューブマップテクスチャを作成できるレンダーパスが含まれています。動的なイメージベースのライティング用にキューブマップをレンダリングする を参照してください。

../../_images/render-passes-image-based-lighting.svg../../_images/rendering-cubemaps-dynamic-ibl.gif

関連項目

レンダリングのベストプラクティス

レンダーパスを使用すること

Kanzi Studio レンダーパスプリセットを使用する

レンダリングでのライトの使用

レンダリングのためのノードの収集

複数のレンダーパスまたはテクスチャのレンダリング

コンポジションターゲットへのコンテンツのレンダリング

レンダリングのためのマテリアル設定

ポストプロセッシングエフェクトの作成

キューブマップ反射の作成

オブジェクトソース (Object Sources) を使用する

フィルタ

カリングの設定

チュートリアル: ブルームエフェクトを作成する

チュートリアル: 3Dコンテンツにステンシルを適用する

チュートリアル: リフレクションを作成する

Kanzi グラフィックス