Format DDS — omówienie
Ten temat zawiera informacje na temat natywnego kodera DDS dostępnego za pośrednictwem składnika Windows Imaging (WIC).
Tożsamość kodeka
Poniższa tabela zawiera informacje dotyczące identyfikacji koderów.
Składnik | Opis |
---|---|
Nazwy formalne | Powierzchnia DirectDraw |
Rozszerzenie(-a) nazwy pliku | dds |
Typ MIME | image/vnd.ms-dds |
W poniższej tabeli wymieniono identyfikatory GUID używane do identyfikowania natywnych składników koderów DDS.
Składnik | Przyjazna nazwa | GUID (Globalnie Unikalny Identyfikator) |
---|---|---|
Format pojemnika | GUID_ContainerFormatDds | 9967cb95-2e85-4ac8-8ca283d7ccd425c9 |
Dekoder | CLSID_WICDdsDecoder | 9053699f-a341-429d-9e90ee437cf80c73 |
Koder | CLSID_WICDdsEncoder | a61dde94-66ce-4ac1-881b7168058895e |
Obsługa formatu pikseli
Należy pamiętać, że format DDS obsługuje dowolną prawidłową wartość DXGI_FORMAT. Jednak koder WIC DDS obsługuje tylko dekodowanie i kodowanie plików zawierających następujące formaty:
- DXGI_FORMAT_BC1_UNORM
- DXGI_FORMAT_BC2_UNORM
- DXGI_FORMAT_BC3_UNORM
Kodowanie
Interfejsy API kodowania WIC są zaprojektowane jako niezależne od kodeka, dlatego kodowanie obrazów dla kodeków obsługujących WIC jest zasadniczo takie samo. Aby uzyskać więcej informacji na temat kodowania obrazów przy użyciu interfejsu API WIC, przeczytaj Omówienie kodowania.
Format pliku DDS ma unikatowe wymagania wynikające z obsługi pojęć, takich jak mipmaps i tablice tekstur. Aby w pełni kontrolować kodowanie obrazów DDS, należy użyć interfejsuIWICDsEncoder, aby ustawić parametry kodowania specyficzne dla usługi DDS.
Dekodowanie
Interfejsy API dekodowania WIC zostały zaprojektowane jako niezależne od kodeka, a dekodowanie obrazów przy użyciu kodeków z obsługą WIC jest zasadniczo takie samo. Aby uzyskać więcej informacji na temat dekodowania obrazów, zobacz Omówienie dekodowania. Aby uzyskać więcej informacji na temat używania zdekodowanych danych obrazu, zobacz Bitmap Sources Overview (Omówienie źródeł map bitowych).
Blokuj dostęp do skompresowanych danych
Oprócz obsługi standardowych interfejsów kodera WIC, dekoder DDS zapewnia bezpośredni dostęp do skompresowanych danych natywnych bloków przy użyciu interfejsów specyficznych dla formatu DDS, IWICDdsDecoder i IWICDdsFrameDecode. Aby użyć tych interfejsów, wywołaj metodę QueryInterface z IWICBitmapDecoder oraz IWICBitmapFrameDecodeodpowiednio.