화면이 만들어지는 컴퓨터그래픽스
게임 속 물체는 좌표와 연결 정보로 저장됩니다. 컴퓨터그래픽스는 이 정보를 카메라에서 바라본 모습으로 바꾸고, 화면의 각 칸에 어떤 색을 넣을지 정하는 과정입니다.
- 대상: 좌표와 기본 사칙연산을 알고, 짧은 Python 코드를 읽을 수 있는 분.
- 배울 내용: 벡터, 변환, 카메라와 투영, 래스터화, 조명, 표면과 질감 표현.
- 예제: 외부 라이브러리 없이 계산하는 작은 Python 예제와 그림. 모든 수업을 무료로 읽을 수 있습니다.
- 목표: 화면이 이상할 때 좌표, 카메라, 가시성, 색 계산 중 어느 단계를 살펴볼지 설명합니다.
먼저 전체 흐름을 읽고 각 단계의 계산을 따라가세요. 수식이 나오면 숫자 하나를 바꿨을 때 그림이 어떻게 달라질지 예상해 보세요.
강좌 목차
- 01 그림을 픽셀에 담기벡터 그림, 래스터 이미지, 프레임 버퍼의 역할을 구분합니다.
- 02 점과 벡터, 표면의 방향위치와 이동을 구분하고 내적으로 방향의 관계를 봅니다.
- 03 이동과 회전의 순서같은 변환도 적용 순서에 따라 결과가 달라집니다.
- 04 카메라의 좌표로 바라보기물체 좌표, 월드 좌표, 카메라 좌표를 구분합니다.
- 05 멀리 있는 물체를 작게 그리기원근 투영과 직교 투영, 잘라내기의 역할을 배웁니다.
- 06 삼각형을 화면의 칸으로 바꾸기래스터화와 깊이 검사로 어느 표면이 보이는지 정합니다.
- 07 빛과 표면으로 색 계산하기확산 반사와 정반사를 구분하고 내적으로 밝기를 계산합니다.
- 08 면마다 계산할까, 픽셀마다 계산할까Flat, Gouraud, Phong 셰이딩의 보간 대상을 비교합니다.
- 09 질감과 계단 현상표면의 UV 좌표와 샘플링, 필터링을 연결합니다.
- 10 장면에서 한 장의 화면까지배운 단계를 연결하고 광선 추적과 입체 영상의 차이를 봅니다.