Voir le flux RSS

ericb2

[Actualité] 2 animations pour Dear ImGui : "Fade In / Fade Out" et "heartBeat effect"

Noter ce billet
par , 06/08/2020 à 01h13 (673 Affichages)
Introduction
Depuis plusieurs années, j'utilise Dear ImGui pour l'interface utilisateur dans mon logiciel miniDart. N.B. : gros changements à venir (non publics pour l'instant).

Après avoir cherché 6 mois (j'ai testé environ 30 GUI avant de choisir Dear ImGui), cette API était finalement la seule à pouvoir fonctionner sous Linux et Windows quasiment de la même façon. La portabilité est directe par cross compilation et ça fonctionne extrêmement bien sous les 2 OS. Au passage un petit mot sur TrollTech, qui se fout de la gueule des petits développeurs avec sa licence Qt à un prix délirant, pour celui qui veut s'affranchir de lier statiquement à 100Mo de blobs pour sortir un binaire, avec des dépendances délirantes et -probablement- inutiles.

Cette API qui n'a besoin que de OpenGL** permet de faire une version de démonstration très rapidement, déjà présentée récemment dans cet article, est franchement géniale pourvu que l'on prenne le temps de lire la très bonne documentation qui se trouve .... dans le code.

Oui, tout se mérite

**(toutefois, une version DirectX ou Vulkan doit pouvoir être écrite en 10 min AMHA )

Dans cet article, je présente rapidement deux animations que j'ai créées récemment, et qui sont utilisables avec cette API géniale :

  • La première s'appelle "fade in / fade out". Elle a été inspirée par Sonoro123, développeur et contributeur régulier à Dear ImGui. (voir : cette issue pour l'historique)
  • La seconde, "heartbeat effect", est une idée que j'ai eue, juste pour vérifier qu'on pouvait refaire l'effet wow qui existait sous Mac OS X il y a quelques années :-)


Télécharger le code
Les deux fichiers contenant le code font partie de miniDart, mais on peut les associer à tout autre chose, et leur code est sous Licence MIT.

Les deux fichiers contenant les deux fonctionnalités sont placés ici :


Remarque : le namespace md utilisé avec la classe n'est pas essentiel pour vous, et peut aisément être supprimé.

Essayer et jouer avec
Pour tester, j'ai mis un exemple dans le code source de miniDart (pour Linux, mais ça doit fonctionner facilement sous Windows aussi, car le code est totalement neutre (sauf erreur et oubli de ma part).

Normalement, sous Linux, il n'y a rien d'autre à faire que télécharger le code source de Dear ImGui

Ensuite, télécharger les fichiers
  • Makefile
  • imgui_fade_in_out.cpp
  • imgui_fade_in_out.hpp
  • main.cpp


Vous trouverez tout à cette URL

Placer tous ces fichiers dans imgui/examples/example_sdl_opengl3 en écrasant ceux qui font partie de Dear ImGui.

Et taper "make"

=> lancer le binaire et ça doit fonctionner comme prévu


Important :
Pour revenir en arrière et retrouver le code de base du répertoire exemple avec SDL2 + OpenGL3, il suffit de taper : make clean && git diff . | patch -R (ne pas oublier le point !)

Comme le gif que j'ai essayé d'attacher ne fonctionne pas, l'animation est visible ICI (très incomplet car depuis, la fenêtre disparaît complètement)


Merci d'avance pour tout retour et / ou suggestion d'amélioration !!
Miniatures attachées Images attachées  

Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Viadeo Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Twitter Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Google Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Facebook Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Digg Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Delicious Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog MySpace Envoyer le billet « 2 animations pour Dear ImGui : "Fade In / Fade Out" et  "heartBeat effect" » dans le blog Yahoo

Mis à jour 06/08/2020 à 14h07 par ericb2

Catégories
Programmation , C++ , 2D / 3D / Jeux

Commentaires