À propos du projet

DirectXTex est une bibliothèque C++ à code source partagé de Microsoft pour lire et écrire des fichiers .DDS et effectuer des opérations de traitement de contenu de texture. Ses capacités déclarées incluent le redimensionnement, la conversion de format, la génération de mipmaps, la compression par blocs pour les ressources de texture d'exécution Direct3D, et la conversion de carte de hauteur en carte de normales. La bibliothèque utilise les API Windows Image Component (WIC) et inclut également des lecteurs et des writers .TGA et .HDR, car ces formats sont courants dans les pipelines de texture mais ne disposent pas de codecs WIC intégrés. Le dépôt est organisé autour de la bibliothèque principale, ainsi que de plusieurs outils d'exemple et chargeurs d'exécution : - DirectXTex : la bibliothèque principale, avec un lecteur/writer DDS complet incluant des conversions de formats hérités, des lecteurs/writers TGA et HDR, un lecteur/writer de bitmap basé sur WIC (BMP, JPEG, PNG, TIFF, HD Photo), et des fonctions de traitement de texture. Seuls DirectXTex.h et DirectXTex.inl sont décrits comme des en-têtes publics ; la plupart des autres sont internes. - Auxiliary : fichiers source optionnels tels que des fonctions de chargement d'adaptateur utilisant OpenEXR et des extensions de pavage de texture Xbox. - Common : en-têtes source partagés utilisés par la bibliothèque et les outils. - Texconv : un utilitaire de texture en ligne de commande basé sur DirectXTex, prenant en charge des arguments similaires à l'outil texconvex.exe hérité, avec des différences dans les arguments -10/-11 et les noms de filtres, plus la prise en charge de JPEG XR (HD Photo). - Texassemble : un utilitaire en ligne de commande pour créer des cubemaps, des volume maps ou des tableaux de textures à partir d'images individuelles en entrée. - Texdiag : un utilitaire en ligne de commande pour analyser le contenu des images, principalement pour le débogage. - DDSView : une visionneuse simple basée sur Direct3D 11 pour les fichiers DDS, avec navigation au clavier pour les tableaux de textures et les volume maps. - DDSTextureLoader : un chargeur DDS d'exécution léger pour Direct3D 9, 11 et 12 qui n'effectue aucune conversion de données de pixels à l'exécution et prend en charge les textures 1D, 2D, les volume maps, les cubemaps, les niveaux de mipmap, les tableaux de textures et les formats BC. - ScreenGrab : modules d'écriture de texture pour Direct3D 9, 11 et 12, principalement pour les captures d'écran, écrivant des fichiers DDS ou des formats d'image pris en charge par WIC. - WICTextureLoader : un chargeur de texture 2D pour Direct3D 9, 11 et 12 qui utilise WIC pour charger des bitmaps, redimensionner en fonction du niveau de fonctionnalité ou d'un paramètre explicite, convertir le format en un DXGI_FORMAT si nécessaire, et créer une texture 2D. Il ne prend pas en charge les textures 1D, les textures de volume, les cubemaps ou les tableaux de textures. Les exigences de compilation notées dans le README incluent Visual Studio 2022 ou 2026, clang pour Windows v12 ou ultérieur, ou MinGW, avec le SDK Windows 11 (22000) ou ultérieur requis pour Visual Studio. Il peut également être compilé pour le sous-système Windows pour Linux en utilisant GCC 11 ou ultérieur. Les projets CMake nécessitent la version 3.21 ou ultérieure. Les composants sont conçus pour fonctionner sans le contenu du SDK DirectX hérité. La documentation est hébergée sur le wiki GitHub. Le README documente également l'installation de compétences CoPilot CLI, les notes de version couvrant les changements d'API (tels que les indicateurs de masque de bits d'énumération typés et le changement CREATETEX_FLAGS), la dépréciation de certains packages NuGet au profit de vcpkg, la fin de prise en charge de Windows 7 et Windows 8.0, et les options longues de style GNU pour les outils en ligne de commande. Le projet est sous licence MIT et accueille les contributions sous un CLA, avec des tests soumis à un dépôt de suite de tests distinct.