Deferred Shading

개요

  • Screen-space shading의 일종
  • 2번의 렌더링이 필요하고 1번째 Pass에서는 Shading이 일어나지 않기 때문에 Deferred(=지연) rendering
    • 1번째 : G-Buffer에 모든 오브젝트의 Diffuse, Normal, Depth 등 계산에 필요한 정보만 기록
    • 2번째 : 모든 광원을 돌면서 G-Buffer에 기록된 정보를 이용해 Frame-Buffer를 그림

장점

  • 오브젝트와 광원의 계산 복잡도가 분리된다. (M * N → M + N)
  • SSAO 등 Screen-space postprocessing과 잘 어울린다.

단점

  • 투명한 오브젝트 처리가 안 된다.
    • 투명한 오브젝트는 따로 그린다.
    • Depth peeling 등 Order-independent transparency 기법을 사용한다.
  • 다양한 Material을 사용하기 힘들다.
  • 하드웨어 Anti-aliasing이 불가능하다.
    • Edge-detection을 수행한 이후 Blur한다.
    • MLAA, FXAA, SRAA, DLAA, post MSAA, Temporal AA 등의 기법을 수행한다.
    • DX10부터는 API 향상으로 HW AA가 좀 더 편해졌다.

참고

https://en.wikipedia.org/wiki/Deferred_shading

results matching ""

    No results matching ""