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 プログラムをビルドします。この章では、グラフィックスシーケンサのコールバックおよびパスについて説明します。シェーダ定義の詳細については、「カスタムシェーダ」を参照してください。

ヒント:

カスタム レンダ出力を表示するには、ビューポート モードとビューポート コールバックの代わりに カスタム ディスプレイ ホスト を使用する方法もあります。