top of page

Vesper

Intro To ImGui
Developed: November 4, 2025
Showcased: April 20, 2026

Marble Surface

While researching ImGui, I came across a template that did the basics of the ImGui integration for me. A YouTuber, and former EA developer had created a free (MIT licensed) project called Walnut that did exactly what I was looking to do in terms of a basic application with GUI integration. I still wanted to learn to properly set up the GUI myself, but this was a great opportunity to help me learn ImGUI as a tool and still progress in the ideation and design of my particle system.

 

I began by just going through the examples provided with ImGui, testing some of the items in the demo window, as well as just reading some of the source files directly when necessary. One of my earliest findings, was that ImGui itself had some 2D primitives that could be drawn using their own API. Since I wanted to have both 2D and 3D capabilities in my system, I began using these primitives to help shape out the basis of how I would want the particle system to work.

One of the first parts that I began with was setting up interactions with the drawing area based on mouse position. The followiing video demonstrates one of the ImGui examples that utilizes mouse feedback for drawing line segments based on mouse click positions.

After examining the code behind that line segment example, I was able to set up a very basic particle scene. I used that same mouse logic to spawn additional particles, with slight randomization, following the position of the mouse. I also added positional randomization throughout the entire canvas whenever the mouse was not hovered over the scene.

All of the "particles" in the above video are just simple ImGui privatives with variation in aspects such as position, rotation, scale, and with some added velocity. They also are bound to the screen and will bounce back if caught intersecting the bounds of the area. It was a very simple setup, but it allowed me to have a greater understanding of ImGui as a whole, and to help ideate on how i would setup my particle systems.

© 2025 Damon S. Green II. Powered and secured by Wix

bottom of page