사용자 정의 형식
다음 구문을 사용하여 사용자 정의 형식을 선언합니다.
typedef [const] Type Name[Index]; |
매개 변수
항목 | 설명 |
---|---|
[const] |
(선택 사항) 이 키워드는 형식을 상수로 명시적으로 표시합니다. |
Type |
데이터 형식을 식별하고 HLSL 내장 데이터 형식 중 하나여야 합니다. |
Name |
변수 이름을 고유하게 식별하는 ASCII 문자열입니다. |
Index |
선택적 배열 크기입니다. 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;