Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die folgende Syntax, um einen benutzerdefinierten Typ zu deklarieren.
typedef [const] Type Name[Index]; |
Parameter
Artikel | Beschreibung |
---|---|
[const]- |
Wahlfrei. Mit diesem Schlüsselwort wird der Typ explizit als Konstante markiert. |
Typ |
Identifiziert den Datentyp; muss einer der systeminternen HLSL-Datentypen sein. |
Name |
Eine ASCII-Zeichenfolge, die den Variablennamen eindeutig identifiziert. |
Index- |
Optionale Arraygröße. Muss eine nicht signierte ganze Zahl zwischen 1 und einschließlich 4 sein. |
Neben den integrierten systeminternen Datentypen unterstützt HLSL benutzerdefinierte oder benutzerdefinierte Typen, die dieser Syntax folgen:
Bemerkungen
Bei benutzerdefinierten Typen wird die Groß-/Kleinschreibung nicht beachtet. Aus Gründen der Einfachheit werden die folgenden Typen automatisch auf globaler Ebene definiert.
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#;
Das Nummernzeichen (#) stellt eine ganze Zahl zwischen 1 und 4 dar.
Aus Gründen der Kompatibilität mit DirectX 8-Effekten werden die folgenden Typen automatisch im globalen Bereich definiert:
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;