Namespace ImGuiScene
Classes
FramerateLimit
Simple encapsulation of framerate limiting behavior, allowing for fully unbounded (no control), Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync disabled, hard time cap)
GLTextureWrap
OpenGL 3 Implementation of ImGuiScene.TextureWrap. Provides a simple wrapped view of the disposeable resource as well as the handle for ImGui.
ImGui_Impl_DX11
Currently undocumented because it is a horrible mess. A near-direct port of https://github.com/ocornut/imgui/blob/master/examples/imgui_impl_dx11.cpp State backup follows the general layout of imgui's sample (which is a mess), but has been rather expanded to cover the vast majority of render state, following the example here https://github.com/GPUOpen-LibrariesAndSDKs/CrossfireAPI11/blob/master/amd_lib/src/AMD_SaveRestoreState.cpp Would be nice to organize it better, but it seems to work
ImGui_Impl_OpenGL3
Currently undocumented because it is a horrible mess. A near-direct port of https://github.com/ocornut/imgui/blob/master/examples/imgui_impl_opengl3.cpp State backup IS done for this renderer, because SDL does not play nicely when using OpenGL.
ImGui_Impl_SDL
Currently undocumented because it is a horrible mess. A near-direct port of https://github.com/ocornut/imgui/blob/master/examples/imgui_impl_sdl.cpp
ImGui_Input_Impl_Direct
MemUtil
RawDX11Scene
RendererFactory
Simple factory to create a renderer for a given backend API/version/etc.
SDLWindowGL
OpenGL specialization of SimpleSDLWindow, for setting up additional necessary states during window creation.
SimpleD3D
A simple wrapper for a minimal DirectX 11 renderer. Consumers of this class will need to implement all actual pipeline and render logic externally.
SimpleImGuiScene
Simple class to wrap everything necessary to use ImGui inside a window. Currently this always creates a new window rather than take ownership of an existing one.
Internally this uses SDL and DirectX 11 or OpenGL 3.2. Rendering is tied to vsync.
SimpleOGL3
A simple wrapper for a minimal OpenGL 3.2 renderer. Consumers of this class will need to implement all actual pipeline and render logic externally.
SimpleSDLWindow
A very basic SDL wrapper to handle creating a window and processing SDL events.
WindowCreateInfo
Simple wrapper for information necessary to create an application window
WindowFactory
Factory used to create a SimpleSDLWindow set up to work with the selected renderer.
Interfaces
IImGuiInputHandler
IImGuiRenderer
A simple shared public interface that all ImGui render implementations follow.
IRenderer
Abstraction for a simple renderer that can be used with ImGui
TextureWrap
Simple wrapper to handle texture resources from different APIs, while accounting for resource freeing and ImGui interaction.
Enums
FramerateLimit.LimitType
The different methods of limiting framerate.