
Récemment, la sortie de SDL 3.2 a été annoncée, qui se présente comme la première version stable de la branche SDL 3 et a introduit des améliorations importantes, de nouvelles fonctionnalités, des ajustements, des API, des corrections et bien plus encore.
Pour ceux qui ne connaissent pas la bibliothèque SDL, sachez qu'elle fournit des outils tels que la sortie graphique 2D et 3D accélérée par le matériel, le traitement des entrées, la lecture audio, la sortie 3D via OpenGL/OpenGL ES et de nombreuses autres opérations connexes.
Principales nouvelles fonctionnalités de SDL 3.2
Dans SDL 3.2, il est mis en évidence Prise en charge améliorée de Wayland, ça maintenant Il est activé par défaut sur les systèmes offrant une compatibilité avec Wayland et X11, tant qu'ils prennent en charge les extensions fifo-v1 et commit-timing-v1. L'utilisation du serveur média PipeWire, jugé plus performant que PulseAudio, est également priorisée par défaut. De plus, la possibilité de capturer des vidéos à partir de webcams a été ajoutée, à condition que PipeWire soit disponible.
Une autre nouveauté est le Ajout de la prise en charge des tablettes graphiques et des stylets numériques, ainsi qu'une prise en charge optimisée des écrans DPI. De même, la gestion de l'espace colorimétrique a été implémentée, vous permettant de travailler avec plusieurs configurations et offrant une prise en charge initiale du HDR.
Dans les améliorations sonores, Dans SDL 3.2, le code a été complètement repensé, intégrant de nouveaux outils pour gérer les périphériques audio logiques, facilitant le fonctionnement des différentes parties d'un programme avec des appareils indépendants. De plus, des fonctionnalités ont été incluses pour travailler avec des flux audio, effectuer des conversions, ajuster la fréquence d'échantillonnage, mélanger les sons et gérer la mise en mémoire tampon, ainsi que la possibilité de modifier la hauteur et le volume. Enfin, la reconnaissance des appareils sonores connectés ou déconnectés et la gestion dynamique du périphérique sonore par défaut ont été automatisées.
Un autre des ajouts les plus notables est l'incorporation d'un backend dans l'API de rendu 2D, qui permet de profiter de la puissance de Vulkan pour le rendu et la manipulation de surfaces à l'aide de cette API. De plus, il y a eu un nettoyage majeur des fonctionnalités considérées comme obsolètes, telles que la prise en charge d'OpenGL ES 1.0 et DirectFB, ainsi que la suppression de la prise en charge des plates-formes héritées telles que QNX, Pandora, WinRT et OS/2.
SDL 3.2 introduit également le possibilité de structurer les programmes à l'aide du callback et de définir la boucle de traitement des événements directement dans la fonction principale du code. De plus, set mis en œuvre des changements dans l'APJe romps avec la compatibilité précédente, mais je recherche une plus grande cohérence en unifiant les règles de dénomination dans tous les sous-systèmes.
Dans nouveaux outils inclus, mettent en avant plusieurs API conçues pour couvrir différents besoins. Entre elles:
- L'API GPU permet un accès multiplateforme aux fonctions de rendu 3D, tandis que l'API Dialog facilite la sélection, l'ouverture et l'enregistrement de fichiers et de répertoires.
- L'API File System ajoute la prise en charge de la gestion des répertoires et de la recherche de fichiers, tandis que l'API Storage fournit une interface abstraite pour interagir avec divers systèmes de stockage.
- API de caméra pour l'accès à la webcam
- API Pen pour travailler avec des tablettes graphiques
- API de propriétés pour gérer les paramètres au format clé-valeur
- API de processus qui facilite l'exécution et la communication avec les processus secondaires.
- L'API de métadonnées a également été ajoutée pour définir des informations sur les applications, telles qu'utilisées dans les menus des systèmes d'exploitation tels que macOS.
Quant au presse-papiers, ses fonctionnalités ont été étendues, permettant désormais aux données d'être transférées dans plusieurs formats. De leur côté, les capacités de gestion des saisies au clavier ont été améliorées, en ajoutant des options pour configurer les claviers virtuels sur les appareils iOS et Android. De plus, la documentation de l'API a été revue et améliorée, accompagnée d'exemples pratiques pouvant être exécutés directement depuis un navigateur.
Enfin et surtout, il convient également de noter que Avec SDL 3.2, la couche de compatibilité sdl2-compat a été publiée, conçu pour assurer une transition transparente entre SDL 2 et SDL 3. Ce composant vous permet d'exécuter des programmes écrits pour SDL 2 en profitant des fonctionnalités de la nouvelle branche, en remplacement complet de la version précédente.
Vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.