Keywords
Die Microsoft High Level Shader Language (HLSL) erkennt die Wörter in diesem Abschnitt als Schlüsselwörter. Schlüsselwörter sind vordefinierte, reservierte Bezeichner, die besondere Bedeutungen haben. Sie können sie nicht als Bezeichner in Ihrer App verwenden.
- AppendStructuredBuffer,asm, asm _ fragment
- BlendState, bool, break, Buffer, ByteAddressBuffer
- case, cbuffer, schwerpunktid, class, column _ major, compile, compile _ fragment, CompileShader, const, continue, ComputeShader, ConsumeStructuredBuffer
- default, DepthStencilState, DepthStencilView, discard, do, double, DomainShader, dword
- else, export, extern
- false, float , für, fxgroup
- GeometryShader, groupshared
- half, Hullshader
- , wenn , in, inline, inout, InputPatch, int, schnittstelle
- 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, technique, technique10, technique11, texture, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray, Texture3D, TextureCube, TextureCubeArray, true, typedef, triangle, triangleadj, TriangleStream
- uint, uniform, unorm, unsigned
- vector, vertexfragment, VertexShader, void, volatile
- while
Hinweise
Diese numerischen Typen verfügen über Skalar-, Vektor- und Matrixschlüsselworterweiterungen:
- float, int, uint, bool
- min10float, min16float
- min12int, min16int
- min16uint
Die Erweiterungen dieser numerischen Typen folgen diesem Muster, das float als Beispiel verwendet:
Skalar
- float
Vektor
- float1, float2, float3, float4
Matrix
- float1x1, float1x2, float1x3, float1x4
float2x1, float2x2, float2x3, float2x4
float3x1, float3x2, float3x3, float3x4
float4x1, float4x2, float4x3, float4x4
HLSL unterstützt aus älteren Gründen Eine-Kleinbuchstaben-Textur und einen Sampler. Stattdessen wird für Ihre neuen Apps empfohlen, die neuen Texturobjekte(Texture2D, Texture3Dusw.) und sampler-Objekte(SamplerState und SamplerComparisonState)von HLSL zu verwenden.
Export
Verwenden Sie export, um Funktionen zu markieren, die Sie in eine Bibliothek packen.
Beispiel:
export float identity(float x)
{
return x;
}
Indem Sie die Identitätsfunktion mit dem Schlüsselwort export markieren, stellen Sie die Identitätsfunktion in einer Bibliothek für die spätere Verknüpfung zur Verfügung. Ohne die Exportmarkierung ist die Identitätsfunktion für spätere Verknüpfungen nicht verfügbar.
Der Compiler ignoriert das Exportschlüsselwort für die Nichtbibliothekskompilierung.
Hinweis
Das Exportschlüsselwort erfordert die D3dcompiler-47.dll _ oder eine höhere Version der DLL.