语义是DX与hlsl沟通的桥梁,而这座桥不仅有我们自己定义的语义,而且还有系统自带的语义,这些系统值语义都是为系统的值定义的语义 - -。所有的系统值语义都以SV_为前缀
系统值语义 | 描述 | 类型 |
---|---|---|
SV_ClipDistance [N] | 剪辑的距离数据。每个SV_ClipDistance值被假设为是一个FLOAT32签署的平面的距离。原始安装程序只调用光栅化的像素插值的平面距离(S)> = 0。可以同时执行多个剪辑平面,,声明多个组件(s)中的一个或多个顶点作为SV_ClipDistance元素。合并后的剪辑和宰杀距离值是在D3D#_CLIP_OR_CULL_DISTANCE_COUNT组件在最D3D#_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT寄存器。 可写的顶点和几何着色器。 clipplanes属性作品,如SV_ClipDistance上的所有硬件功能水平 9_x和更高的工作。欲了解更多信息,请参阅用户剪辑平面功能9级硬件。 | 浮动 |
SV_CullDistance [N] | 卡尔距离数据。当组分(s)的顶点元素()给出了这样的标签,这些值是每个假定是FLOAT32的符号距离的平面。原语将被完全丢弃,如果在原始的所有的顶点的平面的距离(s)为<0。可以同时使用多个扑杀平面,,声明多个组件(s)中的一个或多个顶点作为SV_CullDistance元素。合并后的剪辑和宰杀距离值是在D3D#_CLIP_OR_CULL_DISTANCE_COUNT组件在最D3D#_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT寄存器。 可写在顶点和几何着色器。 | 浮动 |
SV_Coverage | 输出覆盖面面具 | BOOL |
SV_Depth | 深度缓冲区中的数据。从像素着色器写入。 | 浮动 |
SV_DispatchThreadID | 定义的全局线程调度呼叫,每个维度的组内的偏移量。可作为计算着色器的输入。(只读) | 为uint3 |
SV_DomainLocation | 定义的船体正在评估当前域的点的位置上。域着色器的输入。(只读) | FLOAT2 | 3 |
SV_GroupID | 定义组偏移内调度呼叫,调度呼叫每一个维度。可作为计算着色器的输入。(只读) | 为uint3 |
SV_GroupIndex | 一组给定给定线程内提供了一个扁平的指数。可作为计算着色器的输入。(只读) | UINT |
SV_GroupThreadID | 定义的线程组,每个组的尺寸内的偏移量。可作为计算着色器的输入。(只读) | 为uint3 |
SV_GSInstanceID | 定义几何着色器的实例。几何着色器的输入。(只读) | UINT |
SV_InsideTessFactor | 定义一个补丁表面镶嵌量内。在船体着色器来写,并且可在域着色器阅读。 | 浮动持股量[2] |
SV_IsFrontFace | 对于线和点,IsFrontFace具有真正的价值。唯一的例外是三角形(线框模式),当中载IsFrontFace实模式的三角形光栅化同样的方式绘制的线条。可作为输入到像素着色器。(只读) | BOOL |
SV_OutputControlPointID | 定义控制点的索引ID的船体着色器的主入口点的调用操作。可输入的域着色器。(只读) | UINT |
SV_Position | 当SV_Position声明为输入到像素着色器,它可以有两种插值的方式规定:linearNoPerspective或linearNoPerspectiveCentroid,后者会导致重心抓拍XYZW值时提供多重采样抗锯齿。当使用中的像素着色器,SV_Position描述的像素的位置。在顶点着色器,几何着色器的读/写。像素着色器可以使用它作为只读得到的像素中心有0.5偏移。 | 为float4 |
SV_RenderTargetArrayIndex | 渲染目标数组的索引。应用几何着色器输出,并表示数组的某一部分,将被吸引到原始的像素着色器的渲染目标。SV_RenderTargetArrayIndex是唯一有效的,如果渲染目标是一个数组资源。这种语义仅适用于原语,如果一个原始的具有多个顶点的值将被用于从领先的顶点。 此值也表示哪个数组切片一个depthstencilview的用于读/写的目的。 可以写从几何着色器和像素着色器读取。 | UINT |
SV_SampleIndex | 采样频率指标数据 | UINT |
SV_Target [n]的 其中,0 <=正<= 7 | 输出值将被存储在一个渲染目标。该指数表明,这可能是必然的8渲染目标写入。值是从像素着色器的输出。(只写) | 浮动 |
SV_TessFactor | 定义Tessellation(曲面细分)的每个边缘上的一个补丁。写在船体着色器和阅读中的域着色器。 | 浮动2 | 3 | 4] |
SV_ViewportArrayIndex | 视口的数组索引。应用几何着色器输出,并指出“视口以使用原始目前正在写出来。将被改造的原始和剪切之前,通过对视索引指定的光栅化。这种语义仅适用于原语,如果一个原始的具有多个顶点的值将被用于从领先的顶点。 | UINT |
SV_InstanceID | 自动运行时所产生的每个实例的标识符(请参阅使用系统生成的值(Direct3D的10) ) | UINT |
SV_PrimitiveID | 每原始的标识符自动生成运行时(请参阅使用系统生成的值(Direct3D的10) ) | UINT |
SV_VertexID | 运行时自动生成的每个顶点的标识符(请参阅使用系统生成的值(Direct3D的10) ) | UINT |
输入 | 描述 | 类型 |
---|---|---|
BINORMAL[N] | 副法线 | 为float4 |
BLENDINDICES [N] | 混合指数 | UINT |
BLENDWEIGHT [N] | 混合权重 | 浮动 |
COLOR [N] | 漫反射和镜面颜色 | 为float4 |
NORMAL[N] | 法向量 | 为float4 |
POSITION[N] | 在对象空间中的顶点位置。 | 为float4 |
POSITIONT | 变换的顶点位置。 | 为float4 |
PSIZE [N] | 点大小 | 浮动 |
TANGENT [N] | 切线 | 为float4 |
TEXCOORD [N] | 纹理坐标 | 为float4 |
产量 | 描述 | 类型 |
COLOR [N] | 弥漫性或高光颜色 | 为float4 |
FOG | 顶点雾 | 浮动 |
POSITION[N] | 齐性空间中的顶点的位置。除以由w(的x,y,z)的计算的位置在屏幕空间。每一个顶点着色器必须写出这种语义的一个参数。 | 为float4 |
PSIZE | 点大小 | 浮动 |
TESSFACTOR [N] | Tessellation(曲面细分)系数 | 浮动 |
TEXCOORD [N] | 纹理坐标 | 为float4 |
像素着色的语义 :
输入 | 描述 | 类型 |
---|---|---|
COLOR [N] | 弥漫性或高光颜色。 | 为float4 |
TEXCOORD [N] | 纹理坐标 | 为float4 |
VFACE | 浮点标量,表示后面的原始。负值面临倒退,,正值面对摄像机。 | 浮动 |
VPOS | 在屏幕空间的x,y)的像素的位置(。要转换一个Direct3D 9的着色器(使用这种语义)的一个Direct3D 10着色器,看到的Direct3D 9 VPOS和Direct3D 10 SV_Position的的) | FLOAT2 |
产量 | 描述 | 类型 |
COLOR [N] | 输出颜色 | 为float4 |
DEPTH[N] | 输出深度 | 浮动 |