#39 렌더링 파이프라인

국기웅·2024년 6월 18일

특강내용

"C드라이브"라는 명칭은 하드드라이브를 본래 C드라이브라 불러 그렇게 된것.

렌더링 파이프라인이란 3D 장면을 2D 이미지로 변환하는 일련된 절차를 의미한다.
드로우콜이 호출되면 특정한 단계를 거치는데, 이걸 파이프라인이라고 하는것이다.
1. 모델 만들기 Vertex shader
2. 위치 배치해주기 (공간변환 mvp)
3. 카메라로 찍어주기 레스터라이저
4. 색 입혀주기 Fragment Shader
위 단계로 이루어져 있다.

컴퓨터는 0,0,0에서부터 시작한다.
네모를 그린다고 하면, 컴퓨터는 꼭짓점(Vertex)을 먼저 그린다.
그 뒤, 그 선으로 삼각형을 그린다. -> Vertex shader

그다음 위치를 변환시켜준다. 총 3번 변화를 하는데,
1. Model : 로컬에서 월드포지션으로 변경
2. View : 카메라가 비추는 부분을 확인
3. Presenter 원근감 : 거리에 따른 렌더링을 진행

그뒤 카메라로 찍고 색을 입혀준다

렌더링 방식에는 여러가지가 있다.
유니티에는 built in, Universal, High definition 등이 있다.
URP와 HDRP는 PBR 렌더링에 속해있다.
PBR Rendering 은 Physically based Rendering의 약자로, 물리기반렌더링이다. 실제 빛이 비추어졌을때 그려지는 부분을 정밀하게 계산한다.Specular, AO 등을 계산하기 때문에 퀄리티가 더욱 상승한다.

컴퓨터는 이미지를 RGBA로 파악한다.
각각 Red, Green, Blue, Alpha이다.
1x1픽셀 흰색 이미지의 경우 255,255,255,255
혹은 FFFFFF
혹은 유니티에서 1,1,1,1로 본다.
짧게 보는 이유는 서버통신을 위해서 사용하는 것이라고 한다.

128x128의 이미지의 경우, 각각 픽셀의 이미지를 컴퓨터가 받아들여 처리한다.
이미지를 각 픽셀별 색까지 데이터로 넣기에는 비효율적이기 때문에 컴퓨터는 압축하여 계산한다. 흰색 128,128의 경우, vector3(1,1,1)이 가로 128,세로 128로 존재한다고 보는 것으로 효율적으로 압축 가능하다.

셰이더를 구성하는 기본 속성에는
Base Color, Normal, Metallic, Smoothness, Emission, Ambient Occlusion이 있다.
Normal의 경우 모델링의 질감 표현에 도움을 준다. 울퉁불퉁한 표면을 파악할때, 빛의 표현으로 우리는 그 질감을 느낄 수 있다. 물체에 부딫힌 빛이 우리 눈으로 들어와 파악할수 있는데, 그 빛이 들어오는 정도(반사되는 정도)를 기록한 것이 노말맵이다. 명암표현이라고 생각해도 좋을 것 같다.

색의 RGB와 길이의 XYZ 벡터들을 묶어서 표현할 때, 음양각은 0~1사이의 값이다.
0.5가 보통 상황이기에 0~255까지 표현하는 벡터들 중 중간값인 0.5의 위치를 보면 128이기에 이때 맞는 색이 파란색이기에 노말맵은 파란색으로 보인다.

profile
게임개발호소인

0개의 댓글