다음을 통해 공유


볼륨 타일형 리소스

볼륨(3D) 텍스처는 타일식 리소스로 사용할 수 있으며 타일 해상도는 3차원입니다.

개요

타일식 리소스는 D3D 리소스 개체를 백업 메모리에서 분리합니다(과거의 리소스는 지원 메모리와 1:1 관계가 있었습니다). 이렇게 하면 텍스처 데이터 스트리밍, 메모리 사용량 재사용 또는 감소와 같은 다양한 흥미로운 시나리오를 사용할 수 있습니다.

2D 텍스처 타일식 리소스는 D3D11.2에서 지원됩니다. D3D12 및 D3D11.3은 3D 바일식 텍스처에 대한 지원을 추가합니다.

타일링에 사용되는 일반적인 리소스 크기는 2D 텍스처의 경우 4 x 4 타일, 3D 텍스처의 경우 4 x 4 x 4 타일입니다.

비트/픽셀(샘플/픽셀 1개) 타일 차원(픽셀, w x h x d)
8 64x32x32
16 32x32x32
32 32x32x16
64 32x16x16
128 16x16x16
BC 1,4 128x64x16
BC 2,3,5,6,7 64x64x16

 

타일식 리소스에서는 96bpp 형식, 비디오 형식, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM 지원되지 않습니다.

아래 다이어그램에서 진한 회색은 NULL 타일을 나타냅니다.

텍스처 3D 타일식 리소스 기본 매핑(가장 자세한 밉)

가장 자세한 밉 기본 매핑

텍스처 3D 타일식 리소스 기본 매핑(두 번째로 자세한 밉)

가장 자세한 두 번째 밉 기본 매핑

텍스처 3D 타일식 리소스(가장 자세한 밉)

다음 코드는 가장 자세한 밉에서 3D 타일식 리소스를 설정합니다.

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 63;

3D 바일드 리소스

텍스처 3D 타일식 리소스(두 번째로 자세한 밉)

다음 코드는 3D 타일식 리소스와 두 번째로 자세한 밉을 설정합니다.

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 1;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 6;

3D 타일 리소스 두 번째로 자세한 매핑입니다.

텍스처 3D 바둑판식 리소스(단일 타일)

다음 코드는 단일 타일 리소스를 설정합니다.

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 1;
trCoord.Z = 1;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

단일 타일

텍스처 3D 타일식 리소스(Uniform Box)

다음 코드는 Uniform Box 타일식 리소스를 설정합니다(문은 trSize.bUseBox = true;) :

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 0;
trCoord.Y = 1;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

균일한 상자

D3D11.3 타일형 리소스 API

동일한 API 호출은 2D 및 3D 타일형 리소스 모두에 사용됩니다.

열거형

구조

방법

direct3D 11.3 기능