Keywords
Microsoft High Level Shader Language (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
- пространство имен, 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
Комментарии
Эти числовые типы имеют скалярные, векторные и матричные ключевое слово расширения:
- 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, float3x3, float3x4 float4x1, float4x2, float4x3, float4x4
HLSL поддерживает текстуру в нижнем регистре и средство выборки для устаревших версий. Вместо этого для новых приложений рекомендуется использовать новые объекты текстуры HLSL (Texture2D, Texture3D и т. д.) и объекты sampler (SamplerState и SamplerComparisonState).
экспорт
Используйте экспорт для пометки функций, упакованных в библиотеку.
Вот пример:
export float identity(float x)
{
return x;
}
Помечая функцию identity ключевое слово экспорта, вы делаете функцию идентификации доступной из библиотеки для последующего связывания. Без маркировки экспорта функция identity недоступна для последующего связывания.
Компилятор игнорирует ключевое слово экспорта для компиляции, не являющейся библиотекой.
Примечание
Для ключевое слово экспорта требуется D3dcompiler_47.dll или более поздняя версия библиотеки DLL.
Связанные темы