ビューポート モードおよびビューポート コールバックは Softimage の C++ API を使用します。 使用開始の前に、C++ プラグインのビルドの説明に従って環境を必ずセットアップしておいてください。 グラフィック シーケンサ プラグインを開発する際には、これらの設定以外に xsi_graphicsequencer.h および xsi_graphicsequencercontext.h ヘッダ ファイルも必要です。
ビューポート モードおよびビューポート コールバックは C++ に自己インストール プラグインとして実装されるため、XSILoadPlugin を実装して PluginRegistrar::RegisterDisplayCallback 関数(ビューポート コールバックを登録する)と PluginRegistrar::RegisterDisplayPass 関数(ビューポート モードを登録する)を呼び出して CGraphicSequencer オブジェクトのインスタンスを作成する必要があります。CGraphicSequencer オブジェクトによって、OpenGL ビューポートでカスタム レンダリング パスを有効にするサービスを利用できます。
Init callback 内に、GraphicSequencerContext を介して CGraphicSequencer オブジェクトを指すポインタがあります。これは、以下の目的で使用できます。
CGraphicSequencer::RegisterViewportCallback を使用して新規ビューポート コールバックを登録する
CGraphicSequencer::RegisterViewportMode を使用して新規ビューポート モードを登録する
これらの登録関数では、定義するビューポート コールバックのタイプと、使用するビューモードを宣言できます。
Execute callback コールバックはとても役に立つ関数です。この関数では、対応するビューポート コールバックが呼び出されるときに実行する処理を実装します。
グラフィック シーケンサ プラグインに実装する必要があるコールバックの詳細については、「グラフィック シーケンサ コールバック」リファレンスを参照してください。
ディスプレイ コールバック(MyClearScreenBuffer)とディスプレイ パス(MyCustomPass)を示す「SampleDisplayCallback」サンプルを参照することもできます。このサンプルは、Softimage SDK のインストール フォルダにある examples フォルダで使用できます。