Parole chiave
Microsoft High Level Shader Language (HLSL) riconosce le parole in questa sezione come parole chiave. Le parole chiave sono identificatori riservati predefiniti che hanno un significato particolare. Non è possibile usarli come identificatori nell'app.
- 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, precise
- RasterizerState, RenderTargetView, return, register, row_major, RWBuffer, RWByteAddressBuffer, RWStructuredBuffer, RWTexture1D, RWTexture1DArray, RWTexture2D, RWTexture2DArray, RWTexture2DArray, RWTexture3D
- sample, sampler, SamplerState, SamplerComparisonState, shared, snorm, stateblock, stateblock_state, static, string, struct, switch, StructuredBuffer
- tbuffer, tecnica, tecnica10, tecnica11, trama, Texture1D,Texture1DArray, Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray, Texture3D, TextureCubeArray, true, typedef, triangolo, triangolo, TriangoloStream
- uint, uniform, unorm, unsigned
- vector, vertexfragment, VertexShader, void, volatile
- Mentre
Commenti
Questi tipi numerici hanno espansioni di parole chiave scalari, vettoriali e matrice:
- float, int, uint, bool
- min10float, min16float
- min12int, min16int
- min16uint
Le espansioni di questi tipi numerici seguono questo modello, che usa float come esempio:
Scalare
- float
Vettore
- float1, float2, float3, float4
Matrice
- float1x1, float1x2, float1x3, float1x4 float2x1, float2x2, float2x3, float2x4 float3x1, float3x2, float3x3, float3x3, float3x4 float4x1, float4x2, float4x3, float4x4
HLSL supporta trame minuscole e sampler per motivi legacy. Invece, per le nuove app, è consigliabile usare i nuovi oggetti trama di HLSL (Texture2D, Texture3D e così via) e gli oggetti sampler (SamplerState e SamplerComparisonState).
esportare
Usare l'esportazione per contrassegnare le funzioni che si inserisce in una libreria.
Esempio:
export float identity(float x)
{
return x;
}
Contrassegnando la funzione identity con la parola chiave di esportazione , si rende disponibile la funzione identity da una libreria per il collegamento successivo. Senza il contrassegno di esportazione , la funzione identity non è disponibile per il collegamento successivo.
Il compilatore ignora la parola chiave di esportazione per la compilazione non della libreria.
Nota
La parola chiave di esportazione richiede la D3dcompiler_47.dll o una versione successiva della DLL.
Argomenti correlati