Softimage でのハードウェア ディスプレイの制御について

 
 
 

Softimage ディスプレイ パイプラインにアクセスするには、グラフィック シーケンサを使用します。 グラフィック シーケンサを介し、ビューポート コールバックを使用して既存のビューポート モードをカスタマイズしたり、新しいビューポート モードを追加したりすることができます。

Softimage にはいくつかのリアルタイム シェーディング ビューが付属しています。 たとえば、[mental ray]シェーダ プロパティを表示しているビューを、[OpenGL]または[Nvidia]の[Cg]シェーディング言語を表示するビューに切り替えることができます。 Softimage がネイティブに使用しているメカニズムと同じメカニズムを使用して独自にカスタマイズしたハードウェア レンダリング表示を開発し、ユーザ自身の稼動環境で使用されているレンダリング パイプラインの正確な表示を Softimage で実現することができます。 グラフィック シーケンサを使用すると、C++ API を介して OpenGL ビューポートでカスタム レンダ パスを有効にすることができます。この C++ API はビューポート モードとビューポート コールバックを実装し、Softimage に表示されるレンダリング パイプラインを制御します。

カスタム ビューポート コールバック

ビューポート コールバックは、レンダリング ループのどのステージでも挿入できます。 これにより、たとえば開始前フレーム スロット内の p バッファをセットアップし、開始フレーム内のバッファをクリアし、p バッファにシーンを提供するなどの処理が可能になります。

カスタム ビューポート モード

ビューポート モードは、ビューポートへのシーンのレンダリングに関与します。 グラフィック シーケンサを使用すると、ユーザ固有のモードを作成して、OpenGL ビューポート内のシーンの外観を完全に制御できます。 レンダリング エンジンをすでに持っている場合は、そのレンダリング エンジンをビューポート モードに変換できます。Softimage の DirectX 9 リアルタイム ビューイング モードはこの方法を使用して実装されています。

Softimage の Cg サポートの概要

Softimage の Cg のレンダラ サポートは、一連のグラフィック シーケンサ ビューポート コールバックおよび 1 つのビューポート モードとして実装されています。 Cg レンダリングがビューポート セットをリフレッシュして Cg シェーダを表示する必要があるときは常に、ビューポートのオブジェクトにアタッチされた各リアルタイム シェーダのレンダ ツリーに問い合わせをし、シェーダの定義で定義された 「関連レンダラ」を調べ、カプセル化された Cg コード」を読み込み、自動的に Cg プログラムをビルドします。 この章では、グラフィック シーケンサのコールバックおよびパスについて説明します。 シェーダ定義の詳細については、「カスタム シェーダ」を参照してください。

ヒント:

カスタム ディスプレイ ホストを使用して、ビューポート モードやコールバックの代わりにカスタムのレンダリング出力を表示することを検討したい場合もあります。