Тип User-Defined
Используйте следующий синтаксис, чтобы объявить определяемый пользователем тип.
typedef [const] Type Name[Index]; |
Параметры
Пункт | Описание |
---|---|
[const] |
Необязательный. Это ключевое слово явно помечает тип как константу. |
типа |
Определяет тип данных; должен быть одним из встроенных типов данных HLSL. |
имя |
Строка ASCII, которая однозначно идентифицирует имя переменной. |
индекса |
Необязательный размер массива. Должно быть целым числом без знака от 1 до 4 включительно. |
Помимо встроенных встроенных типов данных, HLSL поддерживает определяемые пользователем или пользовательские типы, которые соответствуют этому синтаксису:
Замечания
Определяемые пользователем типы не учитывает регистр. Для удобства следующие типы автоматически определяются в супер-глобальной области.
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#;
Знак фунта (#) представляет целочисленную цифру от 1 до 4.
Для совместимости с эффектами DirectX 8 следующие типы автоматически определяются в супер-глобальной области:
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;
Связанные разделы
-
типов данных (DirectX HLSL)