次のセマンティックがビューポート 2.0 上でのシェーダにおいて使用するために、認識およびサポートされています。これらは MShaderManager クラスを使用して MShaderInstance オブジェクトとしてアクセスされる全エフェクトをオーサリングするときに使用できます。また、MFragmentManager を使用して登録されているフラグメントのパラメータに適用されることもあります。
ワールド座標系を、それぞれが異なる原点を持つ別のロケールにさらに分割することができます。その後、これらのロケールでノードを指定することができます。これにより、ワールド座標系で定義するよりも高い精度でノードの配置を決定できます。
現在のノードのロケールが前のノードのロケールと異なる場合、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 の値の取得して、シェーダの均一パラメータにこの値をバインドする必要があります。 |
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 | フレーム |