レンダリング エンジンは、Softimage のレンダリング プロセスを実現するメカニズムです。 カスタム(サード パーティの)レンダリング エンジンは、組み込みのレンダリング エンジン、mental ray、ハードウェア レンダリングと同じフレームワーク内で動作します。 これはつまり、mental ray やハードウェア レンダリングと同様、これらのカスタム レンダリング エンジンをパス レンダリング、領域レンダリング、シェーダ ボールで使用できることを意味します。
各プロセスは単一フレームでのみ機能しますが、インターレースやモーション ブラーを実行する場合は、1 つまたは複数のサブフレームの出力を生成することもできます。 すべてのプロセスは、共通の Process コールバックを介して実行されます。
Softimage には、各レンダリング エンジンが利用できる共通のオプション セットがあり、すべてのオプションを実装することが推奨されています。 これらのオプションは、rendercontext 属性として渡されます。
レンダリング エンジン プラグインは、以下の 3 つのコールバックを実行する必要があります。
Init コールバックは、レンダリング エンジンがサポートするプロセス タイプ、レンダ ラオプションに使用するカスタム プロパティ、出力できるイメージ ファイル形式を Softimage に指定します。
Abort コールバックは、Render Manager がレンダを中断するために使用する非同期のコールバックです。このコールバックが何も処理を行わず、それ自体ではシーンエレメントを参照しないことが大変重要です。このコールバックの唯一の目的は、実行中の Process コールバックに、可能な限り迅速にレンダを中断すべきことを伝えることです。
レンダリング エンジンが必要に応じて実装できるレンダリング エンジン固有のコールバックは、他に 3 つあります。
Quality コールバックの目的は 2 つです。まず、既存のレンダ オプションに一定の品質レベル プリセットを設定すること、次に、同じ品質レベルの測定基準を返すことです。現在、品質レベルは、「ドラフト」から「最高」までレベルをすばやく調整するためにレンダ領域が使用しています。
Query コールバックは、QueryType 属性で指定された siRenderQueryType 列挙値に基づいた情報を求めるようにレンダリング エンジンをクエリするために Render Manager によって使用されます。
Cleanup コールバックは、前の Process コールバックによって作成されたすべてのデータをクリーンアップするようにレンダリング エンジンに指定するために Render Manager が使用します。2 つのコールバックは常に交互に呼び出され、同時に呼び出されることはありません。