キーワード
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
- 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, Texture2DMSArray, Texture2DMSArray, Texture3D, TextureCube, TextureCubeArray, true, typedef, triangle, triangleadj, TriangleStream
- uint、 uniform、 unorm、unsigned
- vector、 vertexfragment、 VertexShader、void、 volatile
- while
解説
これらの数値型には、スカラー、ベクトル、および行列キーワード (keyword)展開があります。
- float、int、uint、bool
- min10float、min16float
- min12int、min16int
- min16uint
これらの数値型の展開は、例として float を使用する次のパターンに従います。
スカラー
- float
ベクター
- float1、float2、float3、float4
Matrix
- float1x1、float1x2、float1x3、float1x4 float2x1、float2x2、float2x3、float2x4 float3x1、float3x2、float3x3、float3x4 float4x1、float4x2、float4x3、float4x4
HLSL では、従来の理由から小文字の テクスチャ と サンプラー がサポートされています。 代わりに、新しいアプリでは、HLSL の新しいテクスチャ オブジェクト (Texture2D、 Texture3D など) とサンプラー オブジェクト (SamplerState および SamplerComparisonState) を使用することをお勧めします。
エクスポート
エクスポートを使用して、パッケージ化した関数をライブラリにマークします。
たとえば次のようになります。
export float identity(float x)
{
return x;
}
エクスポート キーワード (keyword)を使用して ID 関数をマークすると、後でリンクするためにライブラリから ID 関数を使用できるようになります。 エクスポート マーキングがない場合、ID 関数は後でリンクすることはできません。
コンパイラは、ライブラリ以外のコンパイルのエクスポート キーワード (keyword)を無視します。
Note
エクスポート キーワード (keyword)には、D3dcompiler_47.dllまたはそれ以降のバージョンの DLL が必要です。
関連トピック