シェーダ定義ウィザードの主な目的は、ハードウェアシェーダ(C++リアルタイムシェーダ)をSoftimageに定義および実装するのに必要なコードを生成することです。シェーダ定義ウィザードでは基本的なコード構造が使用されており、即座にシェーダを統合できます。
シェーダ定義ウィザードでは、mental rayシェーダの基本定義コードを生成することもできます。ただし、mental rayコールバックコードは生成されません。コールバックの生成にはmental rayシェーダウィザードが適しています。
シェーダ定義ウィザードの表示
-
を選択します。
-
をクリックします。
-
を選択してウィザードを開きます。
プラグイン
|
生成するプラグインファイルの名前。プラグインにはシェーダ定義の生成に必要なコードが含まれます。この名前はプラグインオブジェクト名を設定するときや、デフォルトのハードウェアシェーダ.vcprojファイルを指定するときにも使用されます。
|
|
シェーダプラグインを作成するユーザの名前。
|
|
シェーダ定義プラグインの作成に使用する言語。サポートされている言語は、Python、C++、JScript、VBScriptです。 この言語はシェーダの実装コードには影響しません。実装コードは常にC++で生成されます。
|
|
すべてのファイルが生成されるディレクトリの名前。デフォルトは現在のユーザディレクトリです。
|
定義
ここではシェーダ定義とレンダラ情報を指定します。便利なプリセットボタンを使用して、ハードウェアシェーダコードとmental rayシェーダコードを生成するウィザードを簡単に設定できます。
ハードウェアシェーダプリセット
をクリックすると、レンダラ登録とハードウェアシェーダコールバックの生成に必要な情報を使用してウィザードを設定できます。ハードウェアシェーダに必須の設定は次のとおりです。
重要:上記の情報が指定されていない場合や正しく設定されていない場合は、生成されるハードウェアシェーダは正しく動作しません。
注:コードパスとしてのプラグイン名はオプションであり、任意の名前に置き換えることができます。
mental rayシェーダプリセット
をクリックすると、mental rayシェーダのレンダラ登録の生成に必要な情報を使用してウィザードを設定できます。これらの設定は次のとおりです。
-
Mental Ray
-
{LIBS}/xsibase.{EXT}
注:xsibaseは必須ではなく、他の任意のmental rayシェーダに置き換えることができます。
シェーダ
|
Softimageでシェーダを個別に識別するためのシェーダ名。
|
|
シェーダのメジャーバージョン番号。
|
|
シェーダのマイナーバージョン番号。
|
|
シェーダファミリのタイプ。
|
カテゴリ
|
シェーダカテゴリの名前。このカテゴリはPreset Managerでシェーダがリストされる場所で識別のために使用されます。
|
|
Render Treeでシェーダを識別するために使用されるUI名。
|
|
この名前はユーザ定義の属性を識別するために使用されます。
|
|
ユーザ定義のシェーダ属性の属性値。
|
レンダラ
|
シェーダに関連付けられているレンダラの名前。使用できるレンダラは、OpenGL、DirectX、Mental Rayです。ハードウェアシェーダは通常 OpenGL または DirectX で設定されます。
|
|
シェーダとレンダラをマップするために使用されるユーザ定義の名前。
|
|
このレンダラのシェーダライブラリの名前。ハードウェアシェーダの場合、この名前は生成するシェーダライブラリファイル名に使用されます。mental rayシェーダの場合、この名前は既存のmental rayライブラリを参照します。
|
オプション
|
レンダラのユーザ定義のオプション名。
|
|
指定されたレンダラオプションの値。
|
|
新しいレンダラオプションをレンダラオプショングリッドに追加します。
|
|
選択したオプションをレンダラオプショングリッドから削除します。
|
パラメータ
このタブでは新しいシェーダ定義の入力パラメータと出力パラメータを設定します。
Input Parameters(入力パラメータ)
|
パラメータの名前。
|
|
パラメータのデータタイプ。
|
|
パラメータの説明。Render Treeでツールチップとして使用されます。
|
|
パラメータをアニメーション可能として設定します。
|
|
パラメータをインスペクト可能として設定します。
|
|
パラメータをテクスチャ設定可能として設定します。
|
|
パラメータのデフォルト値。デフォルト値は以下のパラメータタイプでのみ使用可能です。
-
siShaderDataTypeBoolean
-
siShaderDataTypeInteger
-
siShaderDataTypeScalar
|
|
パラメータの最小値と最大値。
|
|
パラメータのUIスライダでの最小値と最大値。
|
|
このパラメータのユーザ定義の属性。この新しい属性は組み込み属性名リストから選択することもできます。
|
|
指定されたパラメータ属性に関連付けられる値。
|
|
新しいパラメータを上記の値でパラメータグリッドに追加します。
|
|
選択したパラメータをパラメータグリッドから削除します。
|
Output Parameters(出力パラメータ)
|
パラメータの名前。
|
|
パラメータのデータタイプ。
|
|
パラメータの説明。ツールチップとして使用されます。
|
|
パラメータをメイン出力パラメータとして識別します。
|
|
指定されたパラメータ属性に関連付けられる値。
|
|
新しいパラメータを上記の値でパラメータグリッドに追加します。
|
|
選択したパラメータをパラメータグリッドから削除します。
|
コードの生成
をクリックすると、ウィザードの設定に基づいてコードが生成されます。新しいシェーダは自動的にRender Treeに表示されます。ハードウェア シェーダを Render Tree で使用可能にするには、まずコンパイルする必要があります。
ウィザードではシェーダ定義とレンダラのプラグイン登録コードが生成されます。以下のファイルが生成されます。
ハードウェアシェーダの場合は、シェーダ定義プラグインコードにスクリプト言語を選択すると、ハードウェアシェーダC++ファイル用に別個の.vcprojファイルが生成されます。しかし、プラグイン言語としてC++を選択すると、ハードウェアシェーダC++ファイルはプラグイン.vcprojファイルに追加され、ハードウェアシェーダ用の別個の.vcprojは生成されません。
.vcprojの出力設定は以下の標準プラグインの場所に設定されます。
<user folder>\Application\Plugins\bin\<platform folder>
たとえば、次のように記述します。
C:\Users\fred\Autodesk\Softimage_2011\Application\Plugins\bin\nt-x86-64
シェーダ定義用に生成されるコールバックは次のとおりです。
ハードウェアシェーダ用に生成されるコールバックは次のとおりです。
-
<シンボル名>_<メジャーバージョン>_<マイナーバージョン>_<レンダラ名>_Init
-
<シンボル名>_<メジャーバージョン>_<マイナーバージョン>_<レンダラ名>_Execute
-
<シンボル名>_<メジャーバージョン>_<マイナーバージョン>_<レンダラ名>_Term
-
<シンボル名>_<メジャーバージョン>_<マイナーバージョン>_<レンダラ名>_GetAttributeList
いくつかの例を挙げます。
注:mental rayシェーダの場合はシェーダコールバックコードは生成されません。