본문/내용
1. 코드 내용
코드 내용은 컴퓨터 그래픽스를 위한 다양한 기능과 알고리즘을 구현하는 데 중점을 둔다. 이번 과제의 핵심은 3D 모델을 렌더링하고 조작하는 것인데, 특히 라이팅, 쉐이딩, 텍스처 매핑을 배우고 이를 코드로 구현하는 과정이 포함된다. 주요 변수와 함수들은 각각의 연산을 수행하기 위해 세밀하게 구성되었다. 가장 먼저 모델의 정점 데이터를 정의한다. 정점 배열은 각 정점의 위치, 색상, 법선 벡터를 포함하여 나중에 렌더링할 때 사용하는 다양한 속성을 정의한다. 이 모든 정보는 배열 형태로 구조체에 저장되어 있으며, 각 정점의 정보를 효과적으로 관리할 수 있도록 돕는다. 그 후에 카메라의 위치와 뷰 방향을 정의한다. 카메라는 씬을 어떻게 바라볼지를 결정하는 중요한 요소로, 카메라의 위치 벡터와 방향 벡터를 설정하여 뷰 행렬을 계산한다. 이를 통해 씬 내부에서 카메라의 시각적 위치를 조정하고, 사용자가 볼 수 있는 렌더링 결과를 향상시킨다. 조명 설정에 있어서도 다양한 요소를 고려한다. 포인트 라이트, 스포트라이트, 방향광을 구현하여 각기 다른 조명 효과를 демон스트레이션한다. 각 조명의 색상과 위치를 정의한 후, …