매트릭스 설정 함수 설명
matrix_set
함수는 4x4 매트릭스 타입에 해당하는 16개의 값을 포함하는 배열을 입력받습니다. 배열의 요소는 다음과 같이 매핑됩니다:
- 요소 [0 - 3]: 1행
- 요소 [4 - 7]: 2행
- 요소 [8 - 11]: 3행
- 요소 [12 - 15]: 4행
이러한 매트릭스를 생성하기 위해 matrix_build
또는 matrix_get
함수를 사용할 수 있으며, 직접 배열을 만들어서 함수에 전달할 수도 있습니다. 사용 가능한 매트릭스 타입은 다음과 같습니다:
상수 | 설명 |
---|---|
matrix_view |
현재 뷰 매트릭스 |
matrix_projection |
현재 프로젝션 매트릭스 |
matrix_world |
현재 월드 매트릭스 |
문법
matrix_set(type, matrix);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
type | 매트릭스 타입 상수 | 값을 가져올 매트릭스의 타입 |
matrix | 매트릭스 배열 | 배열로 표현된 매트릭스 데이터 |
반환값
- N/A
예제
matrix_set(matrix_world, m_array);
위 코드는 현재 월드 매트릭스의 값을 배열 m_array
에 저장된 값으로 설정합니다.
활용 예제
- 뷰 매트릭스 설정
var view_matrix = [
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, -5, 1
];
matrix_set(matrix_view, view_matrix);
- 프로젝션 매트릭스 설정
var projection_matrix = [
1.0, 0, 0, 0,
0, 1.0, 0, 0,
0, 0, -1, -1,
0, 0, -0.1, 0
];
matrix_set(matrix_projection, projection_matrix);
- 월드 매트릭스 설정
var world_matrix = [
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
];
matrix_set(matrix_world, world_matrix);
- 동적 매트릭스 생성 및 설정
var dynamic_matrix = matrix_build(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
matrix_set(matrix_world, dynamic_matrix);
- 매트릭스 값 변경
var new_values = [
0.5, 0, 0, 0,
0, 0.5, 0, 0,
0, 0, 0.5, 0,
0, 0, 0, 1
];
matrix_set(matrix_projection, new_values);
이와 같이 matrix_set
함수를 활용하여 다양한 매트릭스를 설정할 수 있습니다.