타일 렌더링

위키백과, 우리 모두의 백과사전.

타일 렌더링(Tiled rendering)은 광학 공간에 일반적인 그리드 형태로 컴퓨터 그래픽 이미지를 세분화하고 그리드 또는 타일의 각 섹션을 개별적으로 렌더링하는 프로세스이다. 이 설계의 이점은 한번에 전체 프레임을 그리는 즉각 모드 렌더링 시스템에 비해 사용하는 메모리와 대역폭의 양이 줄어드는 것이다. 이로 인해 타일 렌더링 시스템이 특히 저전력 모바일 장치에서 일반적으로 사용될 수 있다. 타일 렌더링은 끝부분이 아닌 그래픽 파이프라인의 중간에서 기하학적 정렬을 수행하기 때문에 때때로 "sort middle" 아키텍처로 알려져 있다. [1]

기본 개념[편집]

출력할 3D이미지 생성은 일련의 단계로 이루어진다. 먼저, 표시할 객체가 개별적 모델에서 메모리로 로드 된다. 그리고 이 시스템은 모델을 공통 좌표계로 변환하기 위해 수학적 함수를 적용한다. 그 다음 세계를 바라보는 시점에서 폴리곤(다각형)의 집합으로 대략적으로 원래 모델을 특정 시점(카메라)에서 비슷해보이도록 만든다.

초기 작업[편집]

타일 렌더링에 대한 초기 작업의 대부분은 Pixel Planes 5 아키텍처의 일부분으로 수행되었다.[2][3]

Pixel Planes 5 프로젝트는 타일 접근 방식을 검증하였고, 현재 타일 렌더링에 대한 표준으로 간주되는 대부분의 기술을 발명하였다. 현장에서 다른 논문에서 가장 널리 인용된 작업이다.

타일 접근은 소프트웨어 렌더링의 역사 초기에 알려졌다. Reyes rendering의 구현은 종종 "타일 버킷(tile buckets)"으로 이미지를 나눈다.

상업 제품 - 데스크탑과 비디오 콘솔[편집]

데스크탑 GPU의 개발 초기에, 몇몇 회사는 타일 아키텍처를 개발했다. 시간이 지남에 따라, 이들은 빠른 맞춤형 외장 메모리를 갖춘 직접 모드(immediate-mode) GPU로 대체되었다.

주요 사례:

커다란 온칩 버퍼를 사용하는 타일 기반 아키텍처가 아닌 예제는 다음과 같다:

  • 엑스박스 360 (2005): the GPU contains an embedded 10 MiB eDRAM; this is not sufficient to hold the raster for an entire 1280×720 image with 4× multisample anti-aliasing, so a tiling solution is superimposed when running in HD resolutions and 4× MSAA is enabled.[7]
  • Xbox One (2013): the GPU contains an embedded 32 MiB eSRAM, which can be used to hold all or part of an image. It is not a tiled architecture, but is flexible enough that software developers can emulate tiled rendering.[8]

상업 제품 - 임베디드[편집]

상대적으로 낮은 외부 메모리 대역폭과 요구된 온칩 메모리의 양으로 인해 타일 렌더링은 임베디드 GPU에서 널리 사용되는 기술이다. 현재 예제는 다음과 같다:

타일 기반 즉시 모드 렌더링(Tile-based immediate mode rendering, TBIM):

  • ARM Mali 시리즈.[9]
  • Qualcomm Adreno (300 시리즈와 최신 시리즈는 FlexRender를 통해 동적으로 즉시(immediate)/직접(direct) 모드를 스위치 할 수 있음).[10][11]

타일 기반 지연 렌더링(Tile-based deferred rendering, TBDR):

Vivante는 밀접하게 연관된 프레임 버퍼 메모리(위에서 설명한 Xbox 360 GPU와 유사)를 탑재한 모바일 GPU를 생산한다. 스크린의 일부를 렌더링 하기 위해 사용되더라도 렌더링 된 영역이 커다란 것은 일반적으로 타일 기반 아키텍처를 사용하지 않는다는 것을 의미한다.

각주[편집]

  1. Molnar, Steven (1994년 4월 1일). “A Sorting Classification of Parallel Rendering” (PDF). IEEE. 2014년 9월 12일에 원본 문서 (PDF)에서 보존된 문서. 2012년 8월 24일에 확인함. 
  2. Mahaney, Jim (1998년 6월 22일). “History”. 《Pixel-Planes》. University of North Carolina at Chapel Hill. 2008년 9월 29일에 원본 문서에서 보존된 문서. 2008년 8월 4일에 확인함. 
  3. Fuchs, Henry (1989년 7월 1일). “Pixel-planes 5: a heterogeneous multiprocessor graphics system using processor-enhanced memories”. 《Pixel-Planes》. ACM. 2012년 8월 24일에 확인함. 
  4. Smith, Tony (1999년 10월 6일). “GigaPixel takes on 3dfx, S3, Nvidia with... tiles”. 《Gigapixel》. The Register. 2012년 10월 3일에 원본 문서에서 보존된 문서. 2012년 8월 24일에 확인함. 
  5. mestour, mestour (2011년 7월 21일). “Develop 2011: PS Vita is the most developer friendly hardware Sony has ever made”. 《PS Vita》. 3dsforums. 2011년 7월 21일에 확인함. [깨진 링크]
  6. Kanter, David (August 1, 2016). “Tile-based Rasterization in Nvidia GPUs”. 《Real World Technologies》. 2016년 8월 4일에 원본 문서에서 보존된 문서. April 1, 2016에 확인함. 
  7. LLC), Tara Meyer (Aquent. “XNA Game Studio 4.0 Refresh”. 《msdn.microsoft.com》. 2015년 1월 7일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함. 
  8. “Xbox One developer: upcoming SDK improvements will allow for more 1080p games”. 
  9. “Mali rendering strategy”. ARM. 2016년 3월 4일에 원본 문서에서 보존된 문서. 2018년 10월 27일에 확인함. 
  10. “An update on the freedreno graphics driver”. lwn.net. 2015년 9월 5일에 원본 문서에서 보존된 문서. 2015년 9월 15일에 확인함. 
  11. “The rise of mobile gaming on android” (PDF). Qualcomm. 5쪽. 2014년 11월 9일에 원본 문서 (PDF)에서 보존된 문서. 17 September 2015에 확인함. 
  12. “A look at the PowerVR graphics architecture: Tile-based rendering”. Imagination Technologies. 2015년 4월 5일에 원본 문서에서 보존된 문서. 2015년 9월 15일에 확인함. 
  13. “VideoCoreIV-AG100” (PDF). Broadcom. 2013년 9월 18일. 2015년 3월 1일에 원본 문서 (PDF)에서 보존된 문서. 2015년 1월 10일에 확인함.