ビューポート 2.0 でサポートされるシェーダのセマンティック

次のセマンティックがビューポート 2.0 上でのシェーダにおいて使用するために、認識およびサポートされています。これらは MShaderManager クラスを使用して MShaderInstance オブジェクトとしてアクセスされる全エフェクトをオーサリングするときに使用できます。また、MFragmentManager を使用して登録されているフラグメントのパラメータに適用されることもあります。

注:dx11Shader.mllglslShader.mll プラグインは、どちらも MPxShaderOverride です。したがって、それぞれエフェクトを解析して手動でセマンティックを特定しバインドする必要があります。一方、フラグメント システムと MShaderInstance はどちらもこの処理を自動で行いますが、制限は多くなります。

ワールド座標系を、それぞれが異なる原点を持つ別のロケールにさらに分割することができます。その後、これらのロケールでノードを指定することができます。これにより、ワールド座標系で定義するよりも高い精度でノードの配置を決定できます。

現在のノードのロケールが前のノードのロケールと異なる場合、FrameLocale グループに属するすべての行列が再適用されます。レンダリング時に、カメラとライトが現在のノードのロケールに変換され、オブジェクト、カメラ、ライトがすべて同じロケール座標空間で表されるようになり、単精度浮動小数点値で格納と表現ができるようになります。

セマンティック 使用法 グループ(Group)
ワールド(World) ワールド トランスフォーム Matrix

Item FL

WorldTranspose ワールド トランスフォーム、位置変更 Matrix

Item FL

WorldInverse ワールド トランスフォーム、反転 Matrix

Item FL

WorldInverseTranspose ワールド トランスフォーム、反転および位置変更 Matrix

Item FL

PreviousWorld 前のワールド トランスフォーム Matrix 項目
NextWorld 次のワールド トランスフォーム Matrix 項目
       
View ビュー トランスフォーム Matrix FrameLocale
ViewTranspose ビュー トランスフォーム、位置変更 Matrix FrameLocale
ViewInverse ビュー トランスフォーム、反転 Matrix FrameLocale
ViewInverseTranspose ビュー トランスフォーム、反転および位置変更 Matrix FrameLocale
       
Projection 投影トランスフォーム Matrix フレーム
ProjectionTranspose 投影トランスフォーム、位置変更 Matrix フレーム
ProjectionInverse 投影トランスフォーム、反転 Matrix フレーム
ProjectionInverseTranspose 投影トランスフォーム、反転および位置変更 Matrix フレーム

ProjectionZSense

投影マトリックスが、変換時にポイントの Z コンポーネントを反転するかどうかを示します。反転する場合は -1.0、しない場合は 1.0。 Float フレーム
       
WorldView ワールドビュー トランスフォーム Matrix

Item FL

WorldViewTranspose ワールドビュー トランスフォーム、位置変更 Matrix

Item FL

WorldViewInverse ワールドビュー トランスフォーム、反転 Matrix

Item FL

WorldViewInverseTranspose ワールドビュー トランスフォーム、反転および位置変更 Matrix

Item FL

WorldLocaleOrigin

オフセットをロケール変換行列に適用し、真の(グローバル)ワールド変換行列を取得します。

このオフセットを適用することで、大きい座標系での正確な位置を表すために倍精度が必要な場合には、精度が不足する場合があります。

Float3

FrameLocale

       
ViewProjection ビュー投影トランスフォーム Matrix FrameLocale
ViewProjectionTranspose ビュー投影トランスフォーム、位置変更 Matrix FrameLocale
ViewProjectionInverse ビュー投影トランスフォーム、反転 Matrix FrameLocale
ViewProjectionInverseTranspose ビュー投影トランスフォーム、反転および位置変更 Matrix FrameLocale
PreviousViewProjection 前のビュー投影トランスフォーム Matrix FrameLocale
       
WorldViewProjection ワールドビュー投影トランスフォーム Matrix

Item FL

WorldViewProjectionTranspose ワールドビュー投影トランスフォーム、位置変更 Matrix

Item FL

WorldViewProjectionInverse ワールドビュー投影トランスフォーム、反転 Matrix

Item FL

WorldViewProjectionInverseTranspose ワールドビュー投影トランスフォーム、反転および位置変更 Matrix

Item FL

次に示すのは、他のセマンティックの MultiDraw バージョンであり、MPxShaderOverride::supportsMultiDraw() が true を返すようにオーバーライドされている場合に、MultiDraw 統合のレンダリングの代替手段として使用されます。

