File RenderInterfaceOgre3D.h

class RenderInterfaceOgre3D : public RenderInterface
#include <RenderInterfaceOgre3D.h>

A sample render interface for Rocket into Ogre3D.

Modified by Brett Didemus to work with programable pipeline

Author

Peter Curry

Public Functions

RenderInterfaceOgre3D(unsigned int window_width, unsigned int window_height)
virtual ~RenderInterfaceOgre3D()
virtual void RenderGeometry(Rocket::Core::Vertex *vertices, int num_vertices, int *indices, int num_indices, Rocket::Core::TextureHandle texture, const Rocket::Core::Vector2f &translation)

Called by Rocket when it wants to render geometry that it does not wish to optimise.

virtual Rocket::Core::CompiledGeometryHandle CompileGeometry(Rocket::Core::Vertex *vertices, int num_vertices, int *indices, int num_indices, Rocket::Core::TextureHandle texture)

Called by Rocket when it wants to compile geometry it believes will be static for the forseeable future.

virtual void RenderCompiledGeometry(Rocket::Core::CompiledGeometryHandle geometry, const Rocket::Core::Vector2f &translation)

Called by Rocket when it wants to render application-compiled geometry.

virtual void ReleaseCompiledGeometry(Rocket::Core::CompiledGeometryHandle geometry)

Called by Rocket when it wants to release application-compiled geometry.

virtual void EnableScissorRegion(bool enable)

Called by Rocket when it wants to enable or disable scissoring to clip content.

virtual void SetScissorRegion(int x, int y, int width, int height)

Called by Rocket when it wants to change the scissor region.

virtual bool LoadTexture(Rocket::Core::TextureHandle &texture_handle, Rocket::Core::Vector2i &texture_dimensions, const Rocket::Core::String &source)

Called by Rocket when a texture is required by the library.

virtual bool GenerateTexture(Rocket::Core::TextureHandle &texture_handle, const Rocket::Core::byte *source, const Rocket::Core::Vector2i &source_dimensions)

Called by Rocket when a texture is required to be built from an internally-generated sequence of pixels.

virtual void ReleaseTexture(Rocket::Core::TextureHandle texture)

Called by Rocket when a loaded texture is no longer required.

float GetHorizontalTexelOffset()

Returns the native horizontal texel offset for the renderer.

float GetVerticalTexelOffset()

Returns the native vertical texel offset for the renderer.

void setCustomProjectionMatrix(Ogre::Matrix4 projMatrix)

Private Members

Ogre::RenderSystem *render_system
Ogre::LayerBlendModeEx colour_blend_mode
Ogre::LayerBlendModeEx alpha_blend_mode
Ogre::Matrix4 customProjectionMatrix
Ogre::TexturePtr m_blankTexture
bool scissor_enable
int scissor_left
int scissor_top
int scissor_right
int scissor_bottom