GPU 인스턴싱
그래픽스 하드웨어 성능과 에뮬레이션

스파스 텍스처(Sparse Textures)

Sparse Textures(“타일드 텍스처” 또는 “메가 텍스처”라고도 함)는 그래픽 메모리에 전부 들어가기에는 너무 큰 텍스처입니다. Unity에서는 스파스 텍스처를 처리하기 위해 메인 텍스처를 “타일”이라는 더 작은 사각형 섹션으로 나눕니다. 그런 다음 개별 타일을 필요에 따라 로드할 수 있습니다. 예를 들어 카메라가 스파스 텍스처의 작은 영역만 볼 수 있는 경우 현재 보이는 타일만 메모리에 저장하면 됩니다.

타일링을 제외하면 스파스 텍스처는 사용 중인 다른 텍스처처럼 동작합니다. 셰이더는 특별한 수정 없이 스파스 텍스처를 사용할 수 있고, 텍스처는 예를 들어 밉맵을 포함하고 모든 텍스처 필터링 모드를 사용할 수 있습니다. 특정 타일을 알 수 없는 이유로 로드할 수 없는 경우 결과가 정의되지 않습니다. 일부 GPU는 누락된 타일이 있어야 하는 위치에 검정색 영역을 표시하지만 이 동작은 표준화되지 않았습니다.

일부 하드웨어 및 플랫폼은 스파스 텍스처를 지원하지 않습니다. 예를 들어 DirectX 시스템에서는 DX11.2(Windows 8.1)와 최신 GPU가 필요합니다. OpenGL에서는 ARB_sparse_texture 확장 지원이 필요합니다. 스파스 텍스처는 비압축 텍스처 포맷만 지원합니다.

스크립트에서 스파스 텍스처를 처리하는 방법에 대한 자세한 내용은 SparseTexture 스크립트 레퍼런스 페이지를 참조하십시오.

예제 프로젝트

아주 간단한 스파스 텍스처 예제 프로젝트를 여기에서 사용할 수 있습니다.

예제 프로젝트에 표시되는 스파스 텍스처
예제 프로젝트에 표시되는 스파스 텍스처

이 예제에는 간단한 절차적 텍스처 패턴이 나오고, 예제에서 카메라를 움직여 텍스처 패턴의 여러 부분을 볼 수 있습니다. 이 프로젝트에는 최신 GPU와 DirectX 11.2(Windows 8.1) 시스템이 필요하거나 ARB_sparse_texture 지원 OpenGL을 사용해야 합니다.

GPU 인스턴싱
그래픽스 하드웨어 성능과 에뮬레이션