|
Rebel Fork Framework
|
Standard scene collector for light baking. More...
#include <Urho3D/Glow/BakedSceneCollector.h>
Classes | |
| struct | ChunkData |
| Chunk data. More... | |
Public Member Functions | |
| void | LockScene (Scene *scene, const Vector3 &chunkSize) override |
| ea::vector< IntVector3 > | GetChunks () override |
| Return all scene chunks. | |
| BakedSceneBackgroundArrayPtr | GetBackgrounds () override |
| Return all scene backgrounds. [0] is expected to be pitch-black background. | |
| ea::vector< Component * > | GetUniqueGeometries (const IntVector3 &chunkIndex) override |
| Return unique geometries within chunk. | |
| void | CommitGeometries (const IntVector3 &chunkIndex) override |
| Called when geometries were changed externally. | |
| ea::vector< LightProbeGroup * > | GetUniqueLightProbeGroups (const IntVector3 &chunkIndex) override |
| Return unique light probe groups within chunk. Order of groups must stay the same for each call. | |
| Zone * | GetLightProbeGroupZone (const IntVector3 &chunkIndex, LightProbeGroup *lightProbeGroup) override |
| Return zone that corresponds to light probe group within chunk. | |
| unsigned | GetZoneBackground (const IntVector3 &chunkIndex, Zone *zone) override |
| Return background index for zone within chunk. | |
| BoundingBox | GetChunkBoundingBox (const IntVector3 &chunkIndex) override |
| Return bounding box of unique nodes of the chunk. | |
| ea::vector< Light * > | GetLightsInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox) override |
| Return lights intersecting given volume. | |
| ea::vector< Component * > | GetGeometriesInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox) override |
| Return geometries intersecting given volume. | |
| ea::vector< LightProbeGroup * > | GetLightProbeGroupsInBoundingBox (const IntVector3 &chunkIndex, const BoundingBox &boundingBox) override |
| Return light probe groups intersecting given volume. | |
| ea::vector< Component * > | GetGeometriesInFrustum (const IntVector3 &chunkIndex, const Frustum &frustum) override |
| Return geometries intersecting given frustum. The frustum is guaranteed to contain specified chunk. | |
| void | UnlockScene () override |
| Called after everything else. Scene objects must stay unchanged until this call. | |
Public Member Functions inherited from Urho3D::BakedSceneCollector | |
| virtual | ~BakedSceneCollector () |
| Destruct. | |
Private Member Functions | |
| ea::vector< Component * > | CollectGeometriesFromDrawables (const ea::vector< Drawable * > drawables) |
| Filter drawables and return relevant components. | |
Private Attributes | |
| Scene * | scene_ {} |
| Scene. | |
| Vector3 | chunkSize_ |
| Chunk size. | |
| BoundingBox | boundingBox_ |
| Bounding box of the scene. | |
| IntVector3 | chunkGridDimension_ |
| Dimensions of chunk grid. | |
| Octree * | octree_ {} |
| Scene Octree. | |
| ea::unordered_map< IntVector3, ChunkData > | chunks_ |
| ea::vector< LightProbeGroup * > | lightProbeGroups_ |
| ea::vector< Zone * > | zones_ |
| BakedSceneBackgroundArrayPtr | backgrounds_ |
| ea::unordered_map< Zone *, unsigned > | zoneToBackgroundMap_ |
Standard scene collector for light baking.
|
overridevirtual |
Called when geometries were changed externally.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return all scene backgrounds. [0] is expected to be pitch-black background.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return bounding box of unique nodes of the chunk.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return all scene chunks.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return geometries intersecting given volume.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return geometries intersecting given frustum. The frustum is guaranteed to contain specified chunk.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return light probe groups intersecting given volume.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return zone that corresponds to light probe group within chunk.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return lights intersecting given volume.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return unique geometries within chunk.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return unique light probe groups within chunk. Order of groups must stay the same for each call.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Return background index for zone within chunk.
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
BakedSceneCollector implementation
Implements Urho3D::BakedSceneCollector.
|
overridevirtual |
Called after everything else. Scene objects must stay unchanged until this call.
Implements Urho3D::BakedSceneCollector.
|
private |
Baking backgrounds
|
private |
All relevant objects within scene