Version: 2020.2
언어: 한국어
가상 텍스처링 스트리밍 요구 사항 및 호환성
프로젝트에서 가상 텍스처링 스트리밍 활성화

가상 텍스처링 스트리밍의 작동 방식

가상 텍스처링 스트리밍(SVT) 시스템은 텍스처를 타일로 분할합니다.

런타임 시점에 SVT가 텍스처를 샘플링할 때 다음을 수행합니다.

  • 간접 텍스처를 샘플링하고, 비가상 UV를 계산하고, 이러한 UV로 캐시 텍스처를 샘플링합니다.
  • 가상 UV를 타일 ID로 변환하고, 이러한 타일 ID를 수신하는 추가 렌더링 타겟을 바인딩합니다. CPU는 이 렌더 타겟을 메인 메모리에 비동기적으로 다시 복사하고, 별도의 스레드에서 처리하여 비동기 읽기 관리자가 디스크에서 GPU 메모리 캐시로 이러한 타일(아직 없는 경우)을 로드하도록 요청합니다.

이러한 런타임 작업의 비용은 텍스처를 그룹화하여 동시에 샘플링하는 것이 더 효율적임을 의미합니다. 이러한 프로세스를 텍스처 스택이라고 합니다. 또한 동일한 UV 좌표를 사용하여 동시에 샘플링되는 텍스처 그룹은 텍스처 스택이라고 부릅니다.

SVT는 프레임 렌더링 동안 타일에 대한 요청을 발행하므로, 요청된 타일이 GPU 캐시에 로드되는 데 몇 밀리초에서 몇 초까지 걸릴 수 있습니다. 일부의 경우 GPU 캐시에 전혀 로드되지 않을 수도 있습니다. 요청된 타일이 캐시에 로드되지 않으면 SVT는 자동 폴백 메커니즘을 사용하여, 요청된 타일이 캐시에 존재할 때까지 더 높은 밉맵 레벨의 타일을 샘플링합니다. 따라서 타일이 완전히 로드되기 전까지 디테일 수준(LOD)이 낮아질 수 있습니다.

고해상도 렌더 파이프라인 디버그 뷰의 SVT

고해상도 렌더 파이프라인(HDRP) 디버그 뷰는 동일한 타일을 요청하는 인접 화면 픽셀 수를 보여줍니다.

HDRP 디버그 뷰를 열려면 Unity 상단 메뉴로 이동한 후 Window > Render Pipeline > Render Pipeline Debug > Rendering을 선택합니다. SVT에 대한 디버그 데이터를 보려면 Fullscreen Debug ModeVirtualTexturingFeedback으로 설정합니다.

디버그 뷰는 각 타일 ID에 대해 고유한 컬러를 사용합니다.
디버그 뷰는 각 타일 ID에 대해 고유한 컬러를 사용합니다.

동일한 텍스처 타일을 샘플링하는 픽셀은 동일한 컬러를 사용합니다. 색조(녹색, 빨간색 등)는 타일이 속하는 밉맵 레벨을 나타냅니다. 예를 들어 노란 빛깔이 나는 모든 타일은 텍스처의 밉맵 1에 속합니다.

가상 텍스처링 스트리밍 요구 사항 및 호환성
프로젝트에서 가상 텍스처링 스트리밍 활성화