关键字
Microsoft 高级着色器语言 (HLSL) 将本节中的单词识别为关键字。 关键字是具有特殊意义的预定义保留标识符。 不能将它们用作应用中的标识符。
- AppendStructuredBuffer、asm、asm_fragment
- BlendState、 bool、 break、 Buffer、 ByteAddressBuffer
- case, cbuffer, 质心, 类, column_major, 编译, compile_fragment, CompileShader, const, continue, ComputeShader, ConsumeStructuredBuffer
- default, DepthStencilState, DepthStencilView, discard, do, double, DomainShader, dword
- else, export, extern
- false, float, for, fxgroup
- GeometryShader, groupshared
- 半, 赫尔沙德
- if、 in、 inline、 inout、 InputPatch、 int、 interface
- line、lineadj、 linear、 LineStream
- matrix、 min16float、 min10float、 min16int、 min12int、 min16uint
- namespace, nointerpolation, noperspective, NULL
- out, OutputPatch
- packoffset, pass, pixelfragment, PixelShader, point, PointStream, precise
- RasterizerState、RenderTargetView、 return、 register、 row_major、 RWBuffer、 RWByteAddressBuffer、 RWStructuredBuffer、 RWTexture1D、 RWTexture1DArray、 RWTexture2D、 RWTexture2DArray、 RWTexture3D
- sample、 sampler、SamplerState、SamplerComparisonState、 shared、 snorm、stateblock、stateblock_state、static、 string、 struct、 switch、 StructuredBuffer
- tbuffer, 技术, 技术 10, 技术11, 纹理, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray, Texture3D, TextureCube, TextureCubeArray, true, typedef, triangle, triangleadj, TriangleStream
- uint、 uniform、 unorm、unsigned
- vector, vertexfragment, VertexShader, void, volatile
- while
备注
这些数值类型具有标量、矢量和矩阵关键字 (keyword) 扩展:
- float、int、uint、bool
- min10float、min16float
- min12int、min16int
- min16uint
这些数值类型的扩展遵循以下模式,该模式使用 float 作为示例:
Scalar
- FLOAT
向量
- float1、float2、float3、float4
Matrix
- float1x1, float1x2, float1x3, float1x4 float2x1, float2x2, float2x3, float2x4 float3x1, float3x2, float3x3, float3x4 float4x1, float4x2, float4x3, float4x4
由于传统原因,HLSL 支持小写 纹理 和 采样器 。 相反,对于新应用,我们建议使用 HLSL 的新纹理对象 (Texture2D、 Texture3D 等) 和采样器对象 (SamplerState 和 SamplerComparisonState) 。
导出
使用 导出 标记打包到库中的函数。
以下是示例:
export float identity(float x)
{
return x;
}
通过使用导出关键字 (keyword) 标记标识函数,可以从库中获取标识函数以供以后链接。 如果没有 导出 标记, 标识 函数将无法用于以后的链接。
编译器忽略非库编译的导出关键字 (keyword) 。
注意
导出关键字 (keyword) 需要D3dcompiler_47.dll或更高版本的 DLL。
相关主题