Type défini par l'utilisateur
Utilisez la syntaxe suivante pour déclarer un type défini par l’utilisateur.
| [ ] [ index ] de nom de type const typedef ; |
Paramètres
| Élément | Description |
|---|---|
| [const] |
Optionnel. Ce mot clé marque explicitement le type en tant que constante. |
| Entrer |
Identifie le type de données ; doit être l’un des types de données intrinsèques HLSL. |
| Nomme |
Chaîne ASCII qui identifie de façon unique le nom de la variable. |
| Évaluer |
Taille de tableau facultative. Doit être un entier non signé compris entre 1 et 4 inclus. |
En plus des types de données intrinsèques intégrés, le langage HLSL prend en charge les types définis par l’utilisateur ou personnalisés, qui suivent la syntaxe suivante :
Remarques
Les types définis par l’utilisateur ne respectent pas la casse. Pour plus de commodité, les types suivants sont définis automatiquement au niveau de la portée Super globale.
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#;
Le signe dièse ( # ) représente un chiffre entier compris entre 1 et 4.
Pour la compatibilité avec les effets DirectX 8, les types suivants sont définis automatiquement au niveau de l’étendue Super globale :
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;