ユーザー定義型
次の構文を使用して、ユーザー定義型を宣言します。
typedef [const] Type Name[Index]; |
パラメーター
Item | 説明 |
---|---|
[const] |
省略可能。 このキーワード (keyword)は、型を定数として明示的にマークします。 |
型 |
データ型を識別します。は、HLSL 組み込みデータ型のいずれかである必要があります。 |
名前 |
変数名を一意に識別する ASCII 文字列。 |
インデックス |
省略可能な配列サイズ。 1 ~ 4 の範囲の符号なし整数である必要があります。 |
組み込みの組み込みデータ型に加えて、HLSL では、次の構文に従うユーザー定義型またはカスタム型がサポートされています。
注釈
ユーザー定義型では、大文字と小文字は区別されません。 便宜上、次の型はスーパーグローバル スコープで自動的に定義されます。
typedef vector <bool, #> bool#;
typedef vector <int, #> int#;
typedef vector <uint, #> uint#;
typedef vector <half, #> half#;
typedef vector <float, #> float#;
typedef vector <double, #> double#;
typedef matrix <bool, #, #> bool#x#;
typedef matrix <int, #, #> int#x#;
typedef matrix <uint, #, #> uint#x#;
typedef matrix <half, #, #> half#x#;
typedef matrix <float, #, #> float#x#;
typedef matrix <double, #, #> double#x#;
シャープ記号 (#) は、1 ~ 4 の整数の数字を表します。
DirectX 8 効果との互換性を確保するために、次の種類がスーパーグローバル スコープで自動的に定義されます。
typedef int DWORD;
typedef float FLOAT;
typedef vector <float, 4> VECTOR;
typedef matrix <float, 4, 4> MATRIX;
typedef string STRING;
typedef texture TEXTURE;
typedef pixelshader PIXELSHADER;
typedef vertexshader VERTEXSHADER;