Mots clés
Le langage HLSL (High Level Shader Language) microsoft reconnaît les mots de cette section en tant que mots clés. Les mots clés sont des identificateurs réservés prédéfinis qui ont des significations particulières. Vous ne pouvez pas les utiliser comme identificateurs dans votre application.
- 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
- half, Hullshader
- if, 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, précision
- 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, technique, technique10, technique11, texture, Texture1D, Texture1DArray, Texture2DArray, Texture2DMS, Texture2DMSArray, Texture3D, TextureCube, TextureCubeArray, true, typedef, triangle, triangleadj, TriangleStream
- uint, uniform, unorm, unsigned
- vector, vertexfragment, VertexShader, void, volatile
- while
Notes
Ces types numériques ont des extensions scalaires, vectorielles et matricielles mot clé :
- float, int, uint, bool
- min10float, min16float
- min12int, min16int
- min16uint
Les extensions de ces types numériques suivent ce modèle, qui utilise float comme exemple :
Scalaire
- float
Vecteur
- float1, float2, float3, float4
Matrice
- float1x1, float1x2, float1x3, float1x4 float2x1, float2x2, float2x3, float2x4 float3x1, float3x2, float3x3, float3x4 float4x1, float4x2, float4x3, float4x4
HLSL prend en charge la texture et l’échantillonneur en minuscules pour des raisons héritées. Au lieu de cela, pour vos nouvelles applications, nous vous recommandons d’utiliser les nouveaux objets de texture de HLSL (Texture2D, Texture3D, etc.) et les objets sampler (SamplerState et SamplerComparisonState).
export
Utilisez l’exportation pour marquer les fonctions que vous empaquetez dans une bibliothèque.
Voici un exemple :
export float identity(float x)
{
return x;
}
En marquant la fonction d’identité avec le mot clé d’exportation, vous rendez la fonction d’identité disponible à partir d’une bibliothèque pour une liaison ultérieure. Sans le marquage d’exportation , la fonction d’identité n’est pas disponible pour une liaison ultérieure.
Le compilateur ignore les mot clé d’exportation pour la compilation non-bibliothèque.
Notes
Le mot clé d’exportation nécessite le D3dcompiler_47.dll ou une version ultérieure de la DLL.
Rubriques connexes