Skip to main content

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.

RendererFactory.RendererBackend

Delegates

RawDX11Scene.BuildUIDelegate

RawDX11Scene.NewInputFrameDelegate

RawDX11Scene.NewRenderFrameDelegate

SimpleImGuiScene.BuildUIDelegate

SimpleSDLWindow.ProcessEventDelegate