Palabras clave
Microsoft High Level Shader Language (HLSL) reconoce las palabras de esta sección como palabras clave. Las palabras clave son identificadores reservados predefinidos que tienen un significado especial para el compilador. No se pueden usar como identificadores en la aplicación.
- 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, in, inline, inout, InputPatch, int, interface
- line, lineadj, linear, LineStream
- matrix, min16float, min10float, min16int, min12int, min16uint
- espacio de nombres, 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, triangleadj, TriangleStream
- uint, uniform, unorm, unsigned
- vector, vértice, VertexShader, void, volatile
- while
Observaciones
Estos tipos numéricos tienen expansiones escalares, vectoriales y de palabra clave de matriz:
- float, int, uint, bool
- min10float, min16float
- min12int, min16int
- min16uint
Las expansiones de estos tipos numéricos siguen este patrón, que usa float como ejemplo:
Escalar
- FLOAT
Vector
- float1, float2, float3, float4
Matriz
- float1x1, float1x2, float1x3, float1x4 float2x1, float2x2, float2x3, float2x4 float3x1, float3x2, float3x3, float3x4 float4x1, float4x2, float4x3, float4x4
HLSL admite texturas minúsculas y muestreador por motivos heredados. En su lugar, para las nuevas aplicaciones, se recomienda usar los nuevos objetos de textura de HLSL (Texture2D, Texture3D, etc.) y los objetos sampler (SamplerState y SamplerComparisonState).
exportar
Use export para marcar las funciones que empaqueta en una biblioteca.
Este es un ejemplo:
export float identity(float x)
{
return x;
}
Al marcar la función de identidad con la palabra clave export , la función de identidad está disponible en una biblioteca para la vinculación posterior. Sin el marcado de exportación , la función de identidad no está disponible para la vinculación posterior.
El compilador omite la palabra clave export para la compilación que no es de biblioteca.
Nota
La palabra clave export requiere el D3dcompiler_47.dll o una versión posterior del archivo DLL.
Temas relacionados