File ImguiOgreRenderer.h

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

Subclassed by Gsage::ImguiRendererV1, Gsage::ImguiRendererV2

Public Functions

ImguiOgreRenderer()
virtual ~ImguiOgreRenderer()
virtual void initialize(Engine *facade, lua_State *L)

Set engine, setup lua bindings

Parameters
  • engine: Gsage CE

  • L: lua state

virtual void createFontTexture(unsigned char *pixels, int width, int height)

Create font texture in the underlying render system

Parameters
  • pixels: Raw texture

  • width: Texture width

  • height: Texture height

virtual void updateVertexData(Ogre::Viewport *vp, ImVec2 displaySize) = 0
virtual void setImguiContext(ImGuiContext *ctx)

Imgui context is not shared across plugins, so pass it to renderer

Parameters
  • ctx: Context to use

Protected Functions

virtual void updateFontTexture()
virtual void createMaterial() = 0
virtual bool renderQueueEnded(EventDispatcher *sender, const Event &event)

Protected Attributes

Ogre::TexturePtr mFontTex
Ogre::SceneManager *mSceneMgr
unsigned char *mFontPixels
int mFontTexWidth
int mFontTexHeight
bool mUpdateFontTex
std::mutex mFontTexLock