All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Eegeo::Rendering::Renderables::InteriorRenderable Class Reference
Inheritance diagram for Eegeo::Rendering::Renderables::InteriorRenderable:
Eegeo::Rendering::Renderables::CulledMeshRenderable Eegeo::Rendering::Renderables::MeshRenderable Eegeo::Rendering::RenderableBase Eegeo::NonCopyable Eegeo::Rendering::Renderables::InstancedInteriorFloorRenderable Eegeo::Rendering::Renderables::InteriorFloorRenderable Eegeo::Rendering::Renderables::InteriorHighlightRenderable Eegeo::Unity::UnityInstancedInteriorFloorRenderable Eegeo::Unity::UnityInteriorFloorRenderable Eegeo::Unity::UnityInteriorHighlightRenderable

Classes

struct  RenderState
 

Public Member Functions

 InteriorRenderable (LayerIds::Values layerId, int floorIndex, Materials::IMaterial *material, Rendering::Mesh *pMesh, Culling::CullingVolumeTree *pCullingVolumeTree, const VertexLayouts::VertexBinding &vertexBinding, Eegeo::dv3 ecefLocalOrigin, Eegeo::v4 positionBoundsMin, Eegeo::v4 positionBoundsMax, Eegeo::v2 uvBoundsMin, Eegeo::v2 uvBoundsMax, const std::string &renderableId, const Eegeo::Resources::Interiors::IInteriorsMaterialAssignmentObserver &materialAssignmentObserver, const float interiorTerrainHeight, bool ownsMesh, const std::string &interiorIdentifier)
 
virtual void OnMaterialChanged (const Rendering::Materials::IMaterial *pMaterial, Rendering::VertexLayouts::VertexBindingPool &vertexBindingPool)
 
const std::string & GetRenderableId () const
 
virtual void SetColor (const v4 &color)
 
const v4GetColor () const
 
void SetSaturation (float saturation)
 
float GetSaturation () const
 
virtual bool NeedsStencilMirrorDuplicates () const
 
bool IsStencilMirrorMask () const
 
Resources::Interiors::InteriorsStencilMirrorType GetStencilMirrorType () const
 
v4 GetStencilMirrorClearColor () const
 
bool NeedsBlend () const
 
float GetInteriorTerrainHeight () const
 
const std::string & GetInteriorId () const
 
int GetFloorIndex () const
 
Resources::Interiors::InteriorsRenderableLayer::Type GetMaterialRenderableLayer () const
 
const Eegeo::v2GetUVBoundsMin () const
 
const Eegeo::v2GetUVBoundsMax () const
 
const Eegeo::v4GetPositionBoundsMin () const
 
const Eegeo::v4GetPositionBoundsMax () const
 
RenderState CalcRenderState (const Rendering::RenderContext &renderContext, float environmentFlatteningScale) const
 
void SetRenderState (const RenderState &renderState)
 
RenderState GetRenderState () const
 
virtual void SetModelTransform (const m44 &modelToLocalEcefTransform)
 
void SetNormalModelTransform (const m44 &normalToLocalEcefTransform)
 
void SetMaterialIsTranslucent (bool materialIsTranslucent)
 
void SetMaterialRenderableLayer (Eegeo::Resources::Interiors::InteriorsRenderableLayer::Type materialRenderableLayer)
 
void SetSortKeyTranslucency (bool depthSorted)
 
void SetStencilMirrorType (Resources::Interiors::InteriorsStencilMirrorType stencilMirrorType)
 
void SetStencilMirrorClearColor (const v3 &stencilMirrorClearColor)
 
virtual bool UpdateVisibility (const Eegeo::Geometry::Frustum &viewFrustum, Culling::CullingVolumeVisibilityUpdater &visibilityUpdater, float environmentScale)
 
u32 CalcSortKeyDepthOpaque () const
 
u32 CalcSortKeyDepthBlended (int drawOrderDepth) const
 
bool IsMaterialTranslucent () const
 
m44 GetModelTransform () const
 
- Public Member Functions inherited from Eegeo::Rendering::Renderables::CulledMeshRenderable
 CulledMeshRenderable (LayerIds::Values layerId, Eegeo::dv3 ecefPosition, Materials::IMaterial *material, Rendering::Mesh *pMesh, Culling::CullingVolumeTree *pCullingVolumeTree, const Rendering::VertexLayouts::VertexBinding &vertexBinding)
 
 CulledMeshRenderable (LayerIds::Values layerId, Eegeo::dv3 ecefPosition, Materials::IMaterial *material, Rendering::Mesh *pMesh, const std::vector< Culling::CullingVolume > &cullingVolumes, const Rendering::VertexLayouts::VertexBinding &vertexBinding)
 
const bool UpdateVisibility (const Rendering::RenderContext &renderContext, Culling::CullingVolumeVisibilityUpdater &visibilityUpdater, float environmentScale)
 
void SetVisible ()
 
void SetInvisible ()
 
const bool HasVisibleElements () const
 
const std::vector
< Culling::IndexBufferRange > & 
GetVisibleIndexRanges () const
 
virtual void Render (Rendering::GLState &glState) const
 
Culling::CullingVolumeTreeDeepCopyCullingVolumeTree () const
 
- Public Member Functions inherited from Eegeo::Rendering::Renderables::MeshRenderable
 MeshRenderable (LayerIds::Values layerId, Eegeo::dv3 ecefPosition, Materials::IMaterial *material, Rendering::Mesh *pMesh, const Rendering::VertexLayouts::VertexBinding &vertexBinding)
 
Rendering::MeshGetMesh ()
 
const Rendering::MeshGetMesh () const
 
- Public Member Functions inherited from Eegeo::Rendering::RenderableBase
 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
 
void SetEcefPosition (const dv3 &ecefPosition)
 
const dv3GetEcefPosition () const
 
void SetModelViewProjection (const m44 &modelViewProjection)
 
const m44GetModelViewProjection () const
 

Static Public Member Functions

static u32 CalcSortKeyDepthOpaque (int floorIndex, Resources::Interiors::InteriorsStencilMirrorType stencilMirrorType)
 
static u32 CalcSortKeyDepthBlended (int floorIndex, Resources::Interiors::InteriorsRenderableLayer::Type renderableLayer, Resources::Interiors::InteriorsStencilMirrorType stencilMirrorType, int drawOrderDepth)
 

Protected Member Functions

m44 CalcPositionUnpack () const
 
m44 GetNormalModelTransform () const
 
- Protected Member Functions inherited from Eegeo::Rendering::Renderables::CulledMeshRenderable
void InitialiseVisibleIndexRanges ()
 
- Protected Member Functions inherited from Eegeo::Rendering::Renderables::MeshRenderable
void UpdateVertexBinding (Rendering::VertexLayouts::VertexBindingPool &vertexBindingPool)
 
- Protected Member Functions inherited from Eegeo::Rendering::RenderableBase
virtual void UpdateSortKeyForMaterial (const Materials::IMaterial *material)
 
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
 

Additional Inherited Members

- Protected Attributes inherited from Eegeo::Rendering::Renderables::CulledMeshRenderable
Culling::CullingVolumeTreem_pCullingVolumeTree
 
std::vector
< Culling::IndexBufferRange
m_visibleIndexRanges
 

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