Namespace Gsage

namespace Gsage

Typedefs

typedef RenderTarget *RenderTargetPtr
typedef std::shared_ptr<Renderer> RendererPtr
typedef std::shared_ptr<Dock> DockPtr

Enums

enum DockSlotPreviewStyle

Values:

DockSlotPreviewFill = 0
DockSlotPreviewOutline = 1
enum ImGuiDockFlags

Values:

ImGuiDock_NoTitleBar = 1 << 0
ImGuiDock_NoResize = 1 << 1

Functions

static const Ogre::Vector3 GsageVector3ToOgreVector3(const Gsage::Vector3 &vector)
static const Gsage::Vector3 OgreVector3ToGsageVector3(const Ogre::Vector3 &vector)
static const Ogre::Quaternion GsageQuaternionToOgreQuaternion(const Gsage::Quaternion &quaternion)
static const Gsage::Quaternion OgreQuaternionToGsageQuaternion(const Ogre::Quaternion &quaternion)
static const Ogre::AxisAlignedBox BoundingBoxToAxisAlignedBox(const BoundingBox &bbox)
TYPE_CASTER(OgreDegreeCaster, Ogre::Degree, std::string)
TYPE_CASTER(OgreColourValueCaster, Ogre::ColourValue, std::string)
TYPE_CASTER(OgreVector3Caster, Ogre::Vector3, std::string)
TYPE_CASTER(OgreQuaternionCaster, Ogre::Quaternion, std::string)
TYPE_CASTER(OgreFloatRectCaster, Ogre::FloatRect, std::string)
TYPE_CASTER(OgrePixelFormatCaster, Ogre::PixelFormat, std::string)
TYPE_CASTER(RenderOperationTypeCaster, Ogre::RenderOperation::OperationType, std::string)
TYPE_CASTER(RenderTargetTypeCaster, RenderTargetType::Type, std::string)
unsigned long WindowContentViewHandle(SDL_SysWMinfo &info)
static DataProxy dumpState(ImGuiDockspaceState state)
static ImGuiDockspaceState loadState(DataProxy dp)
class Animation
#include <AnimationScheduler.h>

Class that wraps ogre animation state, adds speed definition

class AnimationController
#include <AnimationScheduler.h>

Animation controller

class AnimationGroup
#include <AnimationScheduler.h>

Container for several animations

class AnimationScheduler : public Serializable<AnimationScheduler>
#include <AnimationScheduler.h>

Class that reads all animation information, configures states, then manages all animations playback

class CustomPass : public CompositorPass

Subclassed by Gsage::OverlayPass

class CustomPassDef : public CompositorPassDef

Subclassed by Gsage::OverlayPassDef

class Gizmo : public EventSubscriber<Gizmo>
#include <Gizmo.h>

Transformation Gizmo, supports move, scale and rotate operations.

Lua usage example:

-- create gizmo
gizmo = imgui.createGizmo()

-- setting target
local render = eal:getEntity("test").render
if render == nil then
  exit(1)
end
gizmo:addTarget(render.root)

-- enable
gizmo:enable(true)

-- render on each ImGUI cycle
gizmo:render(0, 0, 320, 240)

-- changing mode
gizmo.mode = imgui.gizmo.WORLD

-- changing operation
gizmo.operation = imgui.gizmo.ROTATE

-- draw coordinates editor for this gizmo
-- it is separate to make it possible to draw it in the separate window
gizmo:drawCoordinatesEditor(1, 0, 0, "%.3f", 1,
"position",
"scale",
"rotation")

class HlmsUnlit : public HlmsUnlit
#include <HlmsUnlit.h>

Extends Ogre standard HlmsUnlit

class ImageRenderer : public Gsage::Renderer
#include <Image.hpp>

Really simple image renderer

class ImGuiDockspace
#include <ImGuiDockspace.h>

Imgui dockspace

class ImGuiDockspaceRenderer
#include <ImGuiDockspace.h>

Dockspace for ImGUI.

Provides alternate methods for Begin and End. Docked view should be surrounded by BeginDock and EndDock methods.

local flags = 0
local active, open = imgui.BeginDockOpen("test", true, flags)
if active and open then
  -- render some view here
  imgui.TextWrapped("Hello World!")
end
imgui.EndDock()

Saving and loading dockspace state:

-- save dock state (will get lua table)
local savedState = imgui.GetDockState()

...

-- restore dock state
imgui.SetDockState(savedState)

