사람을 그리기 전에 먼저 해야 할 일이 있다. 바로 상자를 늘리고 줄이는 작업이다! 이를 위해 sglm에 scale 함수를 추가하고, 이를 적용해 보았다.
sglm::mat4 scale(const sglm::mat4& m, const sglm::vec3& v) {
sglm::mat4 result(1.0f);
result[0][0] = v.x;
result[1][1] = v.y;
result[2][2] = v.z;
return result * m;
}
위와 같은 방식으로 scale 함수를 구현했고, 이를 적용해 모델의 크기를 조정했다.
model = sglm::scale(model, sglm::vec3(1.0f, 1.2f, 0.5f));

아주 잘 동작한다. 이 상자는 이제 바디가 될 것이다.
'Computer Graphics > HumanGL' 카테고리의 다른 글
| HumanGL - 5. transform 행렬 계산식 변경 (0) | 2024.10.18 |
|---|---|
| HumanGL - 4. 문제 발견 (0) | 2024.10.17 |
| HumanGL - 3. 사람 그리기 (0) | 2024.10.17 |
| HumanGL - 1. 초기 설정, 상자 띄우기 (1) | 2024.10.17 |
| HumanGL - 0. 과제 해석 (0) | 2024.10.16 |