포스트

컴퓨터그래픽스 3. 프레임 버퍼에 들어갈 픽셀 데이터를 어떻게 만들까

컴퓨터그래픽스 3. 프레임 버퍼에 들어갈 픽셀 데이터를 어떻게 만들까

프레임 버퍼에 들어갈 픽셀 데이터를 어떻게 만드는가?

현실의 Object는 컴퓨터에서 3D Model로 표현한다. 3D Model을 어떻게 표현하는진 추후에 설명하겠다. 이 3D Model을 배치하고, 움직이며 Scene을 구성한다. Scene의 필수 구성 요소로는 3D Objects, Cameras, Lights가 있어야 한다. 이후 Models 데이터(좌표, 텍스처 등)를 GPU가 이해 가능한 자료구조에 잘 담아서 GPU에게 넘겨줘야 한다. 이때 데이터를 손실이 적게 압축하거나 정리하는 최적화를 적용하기도 한다. 이 과정까지를 Application Stage로 구분한다.

GPU에서 데이터를 받으면, 본격적으로 2D Screen에 그리기 위한 연산을 진행한다. 우선 3D Model의 좌표들이 카메라 필름에 투영 (Projection)한다. 여기까지를 Geometry Stage로 구분한다.

Geometry Stage 단계에서 만들어낸 2D 도형 정보를 가지고, 실제 화면에 어떤 픽셀이 채워지는지를 결정하는 단계다. 각 픽셀마다 빛, 그림자, 텍스처 등을 고려하여 픽셀의 색깔을 결정 후 프레임 버퍼에 결과를 넣어준다. 여기까지를 Rasterization Stage로 구분한다.