This is the interface for managing objects and visibility queries for a given scene.
More...
#include <IVisibilitySystem.h>
Inherited by AzFramework::OctreeScene.
|
using | EnumerateCallback = AZStd::function< void(const NodeData &)> |
|
|
| AZ_RTTI (IVisibilityScene, "{822BC414-3CE3-40B4-A9A2-A42EA5B9499F}") |
|
virtual const AZ::Name & | GetName () const =0 |
| Get the unique scene name, used to look up the scene in the IVisibilitySystem. Duplicate names will assert on creation.
|
|
virtual void | InsertOrUpdateEntry (VisibilityEntry &visibilityEntry)=0 |
|
virtual void | RemoveEntry (VisibilityEntry &visibilityEntry)=0 |
|
virtual void | Enumerate (const AZ::Aabb &aabb, const EnumerateCallback &callback) const =0 |
|
virtual void | Enumerate (const AZ::Sphere &sphere, const EnumerateCallback &callback) const =0 |
|
virtual void | Enumerate (const AZ::Hemisphere &hemisphere, const EnumerateCallback &callback) const =0 |
|
virtual void | Enumerate (const AZ::Capsule &capsule, const EnumerateCallback &callback) const =0 |
|
virtual void | Enumerate (const AZ::Frustum &frustum, const EnumerateCallback &callback) const =0 |
|
virtual void | Enumerate (const AZ::Frustum &includeFrustum, const AZ::Frustum &excludeFrustum, const EnumerateCallback &callback) const =0 |
|
virtual void | EnumerateNoCull (const EnumerateCallback &callback) const =0 |
|
virtual uint32_t | GetEntryCount () const =0 |
| Return the number of VisibilityEntries that have been added to the system.
|
|
This is the interface for managing objects and visibility queries for a given scene.
◆ Enumerate() [1/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Aabb & |
aabb, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects an axis aligned bounding box against the visibility system.
- Parameters
-
aabb | the axis aligned bounding box to test against |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ Enumerate() [2/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Capsule & |
capsule, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects a capsule against the visibility system.
- Parameters
-
capsule | the capsule to test against |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ Enumerate() [3/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Frustum & |
frustum, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects a frustum against the visibility system.
- Parameters
-
frustum | the frustum to test against |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ Enumerate() [4/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Frustum & |
includeFrustum, |
|
|
const AZ::Frustum & |
excludeFrustum, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects a frustum against the visibility system, but rejects everything entirely contained inside the excludeFrustum. This is useful for cascade shadows where a larger cascade need not render things completely covered by a smaller cascade.
- Parameters
-
includeFrustum | the frustum to test against for inclusion |
excludeFrustum | the frustum to test against for exclusion |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ Enumerate() [5/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Hemisphere & |
hemisphere, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects a hemisphere against the visibility system.
- Parameters
-
hemisphere | the hemisphere to test against |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ Enumerate() [6/6]
virtual void AzFramework::IVisibilityScene::Enumerate |
( |
const AZ::Sphere & |
sphere, |
|
|
const EnumerateCallback & |
callback |
|
) |
| const |
|
pure virtual |
Intersects a sphere against the visibility system.
- Parameters
-
sphere | the sphere to test against |
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ EnumerateNoCull()
virtual void AzFramework::IVisibilityScene::EnumerateNoCull |
( |
const EnumerateCallback & |
callback | ) |
const |
|
pure virtual |
Enumerate all OctreeNodes that have any entries in them (without any culling).
- Parameters
-
callback | the callback to invoke when a node is visible |
Implemented in AzFramework::OctreeScene.
◆ GetEntryCount()
virtual uint32_t AzFramework::IVisibilityScene::GetEntryCount |
( |
| ) |
const |
|
pure virtual |
◆ GetName()
virtual const AZ::Name & AzFramework::IVisibilityScene::GetName |
( |
| ) |
const |
|
pure virtual |
◆ InsertOrUpdateEntry()
virtual void AzFramework::IVisibilityScene::InsertOrUpdateEntry |
( |
VisibilityEntry & |
visibilityEntry | ) |
|
|
pure virtual |
Insert or update an entry within the visibility system. This encompasses the following three scenarios:
- Parameters
-
visibilityEntry | data for the object being added/updated |
Implemented in AzFramework::OctreeScene.
◆ RemoveEntry()
virtual void AzFramework::IVisibilityScene::RemoveEntry |
( |
VisibilityEntry & |
visibilityEntry | ) |
|
|
pure virtual |
Removes an entry from the visibility system.
- Parameters
-
visibilityEntry | data for the object being removed |
Implemented in AzFramework::OctreeScene.
The documentation for this class was generated from the following file:
- Code/Framework/AzFramework/AzFramework/Visibility/IVisibilitySystem.h