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;

Types de données (DirectX HLSL)