본문 바로가기
그래픽 이론

G-Buffer가 뭐지? 어떻게 생긴걸까? 한번 알아보자

by witn331ss 2023. 11. 14.

 

일단 G-Buffer 에서 Buffer는 

컴퓨터 과학에서 데이터를 일시적으로 저장하거나 임시로 보관하는 메모리 공간을 의미한다.

 

G-buffer 는 그래픽렌더링에서 사용되어지며

렌더링 엔진이 여러 종류의 정보를 픽셀 단위로 저장하는데 있어 사용되는 버퍼이다.

 

간단히 말하자면 G-buffer는 컴퓨터가 3D 그래픽을 만들 때 필요한 정보를 잘 저장하는 '서랍장' 과 같다.

 

 

G-Buffer는 시각적으로 표현하기는 조금 어려운데

그 이유는 실제로 보이는 그림이나 이미지가 아니라 컴퓨터 그래픽을 만드는 데 사용되는 데이터를 저장하는 '방식' 이여서 그렇다.

 

포토샵의 레이어나 채널 같은 느낌이라고 생각할 수 있겠다.

 

이것은 디퍼드 렌더링 방식에서 사용되는 기술로, 3D 장면을 그리는 데 필요한 다양한 정보들을 저장하는 임시 저장소다.

 

물체의 위치, 색상, 광도(밝기), 그림자 등의 정보가 여기에 저장되는데

G-버퍼는 이런 정보들을 모아서 나중에 한 번에 처리하고, 최종적으로 화면에 표시할 그래픽을 만드는 데 사용된다.

 

G-버퍼는 디퍼드 렌더링(Deferred Rendering) 과정에서 사용되는데, 이 과정에서는 3D 장면을 만들기 위해 필요한 여러 가지 데이터를 먼저 모아놓고, 나중에 이 데이터를 기반으로 최종 이미지를 생성한다.

 

이때 G-버퍼에 저장되는 정보에는 우리가 흔히 사용하는 Diffuse, Normal, Roughness.. 그리고 위치 깊이 등 

Vertex Shader와 Fragment Shader 에서 처리된 정보가 저장된다.

 

주로 Fragment Shader 에서 처리된 결과물이 중점적으로 담긴다고 생각하면 된다.