diff --git a/examples/README.txt b/examples/README.txt index f5af693f..cb0aefa8 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -1,17 +1,29 @@ Those are standalone ready-to-build applications to demonstrate ImGui. -Unfortunately in 2015 it is still a massive pain to create and maintain portable build files. +Binaries of those demos are available from the main GitHub page. + +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 process the drawing commands (we rendere indexed textured triangles) + - Extra just as clipboard support, mouse cursor supports, Windows IME support. +So this is essentially what those examples are doing + the obligatory cruft for portability. + +Unfortunately in 2015 it is still a massive pain to create and maintain portable build files using +external library like the ones used here. I choose to provide Visual Studio 10 .sln files and Makefile for Linux/OSX. Please let me know if they don't work with your setup! -You can probably just import the .cpp files into your own system and figure out the linkage from there. +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, because it is the simplest shortest one! + Prefer following this example to learn how ImGui works! opengl3_example/ OpenGL example, using GLFW/GL3W + programmable pipeline. - This uses more modern calls and custom shaders. + This uses more modern OpenGL calls and custom shaders. + Even if your application is using modern OpenGL you are better off copying the code from the fixed pipeline version! I don't think there is an advantage using this over the simpler example, but it is provided for reference. directx9_example/ @@ -22,11 +34,11 @@ directx11_example/ 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. + iOS example. + Using Synergy to access keyboard/mouse data from server computer. Synergy keyboard integration is rather hacky. sdl_opengl_example/ - SDL2 + OpenGL example. + SDL2 + OpenGL example. allegro5_example/ - Allegro 5 example. + Allegro 5 example.