본문 바로가기

Shader/물방울책

(2)
[19 - 알파와 뎁스 버퍼] 01. Z버퍼와 불투명 (Depth Buffer and Opaque) 578p -Z버퍼는 깊이 버퍼, Depth Buffer 등으로도 불린다 게임을 시작할 때, 한 프레임마다 배경, 캐릭터, UI, 이펙트 등이 합쳐서 나오게 된다. 그러면 이중에서 가장 먼저 그려지는 것은 무엇일까? 원론적으로 말하자면, 그리는 순서는 상당히 제멋대로라서 예측하기가 어렵다. 특정한 명령이나 Grouping으로 순서를 조정할 순 있지만(ex. Opaque - Skybox - Translucent - Post Process) 일단 기본적으로는 '계산이 끝난 녀석을 그린다'라는 원칙으로 그려지고 있으니 어떤 것이 먼저 그려질지 알수가 없다. 이 그림도 파랑색 오브젝트가 먼저 그려졌는지 빨간색 오브젝트가 먼저 그려졌는지 알 수 없다는 것이다. 그래서 '순서는 일단 상관없이 그린다'라는 기본 대전제..
Shader 1 *Split : 말 그대로 색 등을 R,G,B,A로 각각 나눠주는 것 *Combine : 말그대로 RGBA(4자리 값)으로 합쳐주는 것 *Linear와 Gamma 146p : 색의 RGB값에 각각 0.5의 float값을 넣은 Vector 3의 값과 그냥 0.5의 color값을 비교해보면 color값을 넣은 회색이 더 어둡다. float값은 Linear, color값은 Gamma이기 때문이다 색을 0~1로(검흰) 표현했을 때 그라데이션되는 것을 생각해볼 수 있다. Linear는 선형의, 수학적인 그라데이션이다. 이게 수학적인 계산 상으로 원래 옳은 그라데이션 값이다. 그러나 이 정석의 그라데이션을 사람이 보면 균형잡힌 그라데이션으로 보이지 않는다. 회색 부분이 너무 0쪽에 몰려있고 흰색의 값이 더 많아보인..