Interactive UI Programming with C++ and ImGui
Hristo Iliev
2:05:11
Description
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
Who is this for?
What You Need to Know?
More details
DescriptionWelcome
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.
Libraries
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++
Welcome
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.
Libraries
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++
User Reviews
Rating
Hristo Iliev
Instructor's Courses
Udemy
View courses Udemy- language english
- Training sessions 28
- duration 2:05:11
- Release Date 2023/10/17