본문 바로가기
프로그래밍/공부

[Graphics] 포워드 렌더링 and 디퍼드 렌더링

by Sik.K 2023. 6. 27.

1. 포워드 렌더링

 

전통적인 방식의 렌더링으로 메시 하나를 그리면서 모든 계산을 한 번에 시행하는 방법으로 라이팅의 계산 수는 메시의  수에 비례한다. 때문에 여러 개의 리얼타임 라이팅을 다루는 데 취약하다.

 

(라이팅에 대한 계산을 메시 하나 당 라이트 수에 비례해서 계산을 하기 때문)

 

 

장점

 

비교적 저사양에서도 잘 작동하며, PC의 경우 안티앨리어싱 처리를 하드웨어서 지원 받기 때문에 거의 완벽한 처리를 할 수 있고, 반투명 처리도 문제 없이 동작한다.

 

오랫동안 사용된 렌더링 방식이기 때문에 문제가 생겨도 회피하거나, 해결책이 만들어져 있는 경우가 많다.

 

해상도가 올라가도 렌더링에 들어가는 비용이 디퍼드 렌더링에 비해 적다.

 

 

단점

 

라이팅 연산이 느리고, 여러 오브젝트로 복잡한 화면을 구성하거나 폴리곤이 많은 모델을 렌더링하기 불리한 방식이다.

 

그림자 처리가 어렵고, 화면 깊이값을 이용한 포스트 이펙트는 따로 처리를 해주어야 한다.

 

포워드 라이팅 출처 - Forward Rendering vs Deferred Rendering (velog.io)

 

 


 

 

2. 디퍼드 렌더링

 

많은 수의 실시간 라이팅(동적 라이팅)을 비교적 좋은 성능으로 처리할 수 있다.

 

렌더링을 라이팅 패스와 지오메트리 패스로 나누어 진행하고, 라이팅을 마지막에 처리하기 때문에 화면에 보이는 픽셀의 라이팅을 처리하고, 많은 수의 실시간 라이트들의 드로우 콜에 대한 부담을 줄일 수 있다.

 

 

장점

 

수많은 동적 라이팅을 실시간으로 보여줄 수 있다. 그림자도 쉽게 그려줄 수 있다.

 

쉐이더를 간단하게 지원하고, 픽셀 정보를 메모리에 저장하면서 생기는 여러가지 이점을 쓸 수 있다. 

 

ex) 화면의 깊이값을 이용한 특수효과

 

수많은 오브젝트와 복잡한 모델링을 표현할 때 유리하다.

 

 

단점

 

뒤에 그려지는 오브젝트 정보가 비디오 메모리에서 소실되기 때문에 알파가 빠지는 오브젝트를 표현할 수 없다.

 

요구하는 하드웨어 사양이 포워드 렌더링 방식보다 높고, 해상도가 올라갈 수록 요구하는 메모리가 기하급수로 늘어난다.

 

안티앨리어싱을 구현하기 까다롭다.

 

 

디퍼드 렌더링 출처 - Forward Rendering vs Deferred Rendering (velog.io)

 

'프로그래밍 > 공부' 카테고리의 다른 글

[Graphics] 광원 효과  (0) 2023.08.02
[Graphics] 키프레임 애니메이션  (0) 2023.06.28
[Graphics] 쉐도우 매핑  (0) 2023.06.26
[Graphics] 노멀매핑 & 탄젠트 공간  (0) 2023.06.24
[Graphcis] 스키닝 애니메이션  (0) 2023.06.22

댓글