Unravel Engine C++ Reference
|
RmlUi render interface implementation using bgfx. More...
#include <RmlUi_RenderInterface.h>
Public Member Functions | |
RmlUi_RenderInterface () | |
~RmlUi_RenderInterface () | |
auto | init (rtti::context &ctx) -> bool |
Initialize the renderer with engine context. | |
void | shutdown () |
Cleanup renderer resources. | |
operator bool () const | |
Returns true if the renderer was successfully constructed. | |
void | set_viewport (int viewport_width, int viewport_height, int viewport_offset_x=0, int viewport_offset_y=0) |
Set viewport dimensions. | |
void | begin_frame () |
Setup bgfx state for RmlUi rendering. | |
void | end_frame (const gfx::frame_buffer::ptr &framebuffer=nullptr) |
Finish frame and restore previous state. | |
void | clear () |
Clear the current render target. | |
auto | CompileGeometry (Rml::Span< const Rml::Vertex > vertices, Rml::Span< const int > indices) -> Rml::CompiledGeometryHandle override |
void | RenderGeometry (Rml::CompiledGeometryHandle handle, Rml::Vector2f translation, Rml::TextureHandle texture) override |
void | ReleaseGeometry (Rml::CompiledGeometryHandle handle) override |
auto | LoadTexture (Rml::Vector2i &texture_dimensions, const Rml::String &source) -> Rml::TextureHandle override |
auto | GenerateTexture (Rml::Span< const Rml::byte > source_data, Rml::Vector2i source_dimensions) -> Rml::TextureHandle override |
void | ReleaseTexture (Rml::TextureHandle texture_handle) override |
void | EnableScissorRegion (bool enable) override |
void | SetScissorRegion (Rml::Rectanglei region) override |
void | SetScissor (Rml::Rectanglei region, bool vertically_flip=false) |
void | EnableClipMask (bool enable) override |
void | RenderToClipMask (Rml::ClipMaskOperation mask_operation, Rml::CompiledGeometryHandle geometry, Rml::Vector2f translation) override |
void | SetTransform (const Rml::Matrix4f *new_transform) override |
auto | PushLayer () -> Rml::LayerHandle override |
void | CompositeLayers (Rml::LayerHandle source, Rml::LayerHandle destination, Rml::BlendMode blend_mode, Rml::Span< const Rml::CompiledFilterHandle > filters) override |
void | PopLayer () override |
auto | SaveLayerAsTexture () -> Rml::TextureHandle override |
auto | SaveLayerAsMaskImage () -> Rml::CompiledFilterHandle override |
auto | CompileFilter (const Rml::String &name, const Rml::Dictionary ¶meters) -> Rml::CompiledFilterHandle override |
void | ReleaseFilter (Rml::CompiledFilterHandle filter) override |
auto | CompileShader (const Rml::String &name, const Rml::Dictionary ¶meters) -> Rml::CompiledShaderHandle override |
void | RenderShader (Rml::CompiledShaderHandle shader_handle, Rml::CompiledGeometryHandle geometry_handle, Rml::Vector2f translation, Rml::TextureHandle texture) override |
void | ReleaseShader (Rml::CompiledShaderHandle effect_handle) override |
auto | get_transform () const -> const Rml::Matrix4f & |
void | reset_program () |
Static Public Attributes | |
static constexpr Rml::TextureHandle | TextureEnableWithoutBinding = Rml::TextureHandle(-1) |
static constexpr Rml::TextureHandle | TexturePostprocess = Rml::TextureHandle(-2) |
RmlUi render interface implementation using bgfx.
This class implements the RmlUi rendering interface using the engine's gfx system (bgfx wrapper) for hardware-accelerated rendering.
Definition at line 220 of file RmlUi_RenderInterface.h.
unravel::RmlUi_RenderInterface::RmlUi_RenderInterface | ( | ) |
Definition at line 198 of file RmlUi_RenderInterface.cpp.
unravel::RmlUi_RenderInterface::~RmlUi_RenderInterface | ( | ) |
Definition at line 203 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::begin_frame | ( | ) |
Setup bgfx state for RmlUi rendering.
Definition at line 290 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::clear | ( | ) |
Clear the current render target.
Definition at line 372 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1126 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 380 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1264 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 900 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 763 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 743 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::end_frame | ( | const gfx::frame_buffer::ptr & | framebuffer = nullptr | ) |
Finish frame and restore previous state.
Definition at line 310 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 650 of file RmlUi_RenderInterface.cpp.
|
inline |
Definition at line 308 of file RmlUi_RenderInterface.h.
auto unravel::RmlUi_RenderInterface::init | ( | rtti::context & | ctx | ) | -> bool |
Initialize the renderer with engine context.
ctx | Engine context for accessing graphics systems |
Definition at line 210 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 609 of file RmlUi_RenderInterface.cpp.
|
inlineexplicit |
Returns true if the renderer was successfully constructed.
Definition at line 241 of file RmlUi_RenderInterface.h.
|
override |
Definition at line 915 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 895 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1244 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 582 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1520 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 716 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 462 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1361 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 771 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::reset_program | ( | ) |
Definition at line 1540 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 1050 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 920 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::set_viewport | ( | int | viewport_width, |
int | viewport_height, | ||
int | viewport_offset_x = 0, | ||
int | viewport_offset_y = 0 ) |
Set viewport dimensions.
viewport_width | Width in pixels |
viewport_height | Height in pixels |
viewport_offset_x | X offset (default 0) |
viewport_offset_y | Y offset (default 0) |
Definition at line 259 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::SetScissor | ( | Rml::Rectanglei | region, |
bool | vertically_flip = false ) |
Definition at line 752 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 758 of file RmlUi_RenderInterface.cpp.
|
override |
Definition at line 885 of file RmlUi_RenderInterface.cpp.
void unravel::RmlUi_RenderInterface::shutdown | ( | ) |
Cleanup renderer resources.
Definition at line 245 of file RmlUi_RenderInterface.cpp.
|
staticconstexpr |
Definition at line 303 of file RmlUi_RenderInterface.h.
|
staticconstexpr |
Definition at line 304 of file RmlUi_RenderInterface.h.