"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "docs/BACKENDS.md" between
imgui-1.86.tar.gz and imgui-1.87.tar.gz

About: Dear ImGui is a bloat-free Graphical User Interface for C++ with minimal dependencies.

BACKENDS.md  (imgui-1.86):BACKENDS.md  (imgui-1.87)
skipping to change at line 12 skipping to change at line 12
## Dear ImGui: Backends ## Dear ImGui: Backends
**The backends/ folder contains backends for popular platforms/graphics API, whi ch you can use in **The backends/ folder contains backends for popular platforms/graphics API, whi ch you can use in
your application or engine to easily integrate Dear ImGui.** Each backend is typ ically self-contained in a pair of files: imgui_impl_XXXX.cpp + imgui_impl_XXXX. h. your application or engine to easily integrate Dear ImGui.** Each backend is typ ically self-contained in a pair of files: imgui_impl_XXXX.cpp + imgui_impl_XXXX. h.
- The 'Platform' backends are in charge of: mouse/keyboard/gamepad inputs, curso r shape, timing, windowing.<BR> - The 'Platform' backends are in charge of: mouse/keyboard/gamepad inputs, curso r shape, timing, windowing.<BR>
e.g. Windows ([imgui_impl_win32.cpp](https://github.com/ocornut/imgui/blob/mas ter/backends/imgui_impl_win32.cpp)), GLFW ([imgui_impl_glfw.cpp](https://github. com/ocornut/imgui/blob/master/backends/imgui_impl_glfw.cpp)), SDL2 ([imgui_impl_ sdl.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_sdl.cp p)), etc. e.g. Windows ([imgui_impl_win32.cpp](https://github.com/ocornut/imgui/blob/mas ter/backends/imgui_impl_win32.cpp)), GLFW ([imgui_impl_glfw.cpp](https://github. com/ocornut/imgui/blob/master/backends/imgui_impl_glfw.cpp)), SDL2 ([imgui_impl_ sdl.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_sdl.cp p)), etc.
- The 'Renderer' backends are in charge of: creating atlas texture, rendering im gui draw data.<BR> - The 'Renderer' backends are in charge of: creating atlas texture, rendering im gui draw data.<BR>
e.g. DirectX11 ([imgui_impl_dx11.cpp](https://github.com/ocornut/imgui/blob/ma ster/backends/imgui_impl_dx11.cpp)), OpenGL/WebGL ([imgui_impl_opengl3.cpp](http s://github.com/ocornut/imgui/blob/master/backends/imgui_impl_opengl3.cpp), Vulka n ([imgui_impl_vulkan.cpp](https://github.com/ocornut/imgui/blob/master/backends /imgui_impl_vulkan.cpp), etc. e.g. DirectX11 ([imgui_impl_dx11.cpp](https://github.com/ocornut/imgui/blob/ma ster/backends/imgui_impl_dx11.cpp)), OpenGL/WebGL ([imgui_impl_opengl3.cpp](http s://github.com/ocornut/imgui/blob/master/backends/imgui_impl_opengl3.cpp)), Vulk an ([imgui_impl_vulkan.cpp](https://github.com/ocornut/imgui/blob/master/backend s/imgui_impl_vulkan.cpp)), etc.
- For some high-level frameworks, a single backend usually handle both 'Platform ' and 'Renderer' parts.<BR> - For some high-level frameworks, a single backend usually handle both 'Platform ' and 'Renderer' parts.<BR>
e.g. Allegro 5 ([imgui_impl_allegro5.cpp](https://github.com/ocornut/imgui/blo b/master/backends/imgui_impl_allegro5.cpp)). If you end up creating a custom bac kend for your engine, you may want to do the same. e.g. Allegro 5 ([imgui_impl_allegro5.cpp](https://github.com/ocornut/imgui/blo b/master/backends/imgui_impl_allegro5.cpp)). If you end up creating a custom bac kend for your engine, you may want to do the same.
An application usually combines 1 Platform backend + 1 Renderer backend + main D ear ImGui sources. An application usually combines 1 Platform backend + 1 Renderer backend + main D ear ImGui sources.
For example, the [example_win32_directx11](https://github.com/ocornut/imgui/tree /master/examples/example_win32_directx11) application combines imgui_impl_win32. cpp + imgui_impl_dx11.cpp. There are 20+ examples in the [examples/](https://git hub.com/ocornut/imgui/blob/master/examples/) folder. See [EXAMPLES.MD](https://g ithub.com/ocornut/imgui/blob/master/docs/EXAMPLES.md) for details. For example, the [example_win32_directx11](https://github.com/ocornut/imgui/tree /master/examples/example_win32_directx11) application combines imgui_impl_win32. cpp + imgui_impl_dx11.cpp. There are 20+ examples in the [examples/](https://git hub.com/ocornut/imgui/blob/master/examples/) folder. See [EXAMPLES.MD](https://g ithub.com/ocornut/imgui/blob/master/docs/EXAMPLES.md) for details.
**Once Dear ImGui is setup and running, run and refer to `ImGui::ShowDemoWindow( )` in imgui_demo.cpp for usage of the end-user API.** **Once Dear ImGui is setup and running, run and refer to `ImGui::ShowDemoWindow( )` in imgui_demo.cpp for usage of the end-user API.**
### What are backends ### What are backends
skipping to change at line 40 skipping to change at line 40
Extra features are opt-in, our backends try to support as many as possible: Extra features are opt-in, our backends try to support as many as possible:
- Optional: custom texture binding support. - Optional: custom texture binding support.
- Optional: clipboard support. - Optional: clipboard support.
- Optional: gamepad support. - Optional: gamepad support.
- Optional: mouse cursor shape support. - Optional: mouse cursor shape support.
- Optional: IME support. - Optional: IME support.
- Optional: multi-viewports support. - Optional: multi-viewports support.
etc. etc.
This is essentially what each backends are doing + obligatory portability cruft. Using default backends ensure you can get all those features including the ones that would be harder to implement on your side (e.g. multi-viewports support). This is essentially what each backend is doing + obligatory portability cruft. U sing default backends ensure you can get all those features including the ones t hat would be harder to implement on your side (e.g. multi-viewports support).
It is important to understand the difference between the core Dear ImGui library (files in the root folder) It is important to understand the difference between the core Dear ImGui library (files in the root folder)
and backends which we are describing here (backends/ folder). and backends which we are describing here (backends/ folder).
- Some issues may only be backend or platform specific. - Some issues may only be backend or platform specific.
- You should be able to write backends for pretty much any platform and any 3D g raphics API. - You should be able to write backends for pretty much any platform and any 3D g raphics API.
e.g. you can get creative and use software rendering or render remotely on a d ifferent machine. e.g. you can get creative and use software rendering or render remotely on a d ifferent machine.
### Integrating a backend ### Integrating a backend
skipping to change at line 88 skipping to change at line 88
List of high-level Frameworks Backends (combining Platform + Renderer): List of high-level Frameworks Backends (combining Platform + Renderer):
imgui_impl_allegro5.cpp imgui_impl_allegro5.cpp
Emscripten is also supported. Emscripten is also supported.
The [example_emscripten_opengl3](https://github.com/ocornut/imgui/tree/master/ex amples/example_emscripten_opengl3) app uses imgui_impl_sdl.cpp + imgui_impl_open gl3.cpp, but other combos are possible. The [example_emscripten_opengl3](https://github.com/ocornut/imgui/tree/master/ex amples/example_emscripten_opengl3) app uses imgui_impl_sdl.cpp + imgui_impl_open gl3.cpp, but other combos are possible.
### Backends for third-party frameworks, graphics API or other languages ### Backends for third-party frameworks, graphics API or other languages
See https://github.com/ocornut/imgui/wiki/Bindings for the full list (e.g. Adven ture Game Studio, Cinder, Cocos2d-x, Game Maker Studio2, Godot, LVE+LUA, Magnum , Monogame, Ogre, openFrameworks, OpenSceneGraph, SFML, Sokol, Unity, Unreal Eng ine and many others). See https://github.com/ocornut/imgui/wiki/Bindings for the full list (e.g. Adven ture Game Studio, Cinder, Cocos2d-x, Game Maker Studio2, Godot, LÖVE+LUA, Magnum , Monogame, Ogre, openFrameworks, OpenSceneGraph, SFML, Sokol, Unity, Unreal Eng ine and many others).
### Recommended Backends ### Recommended Backends
If you are not sure which backend to use, the recommended platform/frameworks fo r portable applications: If you are not sure which backend to use, the recommended platform/frameworks fo r portable applications:
|Library |Website |Backend |Note | |Library |Website |Backend |Note |
|--------|--------|--------|-----| |--------|--------|--------|-----|
| GLFW | https://github.com/glfw/glfw | imgui_impl_glfw.cpp | | | GLFW | https://github.com/glfw/glfw | imgui_impl_glfw.cpp | |
| SDL2 | https://www.libsdl.org | imgui_impl_sdl.cpp | | | SDL2 | https://www.libsdl.org | imgui_impl_sdl.cpp | |
| Sokol | https://github.com/floooh/sokol | [util/sokol_imgui.h](https://github. com/floooh/sokol/blob/master/util/sokol_imgui.h) | Lower-level than GLFW/SDL | | Sokol | https://github.com/floooh/sokol | [util/sokol_imgui.h](https://github. com/floooh/sokol/blob/master/util/sokol_imgui.h) | Lower-level than GLFW/SDL |
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)