|
|
|
@ -8,11 +8,13 @@ Third party languages and frameworks bindings: https://github.com/ocornut/imgui/ |
|
|
|
|
|
|
|
|
|
TL;DR; |
|
|
|
|
- Newcomers, read 'PROGRAMMER GUIDE' in imgui.cpp for notes on how to setup ImGui in your codebase. |
|
|
|
|
- Refer to 'opengl_example' to understand how the library is setup, it is the simplest one. |
|
|
|
|
- Refer to 'opengl2_example' to LEARN how the library is setup, it is the simplest one. |
|
|
|
|
The other examples requires more boilerplate and are harder to read. |
|
|
|
|
- If you are using OpenGL in your application, probably use an opengl3_xxx backend. |
|
|
|
|
Mixing old fixed pipeline OpenGL2 and programmable pipeline OpenGL3+ isn't well supported by drivers. |
|
|
|
|
- If you are using of the backend provided here, so you can copy the imgui_impl_xxx.cpp/h files |
|
|
|
|
to your project and use them unmodified. |
|
|
|
|
- If you have your own engine, you probably want to start from 'opengl_example' and adapt it to |
|
|
|
|
- If you have your own engine, you probably want to start from one of the OpenGL example and adapt it to |
|
|
|
|
your engine, but you can read the other examples as well. |
|
|
|
|
|
|
|
|
|
ImGui is highly portable and only requires a few things to run: |
|
|
|
@ -41,15 +43,14 @@ to switch to a software rendered cursor when an interactive drag is in progress. |
|
|
|
|
Also note that some setup or GPU drivers may be causing extra lag (possibly by enforcing triple buffering), |
|
|
|
|
leaving you with no option but sadness/anger (Intel GPU drivers were reported as such). |
|
|
|
|
|
|
|
|
|
opengl_example/ |
|
|
|
|
OpenGL example, using GLFW + fixed pipeline. |
|
|
|
|
This is simple and should work for all OpenGL enabled applications. |
|
|
|
|
Prefer following this example to learn how ImGui works! |
|
|
|
|
(You can use this code in a GL3/GL4 context but make sure you disable the programmable pipeline |
|
|
|
|
by calling "glUseProgram(0)" before ImGui::Render.) |
|
|
|
|
opengl2_example/ |
|
|
|
|
GLFW + OpenGL example (old fixed pipeline). |
|
|
|
|
This is simple to read. Prefer following this example to learn how ImGui works! |
|
|
|
|
(You might be able to use this code in a GL3/GL4 context but make sure you disable the programmable |
|
|
|
|
pipeline by calling "glUseProgram(0)" before ImGui::Render.) |
|
|
|
|
|
|
|
|
|
opengl3_example/ |
|
|
|
|
OpenGL example, using GLFW/GL3W + programmable pipeline. |
|
|
|
|
GLFW + OpenGL example (programmable pipeline, binding modern functions with GL3W). |
|
|
|
|
This uses more modern OpenGL calls and custom shaders. It's more messy. |
|
|
|
|
|
|
|
|
|
directx9_example/ |
|
|
|
@ -68,8 +69,8 @@ apple_example/ |
|
|
|
|
On iOS, Using Synergy to access keyboard/mouse data from server computer. |
|
|
|
|
Synergy keyboard integration is rather hacky. |
|
|
|
|
|
|
|
|
|
sdl_opengl_example/ |
|
|
|
|
SDL2 + OpenGL example. |
|
|
|
|
sdl_opengl2_example/ |
|
|
|
|
SDL2 + OpenGL example (old fixed pipeline). |
|
|
|
|
|
|
|
|
|
sdl_opengl3_example/ |
|
|
|
|
SDL2 + OpenGL3 example. |
|
|
|
|