Mipmap 압축
타일식 리소스 지원 계층 에 따라 특정 차원의 Mipmap은 표준 타일 셰이프를 따르지 않으며 모두 애플리케이션에 불투명한 방식으로 서로 함께 압축된 것으로 간주됩니다. 더 높은 계층의 지원은 어떤 유형의 표면 크기가 표준 타일 모양에 맞는지(따라서 애플리케이션에서 개별적으로 매핑할 수 있는지)에 대해 더 폭넓은 보증을 받습니다.
구현마다 다를 수 있는 것은 바둑판식 리소스의 크기, 형식, mipmap 수 및 배열 조각이 주어진 경우 일부 MM(배열 조각당)을 일부 N개의 타일로 압축할 수 있다는 것입니다. ID3D11Device2::GetResourceTiling API는 드라이버가 M과 N이 무엇인지 애플리케이션에 보고할 수 있도록 존재합니다(이 API가 표준이며 하드웨어 공급업체에 따라 달라지지 않는 표면에 대한 다른 세부 정보 중 하나). 압축된 mips의 타일 집합은 여전히 64KB이고 타일 풀의 서로 다른 여러 위치에 개별적으로 매핑할 수 있습니다. 하지만 타일의 픽셀 모양과 타일 집합 전반에 걸쳐 mipmap이 맞아들어가는 방식은 하드웨어 공급업체에 따라 다르고 너무 복잡해 노출할 수 없습니다. 따라서 애플리케이션은 압축된 것으로 지정된 모든 타일을 매핑하거나 그중 아무것도 매핑하지 않아야 합니다. 그렇지 않으면 타일식 리소스에 액세스하는 동작이 정의되지 않습니다.
배열형 표면의 경우, 압축된 mips의 집합과 그러한 mips(앞서 설명한 M 및 N)를 저장하고 있는 압축된 타일의 개수가 각 배열 슬라이스에 개별적으로 적용됩니다.
타일을 복사하기 위한 전용 API(ID3D11DeviceContext2::CopyTiles 및 ID3D11DeviceContext2::UpdateTiles)는 압축된 밉에 액세스할 수 없습니다. 압축된 mips 간 데이터를 복사하려는 애플리케이션은 타일이 지정되지 않은 모든 리소스 특정 API를 사용하여 표면으로 복사 및 렌더링할 수 있습니다.
관련 항목