このコールバックはリアルタイム シェーダをレンダリングするためのメイン エントリ ポイントです。
シェーダがその属性リストとともに GetAttributeList に応答すると、Softimage はこれらの属性値をパッケージングし、各属性のサイズと形式を説明する配列と一緒に Execute 関数に渡します。 メッシュまたはポイント クラウドで属性が見つからない、あるいは定義されていない場合は、Softimage は null ポインタを渡します。
注 | このコールバックは必須です。 |
bool <shader_name>_<renderer_name>_Execute ( CRef in_pCtx, void **io_pInstanceData ) { ... } |
<shader_name> は、このシェーダに対して登録されたクラス名です。この名前に含まれるスペースはアンダースコアに置き換えられます。 シェーダ定義プラグインの場合は、この名前は PluginRegistrar::RegisterShader の呼び出しで指定されます。 パーサを使用して作成されたシェーダ定義の場合は、この名前は ClassName 属性を介して ParseInfo コールバックで設定されます。
<renderer_name> は、レンダリング エンジンの名前です。 たとえば、クラス名が Sunset である OpenGL シェーダは Sunset_OpenGL_Execute を使用するのに対し、.cgfx ファイルから解析されたバージョンは Sunset_CgFx_Execute を使用します。
パラメータ | タイプ | 詳細 |
---|---|---|
in_pCtx | CRef& | HardwareShaderContext オブジェクトへのリファレンス。 |
io_pInstanceData | void | シェーダ インスタンス ユーザ データへのポインタ |