About RIS

RISについて

RenderManのRISとは、高速で使い易く設計された新しいレンダリングモードであり、プロダクション品質のレンダーを生成することができます。 グローバルイルミネーションは、追加設定なしですぐに使用でき、インタラクティブレンダリングを使うことで、アーティストは手軽に試行錯誤を行なうことができます。 新しいモードでは、従来のRenderManと同じ機能を多数サポートしていますが、まったく新しいシェーディングパイプラインを導入しました。 新機能の理解と同時に、今でも応用されている従来の技術を理解することが、RISを最大限に活用するポイントです。 以下には、RISの動作に関する高レベルな概要を説明しています。

レンダラー

images/ovRenderer.png

レンダラーは、スクリーン上のポイントをサンプリングして、その結果から画像を構築することにより、全体のプロセスを駆動させます。 サンプリングするピクセルを選択し、それらのピクセルに対してサブピクセルサンプルを生成します。 1度に1個のサンプルを取得するピクセルに対して多数のパスを作成して、徐々に精度を上げていく高速インタラクティブの結果をもたらしたり、すぐにピクセル内のすべてのサンプルを処理して、バッチレンダリング向けのより高いスループットをもたらすことができます。

ピクセルの選択方法に関係なく、各スクリーンサンプルは、残りのパイプラインにより処理され、そのシェーディングされた結果がレンダラーへ返されます。 レンダラーは、その返された結果から擬似サンプルおよびピクセルフィルターなどを除去し、画像を構築して、色々なディスプレイドライバへ送ることができます。 ディスプレイドライバは、インタラクティブレンダリング用にスクリーン上にイメージを表示させたり、最終レンダリング用のファイルを保存することができます。 レンダラーは、同時に複数の画像を生成して、色々なジオメトリ系の情報や 特定のタイプのライトのパスを表示させることができます。

上記の処理が進むと、レンダラーの適応サンプラーは、画像を見て、どのピクセルが収束して終了しているのか評価することで時間を節約することができます。 バッチレンダリングに関しては、レンダラーは、画像がどのように収束しているのか確認できるチェックポイント画像を定期的に書き出すこともできます。 レンダラーを中断した場合、そのチェックポイント画像を使用することで、その中断した箇所付近でレンダリングをリカバリーすることができます。 レンダリングが完了すると、XMLファイルを統計情報付きで書き出すことができるので、レンダリングのパフォーマンスを調べるのに役に立ちます。 または、インタラクティブレンダリング(IPR)を使用している場合、シーンや設定にクイックアップデートをすることができ、レンダリングをすぐに再開することができます。

カメラ

images/ovCamera.png

スクリーン上の2Dポジションをサンプリングに選択すると、カメラ投影は、それらの2Dポジションをカメラ空間で3Dレイに変換します。 従来のRenderManでは、2つの異なる投影:透視投影と正投影に対応していました。 透視投影では、ピンぼけ用に被写界深度の設定を、ボケ用に絞りの設定を、 高度なモーションブラー効果用にシャッター時間を指定することができました。 これらの設定は、今でもRISで完全に対応しています。

しかし、完全なレイトレースレンダリングへの移行と共に、投影が可能になりました。 球状、円柱状、トーラス状の投影を使用することで、環境マップとパノラマ画像のレンダリングができます。 ユーザーが作成した投影もプラグインの使用で定義することができます。 例えば、ローリングシャッター、レンズ収差、シアタードームの投影などがそれで可能になった投影の一例です。

インテグレータ

images/ovIntegrator.png

インテグレータは、カメラのレイをその投影から取得して、そのシェーディング結果をレンダラーへ返します。 主要なインテグレータの場合では、そのシェーディング結果とは、レイに沿って外側から見えるサーフェスからのラディアンス(放射輝度)の評価のことです。 この評価は、全体的なライトの通過量の計算に関与します。 内部インテグレータは、サーフェスまたはボリューム内のライトを制御することで、特別なケースで役に立ちます。 私たちは、2つの主要なプロダクション品質のインテグレータを提供していますが、ユーザが独自のインテグレータを代わりに使用できます。

PxrPathTracerは、片方向のパストレーサーを実装しています。 これは、ヒットしたポイントでのマテリアルの情報とライトのサンプルを組み合わせて、直接のライティングとシャドウを評価してから、追加レイを生成して間接のライティングを制御します。 これは、環境ライトや大きな直接光源を使うと上手く動作します。

PxrVCMは、そのPxrPathTracerを双方向のパストレーシングに拡張しています。 カメラからのパスに加えて、光源からのパスをトレースし、両方のパスの接続を試みます。 これは、PxrPathTracerでは収束に時間がかかる複雑な間接パスを解決することができます。

ジオメトリ

images/ovGeometry.png

トレースした各レイは、シーン内のジオメトリに対して交差しているかどうかチェックされます。 REYESの頃からの古いプリミティブすべて(サブディビジョンサーフェス、パッチ、カーブ、ボリューム、二次曲面、ポイントおよびメタボール)に対応しています。

Procedural(プロシージャル)は、瞬時にジオメトリを生成することができます。 また、Procedurals(プロシージャル)を使用すれば、シーンの一部を実際に使用するまでロードを保留することができるので、使用メモリを抑えることができます。 Instancing(インスタンス化)でも、複雑なオブジェクトを処理の軽い方法でコピーすることができるので使用メモリを抑えることができます。

ディスプレイスメントによってサーフェスにディテールを加えたり、モーションによってディテールを再度ぼかすことができます。 カメラモーションやオブジェクトモーション、オブジェクト変形から発生するどの複雑なモーションブラーにも完全に対応しております。

マテリアル

images/ovMaterialsStub.png

ジオメトリの部分毎に、1個のBxdfが割り当てられます。 大まかに説明すると、Bxdfは、最も強くライトを反射または屈折させる方向を計算することで、ジオメトリの部分毎の大体のマテリアルタイプを判断します。 Bxdfは、インテグレータに対して新しいレイに適した方向を与えて、間接イルミネーションのサンプリングも行ないます。

私達は、汎用的でプロダクション向けのLM Materialの他に、 ディズニー仕様のBRDFの実装、および スキン,ガラス,ヘアーに特化したマテリアルを含めています。

パターン

images/ovPatterns.png

マテリアルのBxdfがオブジェクト全体の外観を制御するのに対し、パターンは、サーフェス上のBxdfのパラメータを変更することによりディテールを制御します。 パターンは、Bxdfとお互いに接続することで、複雑なシェーディングネットワークを構築します。

パターンは、テクスチャマップ(アトラスおよびPtextureを含む)から 簡単なエクスプレッションへ、または、OSLのような完全なシェーディング言語へ、ほとんどどのような方法でも出力を生成することができます。

ライト

images/ovLights.png

RISモードのライティングは、ジオメトリックエリアライトシステムにより実行されます。 このシステムは、レイに陰影を付けるために、関係のある直接ライトのサンプルをインテグレータに与え、Bxdfに対して評価を行ないます。 これらのサンプルは、発光サーフェス(任意のジオメトリ)またはシーンを取り囲む環境ライトの2つのタイプのソースのどれかから生成されます。 ソースがなんであれ、システムはそれらの全体にわたって、サンプルの量を自動的に均衡に保ちます。

また、ゴボ、ブロッカ、IESプロファイルなどの高度なライティングの形状エフェクトにも幅広く対応しています。ライトをオブジェクト単位で無効にしたり、スペキュラーハイライトのような特定のタイプのシェーディングに対して無効にしたりすることができます。