Condividi tramite


Tipo definito dall'utente

Usare la sintassi seguente per dichiarare un tipo definito dall'utente.

typedef [const] Type Name[Index];

Parametri

Elemento Descrizione
[const]
Facoltativa. Questa parola chiave contrassegna in modo esplicito il tipo come costante.
Digitare
Identifica il tipo di dati; deve essere uno dei tipi di dati intrinseci HLSL.
Nome
Stringa ASCII che identifica in modo univoco il nome della variabile.
Indice
Dimensioni facoltative della matrice. Deve essere un intero senza segno compreso tra 1 e 4 inclusivo.

Oltre ai tipi di dati intrinseci predefiniti, HLSL supporta tipi definiti dall'utente o personalizzati che seguono questa sintassi:

Commenti

I tipi definiti dall'utente non sono distinzione tra maiuscole e minuscole. Per praticità, i tipi seguenti vengono definiti automaticamente nell'ambito 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#;

Il segno di sterlina (#) rappresenta una cifra intero compresa tra 1 e 4.

Per la compatibilità con gli effetti DirectX 8, i tipi seguenti vengono definiti automaticamente nell'ambito 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;

Tipi di dati (DirectX HLSL)