안녕하세요. 정글러입니다.
1. Shader
먼저 쉐이더의 구조와 PBR, 텍스쳐의 상호작용 등을 살펴보겠습니다.
쉐이더의 기본 구조와 흐름은 다음과 같이 이루어져 있습니다.
Buffer | Vertex Shader | Rasterizer | Pixel Shader | Result |
메모리에 담아놓는 형태 | 메시의 정점 정보, 공간 정보, 라이팅 연산하고 변환 | pixel을 그릴 범위를 알려주는 것 | 재질, 컬러, 후처리 |
PBR은 Diffuse와 Specular 반사를 보여줍니다. 즉, 빛의 각도와 보는 각도에 따라 표현되는 것입니다.
난반사(Diffuse)는 표면의 거칠기와 눈의 위치에 따라서 보이게 됩니다.
PBR은 메탈과 비메탈, 러프와 글로시를 가장 중요하게 여깁니다.
비메탈에 가까울 수록 정반사는 자신의 색과 가깝게, 메탈일 수록 정반사는 흰색에 가깝게 반사하게 됩니다.
2. Rendering Pipeline
언리얼엔진의 렌더링 파이프라인은 다음과 같이 구성되어 있습니다.
1. 불투명 프리패스
2. 라이트 영역 할당과 계산 - 큐브 형태로 그리드로 분산해서 계산
3. 차폐 테스트 - 오브젝트가 겹쳐지는 것을 계산
4. Hi-z버퍼
5. 쉐도우뎁스
6. 베이스 패스 전 과정 구성
7. 베이스 패스 - 재질, 색상 등 메인이 되는 결과값 계산
8. 프리라이팅으로 주변 폐색 계산
9. 간접광과 ao계산
10. 라이트 계산 - 투명, 불투명, 그림자 조명 등 계산
11. 화면 공간 반사와 환경 반사 취합 - 반투명, 파티클 계산
12. 투명물체 렌더링
13. 굴절계산
14. 후처리
렌더링 파이프라인의 경우에는 아직 어려운 부분도 많은데요, 실제로 언리얼에서 렌더링 작업을 해보면서
어떤 계산값을 줄일 수 있는지 고민해보면 좋을 것 같습니다.
이러한 처리 단계를 이해하고 계산을 줄일 수 있는 방법을 고민하여 효율적인 렌더링 작업을 해보고자 합니다.
감사합니다.
'XR > Unreal Engine' 카테고리의 다른 글
[Unreal Engine] 쉐이더 Visual Scripting (0) | 2024.06.20 |
---|---|
[Unreal Engine] 쉐이더 텍스쳐 수정하기 (0) | 2024.06.19 |
[Unreal Engine] 블루프린트와 나이아가라 알아보기 (1) | 2024.06.03 |
[Virtual Production] 언리얼엔진 내 Visualization 살펴보기 (0) | 2024.05.13 |
[Unreal Engine] 라이트 세팅 알아보기 (0) | 2024.05.09 |