All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eegeo::Rendering::RenderableBase Class Referenceabstract

The simplest renderable unit consumed by the renderer. More...

#include <RenderableBase.h>

Inheritance diagram for Eegeo::Rendering::RenderableBase:
Eegeo::NonCopyable Eegeo::BlueSphere::AccuracyRing::AccuracyRingRenderable Eegeo::CollisionVisualization::CollisionVisualizationRenderable Eegeo::DebugRendering::DebugRenderableBase Eegeo::Icons::BatchedIconRenderable Eegeo::Rendering::Renderables::BasicRenderable Eegeo::Rendering::Renderables::BatchedSpriteRenderable Eegeo::Rendering::Renderables::MeshRenderable Eegeo::Rendering::Renderables::ModelRenderable Eegeo::Rendering::Renderables::SceneModelRenderable Eegeo::Resources::Interiors::InteriorsStencilMirrorClearRenderable Eegeo::Shapes::Heatmaps::HeatmapShapeRenderable Eegeo::Text::BatchedTextRenderable

Public Member Functions

 RenderableBase (const m44 &modelViewProjection, const dv3 &ecefPosition, const Rendering::Materials::IMaterial *pMaterial, const VertexLayouts::VertexBinding *pVertexBinding, const SortKey &sortKey)
 
 RenderableBase (LayerIds::Values layerId, const dv3 &ecefPosition, const Rendering::Materials::IMaterial *material, const VertexLayouts::VertexBinding &vertexBinding)
 
 RenderableBase (LayerIds::Values layerId, const dv3 &ecefPosition, const Rendering::Materials::IMaterial *material)
 
const SortKey GetSortKey () const
 
void SetLayer (LayerIds::Values layerId)
 
LayerIds::Values GetLayer () const
 
void SetUserDefined (u64 userDefined)
 
u64 GetUserDefined () const
 
void SetDepth (u64 depth)
 
u64 GetDepth () const
 
virtual void SetMaterial (const Rendering::Materials::IMaterial *pMaterial, Rendering::VertexLayouts::VertexBindingPool &vertexBindingPool)
 
const Materials::IMaterialGetMaterial () const
 
virtual bool ShouldRender () const
 
virtual void Render (Rendering::GLState &glState) const =0
 
void SetEcefPosition (const dv3 &ecefPosition)
 
const dv3GetEcefPosition () const
 
void SetModelViewProjection (const m44 &modelViewProjection)
 
const m44GetModelViewProjection () const
 

Protected Member Functions

virtual void UpdateSortKeyForMaterial (const Materials::IMaterial *material)
 
virtual void OnMaterialChanged (const Rendering::Materials::IMaterial *pMaterial, Rendering::VertexLayouts::VertexBindingPool &vertexBindingPool)
 
void SetVertexBinding (const VertexLayouts::VertexBinding &binding)
 
const
VertexLayouts::VertexBinding
GetVertexBinding () const
 
- Protected Member Functions inherited from Eegeo::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 

Protected Attributes

m44 m_modelViewProjection
 
dv3 m_ecefPosition
 
const
Rendering::Materials::IMaterial
m_material
 
const
VertexLayouts::VertexBinding
m_pVertexBinding
 
SortKey m_sortKey
 

Detailed Description

The simplest renderable unit consumed by the renderer.

Renderables provide a sort key that allows them to be sorted by draw order and material. They are also capable of submitting themselves to Open GL for rendering.


The documentation for this class was generated from the following files: