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