Viewport 2.0 支持的着色器语义

 
 
 

可识别以下语义,并支持将其用于 Viewport 2.0 中的着色器。可使用这些语义创作完整效果,然后使用 MShaderManager 类作为 MShaderInstance 对象来访问。还可将其应用于使用 MFragmentManager 注册的碎片的参数。

注意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 测试
       
RelativeViewportDimensions 指定相对视口尺寸 Float2 帧