사용자 정의 형식

다음 구문을 사용하여 사용자 정의 형식을 선언합니다.

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;

데이터 형식(DirectX HLSL)