타일형 리소스 영역이 타일화된 방법

바둑판식 리소스를 만들 때 차원, 서식 요소 크기 및 mipmap 및/또는 배열 조각 수(해당하는 경우)는 전체 노출 영역을 백업하는 데 필요한 타일 수를 결정합니다. 타일 내의 픽셀/바이트 레이아웃은 구현에 의해 결정됩니다. 타일에 맞는 픽셀의 수는 표준 swizzle을 사용하는지에 관계없이 형식 요소 크기에 따라 고정되고 동일합니다.

지정된 표면 크기에 사용되는 타일의 수와 형식 요소의 너비는 잘 정의되어 있고 다음 섹션의 표를 기반으로 예측 가능합니다. Mipmap이 포함된 리소스 또는 표면 차원이 타일을 채우지 않는 경우 일부 제약 조건이 존재하며 Mipmap 압축에서 설명합니다.

애플리케이션이 하나의 형식으로 메모리에 쓰고 다른 형식으로 읽는 결과에 의존하지 않는 한 다른 타일식 리소스는 서로 다른 형식의 동일한 메모리를 가리킬 수 있습니다. 그러나 제한된 상황에서 애플리케이션은 형식이 동일한 형식 패밀리(즉, 무형식 부모 형식)에 있는 경우 한 형식으로 메모리에 쓰고 다른 형식으로 읽는 결과에 의존할 수 있습니다. 예를 들어, DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT은 서로 호환되지만 DXGI_FORMAT_R16G16_UNORM과는 호환되지 않습니다. 타일 패턴이 매우 보수적으로 정의되지 않았기 때문에 두 텍스처 간에 데이터를 재해석하려면 애플리케이션이 모든 리소스 속성과 보수적으로 일치해야 합니다. 분명히, 그래도, 형식은 더 느슨한. 형식은 위에 설명된 대로 호환되어야 합니다. 하지만 한 형식 앨리어싱에서 다른 형식으로의 데이터 변환이 잘 정의되어 있는 경우는 예외입니다. 타일의 모든 비트가 0으로 완전히 채워진 경우, 메모리 콘텐츠를 0으로 해석하는 모든 형식에 메모리 레이아웃에 관계없이 이 타일을 사용할 수 있습니다. 따라서 타일이 DXGI_FORMAT_R8_UNORM 형식을 통해 0x00으로 지우면 DXGI_FORMAT_R32G32_FLOAT과 같은 형식으로 사용할 수 있으며 내용은 여전히 (0.0f,0.0f)로 표시됩니다.

타일 내의 데이터 레이아웃은 리소스 속성, 리소스 속성이 있는 하위 리소스 및 하위 리소스 내의 타일 위치에 따라 달라질 수 있습니다. 위의 주요 예외는 다른 리소스 속성과 호환되는 형식과 모든 텍셀이 동일한 패턴인 경우입니다.

섹션 내용

항목 설명
Texture2D 및 Texture2DArray 하위 리소스 타일링
다음은 Texture2DTexture2DArray 하위 리소스 타일 방식을 나타낸 표입니다.
Texture3D 하위 리소스 타일링
다음은 Texture3D 하위 리소스 타일 방식을 나타낸 표입니다.
버퍼 타일링
버퍼 리소스는 64KB의 크기로 분할되며, 크기가 64KB의 곱이 아닌 경우 마지막 타일에 약간의 빈 공간이 포함됩니다.
Mipmap 압축
타일식 리소스 지원 계층 에 따라 특정 차원의 mipmap은 표준 타일 셰이프를 따르지 않으며 애플리케이션에 불투명한 방식으로 모두 서로 함께 압축되는 것으로 간주됩니다.

타일형 리소스 만들기