다음을 통해 공유


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)