다음을 통해 공유


행렬 형식

행렬은 2차원 그리드의 스칼라 구성 요소에 16개에서 16개 사이의 데이터 형식입니다. 행렬의 모든 구성 요소는 동일한 형식이어야 합니다.

형식 선언

행렬 내용의 스칼라 형식 이름을 포함하는 행 및 열 수와 함께 사용하여 행렬 변수를 선언할 수 있습니다.

TypeRowsCols Name

Type 각 구성 요소의 스칼라 형식Rows 행 수를 나타내는 1에서 4 사이의 상수 정수 식이며, Cols 열 수를 나타내는 1에서 4 사이의 상수 정수 식이며 Name 변수 이름을 고유하게 식별하는 ASCII 문자열입니다.

예제:

int1x1    iMatrix;   // integer matrix with 1 row,  1 column, 1 single component
int4x1    iMatrix;   // integer matrix with 4 rows, 1 column, 4 total components
int1x4    iMatrix;   // integer matrix with 1 row, 4 columns, 4 total components
double3x3 dMatrix;   // double matrix with 3 rows, 3 columns, 9 total components

float3x2 fMatrix = { 0.0f, 0.1f, // row 1
                     2.1f, 2.2f, // row 2
                     4.1f, 4.2f  // row 3
                   };   

템플릿 스타일 선언

대체 선언 구문은 matrix 키워드 및 템플릿 인수를 사용하여 스칼라 형식, 행 수 및 열 수를 나타냅니다.

matrix <Type=float, Rows=4, Cols=4> Name

Type 각 구성 요소의 스칼라 형식인 경우 Rows 행 수를 나타내는 1에서 4 사이의 정수입니다. Cols 열 수를 나타내는 1에서 4 사이의 정수이지만 템플릿 스타일 꺾쇠 괄호 안에 지정됩니다. Name 변수 이름을 고유하게 식별하는 ASCII 문자열입니다.

템플릿 매개 변수 기본값을 사용하면 마지막 매개 변수인 마지막 두 템플릿 매개 변수 또는 4x4 부동 행렬을 모두 끄면 지정된 형식의 4x4 행렬을 종료하여 지정된 형식과 행 개수의 4열 행렬을 지정할 수 있습니다.

예제:

matrix <int, 1, 1>   iMatrix = { 1 }; 
matrix <float, 2, 3> fMatrix = { 0.0f, 0.1f, 0.2f, // row 1
                                 2.1f, 2.2f, 2.3f  // row 2
                               };
matrix<int16_t, 1>   sMatrix = { 1, 2, 3, 4 }; // Defaults to 1x4 int16 matrix
matrix<float16_t>    hMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float16 matrix
                                 1.0f, 1.1f, 1.2f, 1.3f,
                                 2.0f, 2.1f, 2.2f, 2.3f,
                                 3.0f, 3.1f, 3.2f, 3.3f }; 
matrix               fMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float matrix
                                 1.0f, 1.1f, 1.2f, 1.3f,
                                 2.0f, 2.1f, 2.2f, 2.3f,
                                 3.0f, 3.1f, 3.2f, 3.3f }; 

참고 항목

데이터 형식(DirectX HLSL)