Découvrir la bibliothèque d'interface utilisateur graphique C++ Dear ImGui, parrainée par UbiSoft

Par:
fredericmazue

lun, 23/12/2019 - 16:58

Suite à son adhésion au Blender Development Fund pour soutenir l'animation open source début 2019, Ubisoft a annoncéle son parrainage du projet open source Dear ImGui, une interface utilisateur graphique bloat-free pour C++.

Ubisoft utilise Dear ImGui depuis 2 ans, notamment au sein de l'équipe de Assassin's Creed et l'équipe de Rainbow Six Siege.

"Dear ImGui est une élégante interface graphique en mode immédiat qui change fondamentalement la façon dont les outils de production et de débogage sont développés chez Ubisoft. Cette bibliothèque de productivité est un moyen incroyablement efficace d'améliorer la qualité de ces outils", explique Nicolas Fleury, architecte technique sur Rainbow Six Siege.

Indéniablement, Dear ImGui est une bibliothèque à découvrir. Ses concepteurs expliquent que Dear ImGui est conçue pour permettre des itérations rapides et pour permettre aux programmeurs de créer des outils de création de contenu et des outils de visualisation / débogage (par opposition à l'interface utilisateur pour l'utilisateur final moyen). Dear ImGui favorise la simplicité et la productivité, mais manque certaines fonctionnalités que l'on trouve normalement dans les bibliothèques de plus haut niveau.

Les concepteurs de Dear ImGui soulignent que cet outil est particulièrement adapté à l'intégration dans un moteur de jeux (pour l'outillage), des applications 3D en temps réel, des applications plein écran, des applications intégrées ou toutes applications sur les plates-formes de consoles où les fonctionnalités du système d'exploitation ne sont pas standard.

Le cœur de Dear ImGui est autonome. Il est constitué de quelques fichiers indépendants de la plate-forme que vous pouvez facilement ajouter aux fichiers de votre application.

Une fois que Dear ImGui est incorporé dans votre application, vous pouvez l'utiliser n'importe où dans votre boucle de programme. Par exemple :

ImGui :: Text ( " Bonjour, monde% d " , 123 );
if (ImGui :: Button ( " Save " ))
     MySaveFunction ();
ImGui :: InputText ( " chaîne " , buf, IM_ARRAYSIZE (buf));
ImGui :: SliderFloat ( " float " , & f, 0 . 0f , 1 . 0f );

Résultat :

Dear ImGui est un logiciel libre sous licence MIT disponible sur GitHub.