Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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;