Skip to content

nimble0/RmlOgre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A RmlUi render interface for OGRE-Next

Dependencies

Supported features

  • ✔️ Geometry
  • ✔️ Textures
  • ✔️ Scissor region
  • ✔️ Clip mask
  • ✔️ Transforms
  • ✔️ Layers
  • ✔️ Render textures
  • ✔️ Mask images
  • ✔️ Filters
  • ✔️ Shaders

Supported render systems

  • OpenGL 3
  • Vulkan
  • DirectX 11

Usage

See the example folder, these are the main steps:

  • Add to your OGRE resources.cfg:

    • @RMLOGRE_MEDIA/DIR@/scripts/materials/Rml
    • @RMLOGRE_MEDIA/DIR@/scripts/materials/Rml/GLSL
    • @RMLOGRE_MEDIA/DIR@/scripts/materials/Rml/HLSL
    • @RMLOGRE_MEDIA/DIR@/scripts/compositors/Rml
  • Add FileSystem=. as a resource path in order for relative path documents to load images correctly.

  • Add FileSystem=/ as a resource path in order for absolute path documents to load images correctly.

  • Add a compositor pass provider that provides (see MyCompositorPassProvider in example/src/main.cpp):

    • nimble::RmlOgre::CompositorPassGeometry, id rml/geometry
    • nimble::RmlOgre::CompositorPassRenderQuad, id rml/render_quad
  • Render your scene to a texture.

  • Create an instance of nimble::RmlOgre::RenderInterface with your window texture (output parameter) and scene texture (background parameter).

  • Pass your render interface to a Rml::CreateContext call as normal.

  • Call nimble::RmlOgre::RenderInterface::BeginFrame before Rml::Context::Render.

  • Call nimble::RmlOgre::RenderInterface::EndFrame after Rml::Context::Render.

About

A RmlUi render interface for OGRE-Next

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published