Tipo definido pelo usuário
Use a sintaxe a seguir para declarar um tipo definido pelo usuário.
typedef [const] Type Name[Index]; |
Parâmetros
Item | Descrição |
---|---|
[const] |
Opcional. Esse palavra-chave marca explicitamente o tipo como uma constante. |
Tipo |
Identifica o tipo de dados; deve ser um dos tipos de dados intrínsecos HLSL. |
Nome |
Uma cadeia de caracteres ASCII que identifica exclusivamente o nome da variável. |
Índice |
Tamanho opcional da matriz. Deve ser um inteiro sem sinal entre 1 e 4 inclusive. |
Além dos tipos de dados intrínsecos internos, o HLSL dá suporte a tipos personalizados ou definidos pelo usuário que seguem esta sintaxe:
Comentários
Os tipos definidos pelo usuário não diferenciam maiúsculas de minúsculas. Para conveniência, os tipos a seguir são definidos automaticamente no escopo super global.
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#;
O sinal de libra (#) representa um dígito inteiro entre 1 e 4.
Para compatibilidade com efeitos do DirectX 8, os seguintes tipos são definidos automaticamente no escopo super global:
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;