|
@@ -8,10 +8,11 @@ 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 'opengl2_example' to LEARN how the library is setup, it is the simplest one.
|
|
|
+ - To LEARN how the library is setup, you may refer to 'opengl2_example' because 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.
|
|
|
+ However, USE 'opengl3_example' in your application if you are using any modern OpenGL3+ calls.
|
|
|
+ Mixing old fixed pipeline OpenGL2 and programmable pipeline OpenGL3+ isn't well supported by some drivers.
|
|
|
+ If you are not sure, in doubt, use 'opengl3_example'.
|
|
|
- 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 one of the OpenGL example and adapt it to
|
|
@@ -44,14 +45,17 @@ Also note that some setup or GPU drivers may be causing extra lag (possibly by e
|
|
|
leaving you with no option but sadness/anger (Intel GPU drivers were reported as such).
|
|
|
|
|
|
opengl2_example/
|
|
|
- GLFW + OpenGL example (old fixed pipeline).
|
|
|
- This is simple to read. Prefer following this example to learn how ImGui works!
|
|
|
+ GLFW + OpenGL example (old, fixed graphic pipeline).
|
|
|
+ This is only provided as a reference to learn how ImGui integration works, because it is easier to read.
|
|
|
+ However, if your code is using GL3+ context, using this may confuse your driver. Please use the GL3 example below.
|
|
|
(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.)
|
|
|
+ pipeline by calling "glUseProgram(0)" before ImGui::Render. It appears that many librairies and drivers
|
|
|
+ are having issues mixing GL2 calls and newer GL3/GL4 calls. So it isn't recommended that you use that.)
|
|
|
|
|
|
opengl3_example/
|
|
|
GLFW + OpenGL example (programmable pipeline, binding modern functions with GL3W).
|
|
|
- This uses more modern OpenGL calls and custom shaders. It's more messy.
|
|
|
+ This uses more modern OpenGL calls and custom shaders.
|
|
|
+ Prefer using that if you are using modern OpenGL3/4 in your application.
|
|
|
|
|
|
directx9_example/
|
|
|
DirectX9 example, Windows only.
|