imgui/examples/README.txt

69 lines
2.8 KiB
Plaintext
Raw Permalink Normal View History

2015-04-07 09:59:49 +00:00
Those are standalone ready-to-build applications to demonstrate ImGui.
2015-08-25 21:14:31 +00:00
Binaries of some of those demos are available at http://www.miracleworld.net/imgui/binaries
2015-11-29 10:53:03 +00:00
2015-07-16 20:27:35 +00:00
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.
The other examples requires more boilerplate and are harder to read.
- 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
your engine, but you can read the other examples as well.
2015-07-16 20:27:35 +00:00
2015-07-09 14:39:44 +00:00
ImGui is highly portable and only requires a few things to run:
- Providing mouse/keyboard inputs
- Load the font atlas texture into graphics memory
2015-08-06 03:59:07 +00:00
- Providing a render function to render indexed textured triangles
- Optional: clipboard support, mouse cursor supports, Windows IME support, etc.
2015-07-09 14:39:44 +00:00
So this is essentially what those examples are doing + the obligatory cruft for portability.
2015-09-10 20:10:01 +00:00
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+
2015-04-07 09:59:49 +00:00
Please let me know if they don't work with your setup!
2015-07-09 14:39:44 +00:00
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.
2015-04-07 09:59:49 +00:00
2015-02-24 09:59:56 +00:00
opengl_example/
2015-03-09 13:49:52 +00:00
OpenGL example, using GLFW + fixed pipeline.
2015-02-24 09:59:56 +00:00
This is simple and should work for all OpenGL enabled applications.
2015-07-09 14:39:44 +00:00
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.)
2015-02-24 09:59:56 +00:00
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.
directx10_example/
DirectX10 example, Windows only.
This is quite long and tedious, because: DirectX10.
directx11_example/
DirectX11 example, Windows only.
This is quite long and tedious, because: DirectX11.
ios_example/
2015-07-09 14:39:44 +00:00
iOS example.
2015-08-25 21:14:31 +00:00
Using Synergy to access keyboard/mouse data from server computer.
Synergy keyboard integration is rather hacky.
sdl_opengl_example/
2015-07-09 14:39:44 +00:00
SDL2 + OpenGL example.
2015-11-16 21:17:10 +00:00
sdl_opengl_example/
SDL2 + OpenGL3 example.
allegro5_example/
2015-07-09 14:39:44 +00:00
Allegro 5 example.
marmalade_example/
Marmalade example using IwGx