À propos du projet

bgfx est une bibliothèque de rendu multiplateforme conçue pour être indépendante de l'API graphique, suivant une philosophie « Apportez votre propre moteur/framework ». Elle fournit une API unifiée qui fait abstraction de divers backends graphiques, permettant aux développeurs d'écrire du code de rendu une seule fois et de l'exécuter sur plusieurs plateformes sans être verrouillés dans une API graphique spécifique. **Backends de rendu pris en charge :** - Direct3D 11 - Direct3D 12 - GNM (pour les développeurs PS4 sous licence) - Metal - OpenGL 4.3+ - OpenGL ES 3.0+ - Vulkan - WebGL 2.0 - WebGPU (Dawn Native uniquement) **Plateformes prises en charge :** - Android (4.0+, API 14 ou ultérieure) - iOS/iPadOS/tvOS (16.0+) - Linux - macOS (13.0+) - PlayStation 4 - RaspberryPi - UWP (Windows universel, Xbox One) - Wasm/Emscripten - Windows (7+) **Compilateurs pris en charge :** - Clang 11 et supérieur - GCC 11 et supérieur - VS2022 et supérieur - Apple clang 12 et supérieur **Liaisons linguistiques :** bgfx offre des liaisons officielles et communautaires pour plusieurs langages, notamment C/C++, C#, Python, D, Go, Haskell, Java (via LWJGL), Lua, Nim, Pascal, Rust, Swift et Zig. Cela le rend accessible à un large éventail de développeurs. **Qui l'utilise ?** bgfx est largement adopté dans l'industrie et la communauté open-source. Les utilisateurs notables incluent : - **Jeux :** AirMech, Offroad Legends 2, Zombie Safari, Smith and Winston, Football Manager 2018, Heroes of Hammerwatch, Minecraft (pour certaines plateformes), Guild Wars 2, Griftlands, WARCANA, et bien d'autres. - **Moteurs et outils :** Crown, Torque6, CETech, ioquake3 (renderer), Ethereal Engine, NeoAxis Engine, Babylon Native, HARFANG 3D, et plus. - **Autres applications :** MAME (émulateur), cmftStudio (outil de cubemap), Kepler Orbits, Nira (rendu de modèles 3D), et divers projets demoscene. La bibliothèque est activement maintenue, avec une communauté solide sur Discord et GitHub Discussions. Elle est sous licence BSD 2-clause, ce qui la rend permissive pour une utilisation open-source et commerciale.