网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

DirectX11--HLSL语法入门(5)

n是一个可选的整数,从0开始。好比POSITION0, TEXCOORD1等等。

像素着色器语义 输入 描述 类型
COLOR[n]   漫反射/镜面反射颜色   float4  
TEXCOORD[n]   纹理坐标   float4  
Output   仅描述输出   Type  
DEPTH[n]   深度值   float  
系统值语义

全部的系统值都包含前缀SV_。这些系统值将用于某些着色器的特定用途(并未所有列出)

系统值 描述 类型
SV_Depth   深度缓冲区数据,能够被任何着色器写入/读取   float  
SV_InstanceID   每一个实例都会在运行期间自动生成一个ID。在任何着色器阶段都能读取   uint  
SV_IsFrontFace   指定该三角形是否为正面。能够被几何着色器写入,以及能够被像素着色器读取   bool  
SV_Position   若被声明用于输入到着色器,它描述的是像素位置,在全部着色器中均可用,可能会有0.5的偏移值   float4  
SV_PrimitiveID   每一个原始拓扑都会在运行期间自动生成一个ID。可用在几何/像素着色器中写入,也能够在像素/几何/外壳/域着色器中读取   uint  
SV_StencilRef   表明当前像素着色器的模板引用值。只能够被像素着色器写入   uint  
SV_VertexID   每一个实例都会在运行期间自动生成一个ID。仅容许做为顶点着色器的输入   uint  
通用着色器的核心

全部的着色器阶段使用通用着色器核心来实现相同的基础功能。此外,顶点着色阶段、几何着色阶段和像素着色阶段则提供了独特的功能,例如几何着色阶段能够生成新的图元或删减图元,像素着色阶段能够决定当前像素是否被抛弃等。下图展现了数据是怎么流向一个着色阶段,以及通用着色器核心与着色器内存资源之间的关系:

Input Data:顶点着色器从输入装配阶段获取数据;几何着色器则从上一个着色阶段的输出获取等等。经过给形参引入可使用的系统值能够提供额外的输入

Output Data:着色器生成输出的结果真后传递给管线的下一个阶段。有些输出会被通用着色器核心解释成特定用途(如顶点位置、渲染目标对应位置的值),另一些输出则由应用程序来解释。

Shader Code:着色器代码能够从内存读取,而后用于执行代码中所指望的内容。

Samplers:采样器决定了如何对纹理进行采样和滤波。

Textures:纹理可使用采样器进行采样,也能够基于索引的方式按像素读取。

Buffers:缓冲区可使用读取相关的内置函数,在内存中按元素直接读取。

(责任编辑:admin)