본문 바로가기
그래픽스

[그래픽스] 포워드 렌더링 & 디퍼드 렌더링 (Forward Rendering & Deferred Rendering)

728x90
반응형

🎲 포워드 렌더링이란?

포워드 렌더링은 하나의 렌더타겟에 모든 렌더링을 처리하는 방식입니다. 드로우콜이 들어올 때 마다 해당 오브젝트를 픽셀화한 뒤에 라이팅 연산을 처리하여 렌더 타겟에 그려줍니다. 즉, 오브젝트의갯수 X 라이트의 갯수 만큼 모두 연산을 처리해줘야 하기 때문에 오브젝트와 라이트의 수가 늘어나는 만큼 연산량도 비례하여 증가합니다. 

 

🎨 렌더 타겟을 하나만 사용하기 때문에 메모리 대역폭이 비교적 적어서 모바일 환경에도 적합합니다.

🎨 안티앨리어싱을 하드웨어에서 처리하기 때문에 완벽에 가까운 처리가 가능합니다.

🎨 모든 오브젝트들에 대해서 라이트연산을 해주기 때문에 오버드로우가 발생합니다.

 

 

🎲 디퍼드 렌더링이란?

여러개의 렌더타겟에 각각의 다른 렌더링을 연산하여 주고 마지막에 Final RenderTarget에 합쳐주는 방식입니다. 이때, 라이팅 연산은 각각의 렌더타겟에서 시행하기 때문에 포워드 렌더링과는 달리 렌더타겟의 갯수 X 라이트의 갯수 만큼의 연산을 요구합니다. 이러한 이유로 모바일환경에서는 적합하지 않지만 많은량의 오브젝트와 라이트가 있는 환경에서는 높은 퍼포먼스를 보여줍니다.

 

🎨 렌더타겟이 여러개이기 때문에 넓은 메모리 대역폭 요구합니다.

🎨 그림자와 포스트 이펙트 처리에 유용합니다.

🎨 edge detection처리가 불가능하기에 안티앨리어싱 불가능합니다.

🎨 오브젝트 뒤에 픽셀값을 모르기 때문에 불투명 오브젝트 처리가 불가능합니다.

 

반응형