Partager via


type de User-Defined

Utilisez la syntaxe suivante pour déclarer un type défini par l’utilisateur.

typedef [const] Type Name[Index];

Paramètres

Article Description
[const]
Optionnel. Ce mot clé marque explicitement le type en tant que constante.
type
Identifie le type de données ; doit être l’un des types de données intrinsèques HLSL.
Nom
Chaîne ASCII qui identifie de façon unique le nom de la variable.
index
Taille facultative du tableau. Doit être un entier non signé compris entre 1 et 4 inclus.

Outre les types de données intrinsèques intégrés, HLSL prend en charge les types définis par l’utilisateur ou personnalisés qui suivent cette syntaxe :

Remarques

Les types définis par l’utilisateur ne respectent pas la casse. Pour des raisons pratiques, les types suivants sont automatiquement définis à l’étendue 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 livre (#) représente un chiffre entier compris entre 1 et 4.

Pour la compatibilité avec les effets DirectX 8, les types suivants sont automatiquement définis à 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)