반응형
개요
사실 SW Render Technique라기 보다는 GPU Render Technique
- 화면 공간을 여러 Tile(or Grid)로 나누어 렌더링 하는 방식
- Tile-based Rendering(=TBR), Sort-middle Architecture라고도 불린다.
- 중간에 어떤 Tile에 어떤 Geometry가 그려질지 결정하기 때문
- 기존의 Immediate Rendering(=IM)은 Sort-Last
- 이렇게 나누면 동일한 (빈 공간이나 동일한 배경) 타일을 활용할 수도 있고 HW의 성능이 떨어질 경우 적은 리소스만 가지고도 렌더링이 가능하다.
순서
- Rendering 하기 전에 Geometry가 어느 Tile에 그려질지 결정해야 한다.
- Modern GPU에서는 CPU가 아닌 GPU에서 수행 가능
- 보통 Tile은 16x16이나 32x32 크기
- 각 Tile은 자신이 그릴 Geometry 리스트를 메모리에 가지고 있어야 한다.
- Geometry 리스트는 Front-to-Back 순서로 정렬해 놓는다.
- On-chip Buffer라고 불리는 작은 메모리에 각 Tile을 렌더링한다.
- Large On-chip Buffer도 있는데 이는 Immediate Rendering과 Tiled Rendering의 경계
- 이 작업은 병렬로 처리할 수 있다.
- 이후 최종 Pixel을 그리기 위해 Tile 렌더링 결과물을 외부 메모리에 옮긴다.
사용한 Console, Embedded
아래 예들을 보면 알겠지만 상당히 오래된 개념이다. 초창기 Graphics에서는 대부분 Tile-based Architecture를 채택하였는데 추후 External Memory가 속도, 용량면에서 모두 발전하면서 Immediate Rendering으로 대체되었다고 한다. 그런데 최근에 Mobile때문에 다시 연구/활용되는 듯.
Tile-based Immediate Rendering (=TBIM)
- Dreamcast
- PS Vita
- NVIDIA Maxwell
- ARM Mali
- Qualcomm Adreno
Large On-chip Buffer
- XBOX 360
- XBOX One
Tile-based Deferred Rendering (=TBDR)
- PowerVR 5/6/7
- VideoCore IV
참고
https://en.wikipedia.org/wiki/Tiled_rendering
http://www.realworldtech.com/tile-based-rasterization-nvidia-gpus/
반응형
'Game Dev > Article' 카테고리의 다른 글
Forward+ Rendering (1) | 2016.10.19 |
---|---|
Premultiplied alpha (0) | 2016.10.14 |
Inferred Lighting (0) | 2016.10.13 |
Light Pre-Pass Renderering (=Deferred Lighting) (0) | 2016.10.09 |