학습 방법 구체화→활용 자료 언급→실제 프로젝트 적용→어려움과 극복 순 전개
CG와 3D Geometry 이론은 수업과 독학을 병행하면서 쌓았습니다. 학교 컴퓨터 그래픽스 수업에서 OpenGL 파이프라인과 변환 행렬의 기초를 배웠고, 이후 Peter Shirley의 『Ray Tracing in One Weekend』 시리즈를 따라가며 직접 구현했습니다. 자료로는 learnopengl.com을 가장 많이 참고했습니다. 코드와 개념이 함께 설명되어 있어서 수식을 코드로 연결하는 데 도움이 됐습니다. 실제 프로젝트에 적용한 건 Three.js로 간단한 3D 뷰어를 만든 경험입니다. 카메라 변환 행렬과 프로젝션 설정을 직접 다루면서 뷰 좌표계와 클립 좌표계의 차이가 손으로 느껴졌습니다. 가장 어려웠던 부분은 쿼터니언 회전이었습니다. 오일러 각도 방식으로는 짐벌락 문제가 생겨서 쿼터니언으로 전환했는데, 수식은 이해해도 직관적으로 시각화하기가 쉽지 않았습니다.
여러 번 시각화 도구로 돌려보면서 감각이 생겼고, 지금은 회전 합성에 쿼터니언을 자연스럽게 씁니다. 아직 배울 게 많지만, 이론을 직접 구현해보는 방식이 가장 오래 남는다는 걸 그 과정에서 느꼈습니다.