|
|
|
@ -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.
|
|
|
|
|