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