WorldMD ワールド トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldTMD 位置変更するワールド トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldIMD 反転するワールド トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldITMD 反転および位置変更するワールド トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

       
WorldViewMD ワールドビュー トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewTMD 位置変更するワールドビュー トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewIMD 反転するワールドビュー トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewITMD 反転および位置変更するワールドビュー トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

       
WorldViewProjMD ワールドビュー投影トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewProjTMD 位置変更するワールドビュー投影トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewProjIMD 反転するワールドビュー投影トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

WorldViewProjITMD 反転および位置変更するワールドビュー投影トランスフォームの MultiDraw 配列 Matrix[64]

Item FL

       
ViewDirection ビューのワールド空間方向(カメラ) Float3 FrameLocale
ViewPosition ビューのワールド空間位置(カメラ) Float3 FrameLocale
LocalViewer ローカルまたは非ローカルのビュー方向を使用するかどうかを示します Bool フレーム
       
IsOrthoGraphic 投影マトリックスが正投影かどうかを示します Bool フレーム
       
ViewportPixelSize ピクセル単位での現在のビューポートの寸法、幅および高さ Float2 フレーム
       
ClippingPlanes アクティブなクリップ プレーンの係数、プレーンごとに 1 つのfloat4 Float4 Array クリッピング
ClippingPlaneCount アクティブなクリップ プレーンの数 int クリッピング
NearClipPlane カメラのニア クリップ プレーン Float フレーム
       

時間

AnimationTime

Sas.Time.Now

秒単位の時間

注:

MPxShaderOverride を使用して作成されたオーバーライドのシェーディングのみに適用可能です。MPxShaderOverride は、均一パラメータをシェーダするために MUniformParameter の自動バインドをサポートする必要があります。

つまり、MPxShaderOverride は、各均一パラメータについて MUniformParameter を作成し、関連付けられているセマンティックに基づいた各 MUniformParameter の値の取得して、シェーダの均一パラメータにこの値をバインドする必要があります。

これは dx11Shader および glslShader プラグインによって自動的に行われます。

さらに、時間とフレームは、エフェクト ファイルが glslShader プラグインからロードされている場合にのみ使用できます。

Float フレーム

フレーム

FrameNumber

フレーム単位でのフレーム

注:

MPxShaderOverride を使用して作成されたオーバーライドのシェーディングのみに適用可能です。MPxShaderOverride は、均一パラメータをシェーダするために MUniformParameter の自動バインドをサポートする必要があります。

つまり、MPxShaderOverride は、各均一パラメータについて MUniformParameter を作成し、関連付けられているセマンティックに基づいた各 MUniformParameter の値の取得して、シェーダの均一パラメータにこの値をバインドする必要があります。

これは dx11Shader および glslShader プラグインによって自動的に行われます。

int フレーム
       
AlphaTestFunction アルファ テスト比較関数

1 = 常にオフ(Never)

2 = 小さい(Less)

3 = 等しい(Equal)

4 = 以下(Less or Equal)

5 = 大きい(Greater)

6 = 等しくない(Not Equal)

7 = 以上(Greater or Equal)

8 = 常時(Always)

int アルファ テスト
AlphaTestReference アルファ テスト リファレンス値、(0.0, 1.0) の範囲内 Float アルファ テスト
       
RelativeViewportDimensions 相対的なビューポートの寸法を指定します。 Float2 フレーム
       
MayaReceivesShadowOn オブジェクトがシャドウを受けるかどうかを示します Bool 項目
       
EnableXRayComp X 線コンポーネント モードが有効かどうかを示します Bool フレーム
       
MayaViewportModes ビューポート モード

0 = バウンディング ボックスが含まれません

1 = バウンディング ボックスが含まれます

int フレーム
       
FogEnabled ハードウェア フォグが有効かどうかを示します Bool フレーム
FogMode ハードウェア フォグの減衰モード

0 = 一次

1 = 指数関数

2 = 指数関数の二乗

int フレーム
FogStart ビュー空間でのハードウェア フォグの開始 Z 距離 Float フレーム
FogEnd ビュー空間でのハードウェア フォグの終了 Z 距離 Float フレーム
FogDensity ハードウェア フォグの密度 Float フレーム
FogColor ハードウェア フォグのカラー Float4 フレーム
注:FL は、セマンティックがフレーム ロケールにも依存することを示します。