User-Defined Türü
Kullanıcı tanımlı bir tür bildirmek için aşağıdaki söz dizimini kullanın.
typedef [const] Type Name[Index]; |
Parametre
Madde | Açıklama |
---|---|
[const] |
Opsiyonel. Bu anahtar sözcük türü açıkça sabit olarak işaretler. |
Tür |
Veri türünü tanımlar; HLSL iç veri türlerinden biri olmalıdır. |
Adı |
Değişken adını benzersiz olarak tanımlayan bir ASCII dizesi. |
dizin |
İsteğe bağlı dizi boyutu. 1 ile 4 (dahil) arasında işaretsiz bir tamsayı olmalıdır. |
Yerleşik iç veri türlerine ek olarak, HLSL bu söz dizimini izleyen kullanıcı tanımlı veya özel türleri destekler:
Açıklamalar
Kullanıcı tanımlı türler büyük/küçük harfe duyarlı değildir. Kolaylık olması için, aşağıdaki türler süper genel kapsamda otomatik olarak tanımlanır.
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#;
Pound işareti (#), 1 ile 4 arasında bir tamsayı basamağı temsil eder.
DirectX 8 efektleriyle uyumluluk için aşağıdaki türler süper genel kapsamda otomatik olarak tanımlanır:
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;