關鍵字
Microsoft 高階著色器語言 (HLSL) 會將本節中的單字辨識為關鍵字。 關鍵字是具有特殊意義的預先定義保留識別項。 您無法將它們當做應用程式中的識別碼使用。
- AppendStructuredBuffer、asm、asm_fragment
- BlendState、 bool、 break、 Buffer、 ByteAddressBuffer
- case, cbuffer, centroid, class, column_major, compile, 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, TextureCube, TextureCubeArray, true, typedef,三角形, 三角形adj, TriangleStream
- uint、 uniform、 unorm、unsigned
- vector, vertexfragment, VertexShader, void, volatile
- while
備註
這些數數值型別具有純量、向量和矩陣關鍵字擴充:
- float, int, uint, bool
- min10float、min16float
- min12int、min16int
- min16uint
這些數數值型別的擴充會遵循此模式,其會使用 float 作為範例:
純量
- FLOAT
向量
- float1, float2, float3, float4
矩陣
- float1x1、float1x2、float1x3、float1x4 float2x1、float2x2、float2x3、float2x4 float3x1、float3x2、float3x4 float4x1、float4x2、float4x3、float4x4
HLSL 基於舊版原因支援小寫 紋理 和 取樣器 。 相反地,針對新的應用程式,建議您使用 HLSL 的新紋理物件 (Texture2D、 Texture3D等) 和取樣器物件 (SamplerState 和 SamplerComparisonState) 。
匯出
使用 export 標記您封裝至程式庫的函式。
範例如下:
export float identity(float x)
{
return x;
}
藉由使用export關鍵字標記身分識別函式,您可以從程式庫取得身分識別函式以供稍後連結。 若沒有 匯出 標記, 身分識別函式 不適用於稍後的連結。
編譯器會忽略非程式庫編譯的 export 關鍵字。
注意
export關鍵字需要D3dcompiler_47.dll或更新版本的 DLL。
相關主題