프로그래밍 / C++ / 언리얼

Programming/C# | Unity

[그래픽스] 렌더링 파이프라인

아트성 2022. 9. 8. 14:00

 

렌더링 파이프라인이란?   

 

가상카메라를 이용해 기하학적으로 2D이미지를 만들어내는 역할을 하는 과정들을 나타낸 것이다.

보통 게임상에서 표현되는 화면은 기하학적으로 3D장면을 구성하고 가상카메라를 성정한 뒤에 모니터에 2D표현을 해야한다. 랜더 파이프라인은 그래픽스 API에 따라 다를 수 있다.

 

https://docs.microsoft.com/ko-kr/windows/win32/direct3d11/overviews-direct3d-11-graphics-pipeline 

 

그래픽 파이프라인 - Win32 apps

이 섹션에서는 Direct3D 11 프로그래밍 가능 파이프라인에 대해 설명합니다.

docs.microsoft.com

버텍스 로드(Vertex)

3D물체가 어떻게 생겼는지에 대한 데이터. 그래픽 카드는 데이터를 받아 삼각형을 이용해 물체의 기본적인 형태를 만든다.

데이터 : 번호(Index Number), 위치(Position), 노멀(Normal), 색(color), UV

 

버텍스 쉐이더

버텍스와 관련된 각종 연산을 한다.

 

 

 

렌더링 파이프라인 절차 / 개념   

 

 

로컬 스페이스

물체 고유의 좌표를 기준함. 삼각형 리스트를 정의하는 데 이용하는 좌표시스템, 월드내의 다른물체와 간섭받지 않음. (모델러의 영향이 큼)

 

월드 스페이스 변환

월드상 원점기준으로, 다른 물체와 상호작용 하기 위해서 이동,회전,크기등 변형을 포함하는 월드변환 작업을 거침. 상대적인 좌표로 변환시킴. (모델러의 영향보다는 프로그래머의 영향이 큼)

 

뷰 스페이스 변환

카메라를 월드시스템의 원점으로 변환함. 카메라의 위치, 각도에의해서 제외할건 제외하고 카메라 영역안에 들어온 물체들을 카메라 기준좌표로 변하는데, 이때 원근감은 고려되지 않는다.

 

투영

n차원-> n-1차원 으로  원근법을 이용해 물체에 투사해서 이미지를 얻어낸다.

 

뷰포트 변환

윈도우의 좌표를 지정해 상대좌표를 구해서 뷰포트라 불리는 화면의 직사각형을 만들어낸다.

 

클리핑

카메라가 비추는 공간에 포함되지 않는 물체들을 제외처리함.

 

래스터라이즈

물체를 화면에 출력할 픽셀과 대응시키는 과정으로 3D공간을 2D로 옮기는 최종적인 단계이다.

 

픽셀 쉐이더 / 프래그먼트 쉐이더

각종 조명, 텍스처, 그림자, 특수효과등을 연산해 최종적인 색을 결정한다.

 

가상 카메라

세계 내에 위치하며 보여질 공간의 부피를 정의한다.
 - 절두체 : 카메라가 비추는 공간의 부피   
 - 모양 : 사각 원뿔

 

행렬

하나의 좌표시스템에서 다른 시스템으로 기하물체를 변환하는 과정이 이루어짐. (* 3D물체를 구성하는 삼각형들은 동일한 버텍스를 공유하는 경우가 많고, 모델이 복잡하면 복잡할수록 중복되는 버텍스의 수 역시 증가한다.)

 

삼각형

: 3D물체의 기본 구성요소, 데이터는 삼각형의 리스트들을 가지고 있다.

 

 

버텍스

: 다각형에서 두개의 변이 만나는 지점.

 

 

Winding order

삼각형의 버텍스를 지정하는 순서를 정의하는것 으로, 두르기 순서라고 부른다.

두르는 순서에 따라서 앞면, 뒷면이 결정된다.
ex) 사각형을 만들기 위해서 (두개의 삼강형으로 나누고 삼각형을 구성하는 버텍스를 지정해야한다)

 

 

 

Unity 렌더 파이프라인   

 

빌트인 렌더 파이프라인

유니티의 기본 렌더 파이프라인으로 범용으로 사용되지만 커스터마이즈 옵션이 제한적이다.

 

유니버설 렌더 파이프라인

광범위한 플랫폼에서 최적화된 그래픽스를 구현하도록 지원하는 SRP로 이전에는 경량 렌더파이프라인으로 불렸다.

 

고해상도 렌더 파이프라인

트리플 A, 고사양 플랫폼을 위한 최신 고해상도 그래픽을 구현하도록 지원하는 SRP이다. (모바일은 지원하지 않는다.)

 

 

그 외 컴퓨터 그래픽스   

 

 

픽셀

화소는 빛의 3원색인 빨강, 녹색, 파랑

 

가산혼합

각각 더하여 표현하며 더할 수록 색이 밝아지는것을 말한다.

 

감산 혼합

인가산혼합과 반대다.

 

채널

0~1(0%~100%) 까지 실수로 나타낸다. 

 

쉐이더

최종적으로 화면에 출력할 픽셀의 색을 정하는 함수.

 

 

 

 

 

 

 

 




반응형