Interactive UI Programming with C++ and ImGui | Udemy

Interactive UI Programming with C++ and ImGui | Udemy
English | Size: 1.42 GB
Genre: eLearning

Learn how to do UI in C++ with Dear ImGui, BGFX and GLFW

What you’ll learn
Create 2D graphical applications using C++
Use GLFW for windowing and keyboard and mouse inputs
Use the GLM library for basic 2D mathematics
Work with multiple windows
Create UI with the help of ImGui
Multiple ImGui controls for logic
How to initialize BGFX for graphics programming
Good coding standards and google coding style
How to create custom UI themes and controls with ImGui
How to draw lines and shapes in ImGui
How to process input and other ImGui events


This course is an easy and straightforward introduction into UI programming with C++. The course is segmented into short and on point lessons that focus on concrete topics. In this course you will learn how to initialize a window and graphics and then create various elements with a library called ImGui.

To participate and learn from this course you should already know C++ at a good level since the basics of programming won’t be covered. Otherwise this course is appropriate for junior developers that are familiar with the language. The level of C++ will be kept easy to grasp with no complicated concepts outside of basic OOP.


Throught the course you will learn how to use a few different libraries. Learning these will generally help you understand a few more concepts than just the UI programming bit. The few major libraries that I’ve inlcuded in the course are:

GLFW – a library used to create and manage windows in your GUI environment. This is an abstraction library over the native interfaces of windows, mac and linux windows.

BGFX – a popular cross-platform library for rendering graphics onto a window. Similar to how GLFW is an abstraction over the native windows – bgfx represents an abstraction over Vulkan, OpenGL, DirectX, etc. This library is used by major developers including Microsoft’s Minecraft.

GLM – a simple math library which we will use mainly for the 2D vector calculations for sizes and positions of UI elements onto the window.

Dear, ImGui – an immediate mode UI library. You define the UI through code and it issues commands for GLFW and BGFX to be rendered. Each frame is drawn immediately from the issued commands which also means that each frame you need to redefine the UI. This is usually easier to work with from a programmer stand point.

Who this course is for:
Beginner C++ developers who want to learn more about UI programming
Game programmers with knowledge about C++ who want to go deeper into graphics and UI
Programmers that want to create low-level tools with C++



If any links die or problem unrar, send request to

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.