G-buffer와 디퍼드 렌더링
geometry pass에서 위치·법선 등 조명 계산에 필요한 정보를 텍스처에 저장하고, light pass에서 읽어 조명을 계산합니다. G-buffer 텍스처 설정, 오브젝트 변환, deferred geometry/light 셰이더를 작성했습니다.
OpenGL 수업 과제에서 모델·카메라·셰이더를 구현했습니다. G-buffer를 이용한 디퍼드 렌더링과 노멀 매핑, 큐브 맵 반사·굴절 효과를 추가했습니다.
모델·메시·카메라와 셰이더를 단계별로 구현했습니다. 픽셀의 색을 계산할 때 위치·법선·광원을 어느 좌표 공간에서 처리해야 하는지 직접 코드로 확인했습니다.
포워드 렌더링과 G-buffer를 사용하는 디퍼드 렌더링을 구현했습니다. 노멀 맵으로 표면을 표현하고 큐브 맵으로 반사·굴절 효과를 추가했습니다.
geometry pass에서 위치·법선 등 조명 계산에 필요한 정보를 텍스처에 저장하고, light pass에서 읽어 조명을 계산합니다. G-buffer 텍스처 설정, 오브젝트 변환, deferred geometry/light 셰이더를 작성했습니다.
카메라 이동과 view matrix, 오브젝트의 model-view·normal matrix를 구현했습니다. 큐브 메시를 코드로 만들고 광원 좌표를 변환해 같은 좌표 공간에서 조명을 계산하도록 했습니다.
UV·표면 법선·bump-to-normal 변환과 노멀 매핑을 구현했습니다. 반사·굴절 구체 셰이더, skybox, 거울·구체용 카메라 행렬과 cube texture 설정도 작성했습니다.
수업 제공 프레임워크에 렌더링 패스·셰이더·카메라 수학을 구현한 과제입니다.