| Those are standalone ready-to-build applications to demonstrate ImGui. |
| Binaries of some of those demos are available at http://www.miracleworld.net/imgui/binaries |
| |
| TL;DR; |
| Refer to 'opengl_example' to understand how the library is setup, because it is the simplest one. |
| Copy the imgui_impl_xxx.cpp/.h files you need if you are using one of provided rendering/IO backends. |
| If using different or your own backend, copy opengl_example/imgui_impl_opengl.cpp/.h to get started. |
| |
| |
| ImGui is highly portable and only requires a few things to run: |
| - Providing mouse/keyboard inputs |
| - Load the font atlas texture into GPU memory |
| - Providing a render function to render indexed textured triangles |
| - Optional: clipboard support, mouse cursor supports, Windows IME support, etc. |
| So this is essentially what those examples are doing + the obligatory cruft for portability. |
| |
| Unfortunately in 2015 it is still tedious to create and maintain portable build files using external |
| libraries (the kind we're using here to create a window and render 3D triangles) without relying on |
| third party software. For most examples here I choose to provide: |
| - Makefiles for Linux/OSX |
| - Batch files for Visual Studio 2008+ |
| - A .sln project file for Visual Studio 2010+ |
| Please let me know if they don't work with your setup! |
| You can probably just import the imgui_impl_xxx.cpp/.h files into your own codebase or compile those |
| directly with a command-line compiler. |
| |
| 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.) |
| |
| opengl3_example/ |
| OpenGL example, using GLFW/GL3W + programmable pipeline. |
| This uses more modern OpenGL calls and custom shaders. It's more messy. |
| |
| directx9_example/ |
| DirectX9 example, Windows only. |
| |
| directx11_example/ |
| DirectX11 example, Windows only. |
| This is quite long and tedious, because: DirectX11. |
| |
| ios_example/ |
| iOS example. |
| Using Synergy to access keyboard/mouse data from server computer. |
| Synergy keyboard integration is rather hacky. |
| |
| sdl_opengl_example/ |
| SDL2 + OpenGL example. |
| |
| allegro5_example/ |
| Allegro 5 example. |