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