septiembre 28, 2022

Extensión de ImGui, más Imguizmo, Implot, Imnodes

La última versión de Evergine, hemos añadido soporte para la librería ImGui y tres de sus mejores módulos para crear interfaces y herramientas enriquecidas dentro de las aplicaciones de Evergine.

 

Añadiendo el paquete Evergine.Bindings.ImGui a tus proyectos y, opcionalmente, cualquiera de las extensiones soportadas (Evergine.Bindings.Imguizmo, Evergine.Bindings.Implot, Evergine.Bindings.Imnodes), puedes empezar a utilizar su sencilla API para crear pequeñas herramientas de control y visualización de diferentes aspectos de la aplicación. 

Pero, ¿qué diablos es ImGui? 

En caso de que no hayas oído hablar de ella, ImGui es una biblioteca auto contenida que crea interfaces elaboradas dentro de la aplicación gráfica (se renderizan como cualquier otro elemento del mundo virtual, pero en 2D). De esta manera, es posible crear interfaces complejas completas para software tal como editores gráficos.  

Figure 1. Example of usage of ImGui on Tracy Profiler

¿Qué pasa con Imguizmo, Implot e Imnodes? 

Imguizmo es una extensión de ImGui que permite crear controles específicos para objetos 3D, como manipular la orientación de una cámara, y controles que permiten rotar y trasladar matrices 4×4 al momento, etc. 

Implot es otra extensión para crear múltiples tipos de gráficos dentro de una ventana de ImGui, y es muy útil para visualizar variables cambiantes en el momento. 

Imnodes, por otro lado, añade un control muy útil para crear, visualizar gráficos y modificar sus conexiones y nodos. 

Cómo usarlo en tu aplicación 

Para empezar, después de añadir las dependencias de nuget, tendrás que registrar el gestor ImGui en la escena: 

Después, solo es cuestión de crear componentes que usen la API de ImGui para comenzar a renderizar nuevos controles. Puedes encontrar información más detallada en los documentos, y en la pequeña demo que acabamos de lanzar ilustrando sus características principales. 

 

Mantendremos nuestros bindings actualizados con el desarrollo de ImGui, así que no te preocupes por quedarte en versiones antiguas. Actualmente solo soportamos Windows (x86-x64), pero planeamos añadir soporte para plataformas ARM64 y Linux muy pronto. Además, añadiremos más extensiones en un futuro próximo, así que no olvides seguirnos en Twitter (@EvergineTeam) o en nuestro canal de Youtube.

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.