키워드
Microsoft HLSL(High Level Shader Language)은 이 섹션의 단어를 키워드로 인식합니다. 키워드는 특별한 의미가 있는 미리 정의된 예약된 식별자입니다. 키워드는 앱에서 식별자로 사용할 수 없습니다.
- 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
- 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
설명
이러한 숫자 형식에는 스칼라, 벡터 및 행렬 키워드 확장이 있습니다.
- 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 등) 및 샘플러 개체(SamplerState 및 SamplerComparisonState)를 사용하는 것이 좋습니다.
내보내기
export를 사용하여 패키지하는 함수를 라이브러리에 표시합니다.
다음은 예제입니다.
export float identity(float x)
{
return x;
}
identity 함수를 export 키워드로 표시하면 나중에 연결을 위해 라이브러리에서 identity 함수를 사용하도록 할 수 있습니다. export 표시가 없으면 이후 연결에 identity 함수를 사용할 수 없습니다.
컴파일러는 비라이브러리 컴파일에 대해 export 키워드를 무시합니다.
참고
export 키워드에는 D3dcompiler_47.dll 이상 버전의 DLL이 필요합니다.
관련 항목