若要使硬件渲染在 Viewport 2.0 中产生效果,可以将以下语义在 MShaderInstance API 类中使用。
注意dx11Shader.mll 插件是 MPxShaderOverride。因此,它必须解析要确定的效果并绑定语义。相比之下,尽管 MShaderInstance 更具限制性,其也会自动执行所有操作。
| 语义
|
用法
|
类型
|
组
|
| World |
世界变换 |
矩阵 |
项目 |
| WorldTranspose |
世界变换,已转置 |
矩阵 |
项目 |
| WorldInverse |
世界变换,已反转 |
矩阵 |
项目 |
| WorldInverseTranspose |
世界变换,已反转并已转置 |
矩阵 |
项目 |
|
|
|
|
|
| View |
视图变换 |
矩阵 |
帧 |
| ViewTranspose |
视图变换,已转置 |
矩阵 |
帧 |
| ViewInverse |
视图变换,已反转 |
矩阵 |
帧 |
| ViewInverseTranspose |
视图变换,已反转并已转置 |
矩阵 |
帧 |
|
|
|
|
|
| Projection |
投影变换 |
矩阵 |
帧 |
| ProjectionTranspose |
投影变换,已转置 |
矩阵 |
帧 |
| ProjectionInverse |
投影变换,已反转 |
矩阵 |
帧 |
| ProjectionInverseTranspose |
投影变换,已反转并已转置 |
矩阵 |
帧 |
|
|
|
|
|
| WorldView |
世界视图变换 |
矩阵 |
项目 |
| WorldViewTranspose |
世界视图变换,已转置 |
矩阵 |
项目 |
| WorldViewInverse |
世界视图变换,已反转 |
矩阵 |
项目 |
| WorldViewInverseTranspose |
世界视图变换,已反转并已转置 |
矩阵 |
项目 |
|
|
|
|
|
| ViewProjection |
视图投影变换 |
矩阵 |
帧 |
| ViewProjectionTranspose |
视图投影变换,已转置 |
矩阵 |
帧 |
| ViewProjectionInverse |
视图投影变换,已反转 |
矩阵 |
帧 |
| ViewProjectionInverseTranspose |
视图投影变换,已反转并已转置 |
矩阵 |
帧 |
|
|
|
|
|
| WorldViewProjection |
世界视图投影变换 |
矩阵 |
项目 |
| WorldViewProjectionTranspose |
世界视图投影变换,已转置 |
矩阵 |
项目 |
| WorldViewProjectionInverse |
世界视图投影变换,已反转 |
矩阵 |
项目 |
| WorldViewProjectionInverseTranspose |
世界视图投影变换,已反转并已转置 |
矩阵 |
项目 |
|
|
|
|
|
| ViewDirection |
视图(摄影机)的世界空间方向 |
Float3 |
帧 |
| ViewPosition |
视图(摄影机)的世界空间位置 |
Float3 |
帧 |
| LocalViewer |
是要使用局部视图方向还是要使用非局部视图方向 |
布尔 |
帧 |
|
|
|
|
|
| ViewportPixelSize |
当前视口的尺寸(以像素为单位),即宽度和高度 |
Float2 |
帧 |
|
|
|
|
|
| ClippingPlanes |
活动剪裁平面的系数,每平面一个 float4 |
Float4 数组 |
剪裁 |
| ClippingPlaneCount |
活动剪裁平面的数量 |
整数 |
剪裁 |
|
|
|
|
|
| AlphaTestFunction |
Alpha 测试比较函数 1 = 从不 2 = 小于 3 = 等于 4 = 小于或等于 5 = 大于 6 = 不等于 7 = 大于或等于 8 = 始终
|
整数 |
Alpha 测试 |
| AlphaTestReference |
Alpha 测试引用值,范围为 (0.0, 1.0) |
浮点 |
Alpha 测试 |
|
|
|
|
|