Rebel Fork Framework
Urho3D::BakedSceneCollector Class Referenceabstract

#include <Urho3D/Glow/BakedSceneCollector.h>

Inheritance diagram for Urho3D::BakedSceneCollector:
Urho3D::DefaultBakedSceneCollector

Public Member Functions

virtual ~BakedSceneCollector ()
 Destruct.
 
virtual void LockScene (Scene *scene, const Vector3 &chunkSize)=0
 Called before everything else. Scene objects must stay unchanged after this call.
 
virtual ea::vector< IntVector3GetChunks ()=0
 Return all scene chunks.
 
virtual BakedSceneBackgroundArrayPtr GetBackgrounds ()=0
 Return all scene backgrounds. [0] is expected to be pitch-black background.
 
virtual ea::vector< Component * > GetUniqueGeometries (const IntVector3 &chunkIndex)=0
 Return unique geometries within chunk.
 
virtual void CommitGeometries (const IntVector3 &chunkIndex)=0
 Called when geometries were changed externally.
 
virtual ea::vector< LightProbeGroup * > GetUniqueLightProbeGroups (const IntVector3 &chunkIndex)=0
 Return unique light probe groups within chunk. Order of groups must stay the same for each call.
 
virtual ZoneGetLightProbeGroupZone (const IntVector3 &chunkIndex, LightProbeGroup *lightProbeGroup)=0
 Return zone that corresponds to light probe group within chunk.
 
virtual unsigned GetZoneBackground (const IntVector3 &chunkIndex, Zone *zone)=0
 Return background index for zone within chunk.
 
virtual BoundingBox GetChunkBoundingBox (const IntVector3 &chunkIndex)=0
 Return bounding box of unique nodes of the chunk.
 
virtual ea::vector< Light * > GetLightsInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox)=0
 Return lights intersecting given volume.
 
virtual ea::vector< Component * > GetGeometriesInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox)=0
 Return geometries intersecting given volume.
 
virtual ea::vector< LightProbeGroup * > GetLightProbeGroupsInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox)=0
 Return light probe groups intersecting given volume.
 
virtual ea::vector< Component * > GetGeometriesInFrustum (const IntVector3 &chunkIndex, const Frustum &frustum)=0
 Return geometries intersecting given frustum. The frustum is guaranteed to contain specified chunk.
 
virtual void UnlockScene ()=0
 Called after everything else. Scene objects must stay unchanged until this call.
 

Detailed Description

Interface of scene collector for light baking. Objects may be loaded and unloaded even if scene is locked if it doesn't affect the outcome.

Member Function Documentation

◆ CommitGeometries()

virtual void Urho3D::BakedSceneCollector::CommitGeometries ( const IntVector3 chunkIndex)
pure virtual

Called when geometries were changed externally.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetBackgrounds()

virtual BakedSceneBackgroundArrayPtr Urho3D::BakedSceneCollector::GetBackgrounds ( )
pure virtual

Return all scene backgrounds. [0] is expected to be pitch-black background.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetChunkBoundingBox()

virtual BoundingBox Urho3D::BakedSceneCollector::GetChunkBoundingBox ( const IntVector3 chunkIndex)
pure virtual

Return bounding box of unique nodes of the chunk.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetChunks()

virtual ea::vector< IntVector3 > Urho3D::BakedSceneCollector::GetChunks ( )
pure virtual

Return all scene chunks.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetGeometriesInBoundingBox()

virtual ea::vector< Component * > Urho3D::BakedSceneCollector::GetGeometriesInBoundingBox ( const IntVector3 chunkIndex,
const BoundingBox boundingBox 
)
pure virtual

Return geometries intersecting given volume.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetGeometriesInFrustum()

virtual ea::vector< Component * > Urho3D::BakedSceneCollector::GetGeometriesInFrustum ( const IntVector3 chunkIndex,
const Frustum frustum 
)
pure virtual

Return geometries intersecting given frustum. The frustum is guaranteed to contain specified chunk.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetLightProbeGroupsInBoundingBox()

virtual ea::vector< LightProbeGroup * > Urho3D::BakedSceneCollector::GetLightProbeGroupsInBoundingBox ( const IntVector3 chunkIndex,
const BoundingBox boundingBox 
)
pure virtual

Return light probe groups intersecting given volume.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetLightProbeGroupZone()

virtual Zone * Urho3D::BakedSceneCollector::GetLightProbeGroupZone ( const IntVector3 chunkIndex,
LightProbeGroup lightProbeGroup 
)
pure virtual

Return zone that corresponds to light probe group within chunk.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetLightsInBoundingBox()

virtual ea::vector< Light * > Urho3D::BakedSceneCollector::GetLightsInBoundingBox ( const IntVector3 chunkIndex,
const BoundingBox boundingBox 
)
pure virtual

Return lights intersecting given volume.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetUniqueGeometries()

virtual ea::vector< Component * > Urho3D::BakedSceneCollector::GetUniqueGeometries ( const IntVector3 chunkIndex)
pure virtual

Return unique geometries within chunk.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetUniqueLightProbeGroups()

virtual ea::vector< LightProbeGroup * > Urho3D::BakedSceneCollector::GetUniqueLightProbeGroups ( const IntVector3 chunkIndex)
pure virtual

Return unique light probe groups within chunk. Order of groups must stay the same for each call.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ GetZoneBackground()

virtual unsigned Urho3D::BakedSceneCollector::GetZoneBackground ( const IntVector3 chunkIndex,
Zone zone 
)
pure virtual

Return background index for zone within chunk.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ LockScene()

virtual void Urho3D::BakedSceneCollector::LockScene ( Scene scene,
const Vector3 chunkSize 
)
pure virtual

Called before everything else. Scene objects must stay unchanged after this call.

Implemented in Urho3D::DefaultBakedSceneCollector.

◆ UnlockScene()

virtual void Urho3D::BakedSceneCollector::UnlockScene ( )
pure virtual

Called after everything else. Scene objects must stay unchanged until this call.

Implemented in Urho3D::DefaultBakedSceneCollector.


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