class ImguiDockspaceView : public Gsage::ImguiViewCollection
#include <ImguiManager.h>

Renders window collection into workspace

class ImguiMovableObjectFactory : public MovableObjectFactory
#include <ImguiMovableObject.h>

Factory object for creating ImguiMovableObject instances

class ImguiOgreRenderer : public EventSubscriber<ImguiOgreRenderer>, public Gsage::ImguiRenderer

Subclassed by Gsage::ImguiRendererV1, Gsage::ImguiRendererV2

class ImguiRenderer

Subclassed by Gsage::ImguiOgreRenderer

class ImguiTextBuffer
#include <ImguiLuaInterface.h>

Imgui buffer that can be used by lua

class ImguiViewCollection

Subclassed by Gsage::ImguiDockspaceView, Gsage::ImguiManager

class IMovableObjectWrapper : public Gsage::OgreObject
#include <MovableObjectWrapper.h>

Provides templateless base class for MovableObjectWrapper

Subclassed by Gsage::MovableObjectWrapper< T >, Gsage::MovableObjectWrapper< Ogre::Camera >, Gsage::MovableObjectWrapper< Ogre::Item >, Gsage::MovableObjectWrapper< Ogre::Light >, Gsage::MovableObjectWrapper< Ogre::ManualObject >, Gsage::MovableObjectWrapper< OgreV1::BillboardSet >, Gsage::MovableObjectWrapper< OgreV1::Entity >

class ManualTextureManager : public Listener
#include <ManualTextureManager.h>

This class is used to handle manual texture management and update

class MaterialLoader : public EventDispatcher, public EventSubscriber<MaterialLoader>
#include <MaterialLoader.h>

TODO: INDEXER

{ “filename”: { “checksum”: “…”, “changed”: “…”, “materials”: [] } }

for(auto& file : filesystem->ls(folder)) { if(filesystem->extension(file) != “material”) { continue; } } Custom OGRE material loader

class OgreLogRedirect : public LogListener
#include <OgreRenderSystem.h>

Class, used to redirect all ogre output to the easylogging++

class OgreObject : public Serializable<OgreObject>
#include <OgreObject.h>

Abstract ogre object

Subclassed by Gsage::IMovableObjectWrapper, Gsage::ParticleSystemWrapper, Gsage::SceneNodeWrapper

class OgreObjectManagerEvent : public Event
#include <OgreObjectManager.h>

Event related to factory lifecycle

class OgreRenderComponent : public EventDispatcher, public RenderComponent
#include <OgreRenderComponent.h>

Ogre render system component

class OgreTexture : public Texture, public Listener
#include <ManualTextureManager.h>

Implements abstract texture class Texture

class OgreView : public EventSubscriber<OgreView>
#include <OgreView.h>

Allows displaying ogre camera into imgui window.

Lua usage example:

-- create ogre viewport
viewport = imgui.createOgreView("#000000FF")

local textureID = "myOgreView"

-- render camera to texture
local cam = camera:create("free")
cam:renderToTexture(textureID, {
  autoUpdated = false
})

-- set ogre view texture
viewport:setTextureID(textureID)
-- update on each imgui render call
viewport:render(320, 240)

class Renderer

Subclassed by Gsage::ImageRenderer

class RenderEvent : public Event
#include <RenderEvent.h>

Event that is used to update any UI overlay system

class RenderSystemWrapper

Subclassed by Gsage::RocketOgreWrapper

class RenderTarget : public EventSubscriber<RenderTarget>

Subclassed by Gsage::RttRenderTarget, Gsage::WindowRenderTarget

class RenderTargetFactory
#include <RenderTarget.h>

Factory creates Ogre::RenderTarget wrapped into Gsage wrapper

class RttRenderTarget : public Gsage::RenderTarget
#include <RenderTarget.h>

Wraps Ogre RT target

class SDLEventListener

Subclassed by Gsage::SDLInputListener

class SDLRenderer
#include <SDLRenderer.h>

Wraps SDL renderer and call updates on each engine update

class SDLWindowManager : public WindowManager
#include <SDLWindowManager.h>

SDL Window Manager implementation

class WindowEventListener : public WindowEventListener
#include <WindowEventListener.h>

Proxy ogre window resize events to the engine

class WindowRenderTarget : public Gsage::RenderTarget
#include <RenderTarget.h>

Wrapped Ogre::RenderWindow

class WorkspaceEvent : public Event
#include <WorkspaceEvent.h>

Fired when a new Ogre::CompositorWorkspace is created