![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <FrustumClusters.hpp>

Public Member Functions | |
| C3D_API | FrustumClusters (FrustumClusters const &)=delete |
| C3D_API | FrustumClusters (FrustumClusters &&) noexcept=delete |
| C3D_API FrustumClusters & | operator= (FrustumClusters const &)=delete |
| C3D_API FrustumClusters & | operator= (FrustumClusters &&) noexcept=delete |
| C3D_API | ~FrustumClusters () noexcept=default |
| C3D_API | FrustumClusters (RenderDevice const &device, Camera const &camera, ClustersConfig const &config) |
| C3D_API void | update (CpuUpdater &updater) |
| CPU side update. | |
| C3D_API void | updateDebug (DebugDrawer &drawer) |
| Debug update. | |
| C3D_API crg::FramePass const & | createFramePasses (crg::FramePassGroup &graph, crg::FramePass const *previousPass, RenderTechnique &technique, CameraUbo const &cameraUbo, RenderNodesPass *&nodesPass) |
| Registers the clusters related frame passes. | |
| castor::Point3ui const & | getDimensions () const noexcept |
| bool const & | needsClustersUpdate () const noexcept |
| bool const & | needsLightsUpdate () const noexcept |
| auto & | getClustersUbo () const noexcept |
| auto & | getClustersAABBBuffer () const noexcept |
| auto & | getPointLightClusterGridBuffer () const noexcept |
| auto & | getSpotLightClusterGridBuffer () const noexcept |
| auto & | getPointLightClusterIndexBuffer () const noexcept |
| auto & | getSpotLightClusterIndexBuffer () const noexcept |
| auto & | getAllLightsAABBBuffer () const noexcept |
| auto & | getReducedLightsAABBBuffer () const noexcept |
| auto & | getPointLightBVHBuffer () const noexcept |
| auto & | getSpotLightBVHBuffer () const noexcept |
| ashes::BufferBase & | getPointLightIndicesBuffer (uint32_t index) const noexcept |
| ashes::BufferBase & | getSpotLightIndicesBuffer (uint32_t index) const noexcept |
| ashes::BufferBase & | getPointLightMortonCodesBuffer (uint32_t index) const noexcept |
| ashes::BufferBase & | getSpotLightMortonCodesBuffer (uint32_t index) const noexcept |
| ashes::BufferBase & | getInputPointLightIndicesBuffer () const noexcept |
| ashes::BufferBase & | getInputSpotLightIndicesBuffer () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getOutputPointLightIndicesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getOutputSpotLightIndicesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getInputPointLightIndicesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getInputSpotLightIndicesBuffers () const noexcept |
| ashes::BufferBase & | getOutputPointLightIndicesBuffer () const noexcept |
| ashes::BufferBase & | getOutputSpotLightIndicesBuffer () const noexcept |
| ashes::BufferBase & | getInputPointLightMortonCodesBuffer () const noexcept |
| ashes::BufferBase & | getInputSpotLightMortonCodesBuffer () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getOutputPointLightMortonCodesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getOutputSpotLightMortonCodesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getInputPointLightMortonCodesBuffers () const noexcept |
| castor::Vector< ashes::BufferBase const * > | getInputSpotLightMortonCodesBuffers () const noexcept |
| ashes::BufferBase & | getOutputPointLightMortonCodesBuffer () const noexcept |
| ashes::BufferBase & | getOutputSpotLightMortonCodesBuffer () const noexcept |
| ashes::BufferBase & | getMergePathPartitionsBuffer () const noexcept |
| ashes::BufferBase & | getClusterFlagsBuffer () const noexcept |
| ashes::BufferBase & | getUniqueClustersBuffer () const noexcept |
| ashes::BufferBase & | getClustersIndirectBuffer () const noexcept |
| auto & | getCamera () const noexcept |
| auto & | getConfig () const noexcept |
| auto & | getCameraUbo () const noexcept |
Static Public Member Functions | |
| static C3D_API uint32_t | getNumLevelNodes (uint32_t level) |
| static C3D_API uint32_t | getNumLevels (uint32_t numLeaves) |
| static C3D_API uint32_t | getNumNodes (uint32_t numLeaves) |
| static C3D_API uint32_t | getBucketSortBucketSize () |
Public Attributes | |
| OnClustersBuffersChanged | onClusterBuffersChanged |
|
delete |
|
deletenoexcept |
|
defaultnoexcept |
| C3D_API castor3d::FrustumClusters::FrustumClusters | ( | RenderDevice const & | device, |
| Camera const & | camera, | ||
| ClustersConfig const & | config ) |
| C3D_API crg::FramePass const & castor3d::FrustumClusters::createFramePasses | ( | crg::FramePassGroup & | graph, |
| crg::FramePass const * | previousPass, | ||
| RenderTechnique & | technique, | ||
| CameraUbo const & | cameraUbo, | ||
| RenderNodesPass *& | nodesPass ) |
Registers the clusters related frame passes.
|
inlinenoexcept |
|
static |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References CU_Require.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
| [in] | level | The BVH level. |
|
static |
| [in] | numLeaves | The number of leaf nodes. |
|
static |
| [in] | numLeaves | The number of leaf nodes. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References CU_Require.
|
inlinenoexcept |
References CU_Require.
|
inlinenoexcept |
Referenced by getInputPointLightIndicesBuffer(), getInputPointLightIndicesBuffers(), getOutputPointLightIndicesBuffer(), and getOutputPointLightIndicesBuffers().

|
inlinenoexcept |
Referenced by getInputPointLightMortonCodesBuffer(), getInputPointLightMortonCodesBuffers(), getOutputPointLightMortonCodesBuffer(), and getOutputPointLightMortonCodesBuffers().

|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References CU_Require.
|
inlinenoexcept |
References CU_Require.
|
inlinenoexcept |
Referenced by getInputSpotLightIndicesBuffer(), getInputSpotLightIndicesBuffers(), getOutputSpotLightIndicesBuffer(), and getOutputSpotLightIndicesBuffers().

|
inlinenoexcept |
Referenced by getInputSpotLightMortonCodesBuffer(), getInputSpotLightMortonCodesBuffers(), getOutputSpotLightMortonCodesBuffer(), and getOutputSpotLightMortonCodesBuffers().

|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
deletenoexcept |
|
delete |
| C3D_API void castor3d::FrustumClusters::update | ( | CpuUpdater & | updater | ) |
CPU side update.
| [in,out] | updater | The update data. |
| C3D_API void castor3d::FrustumClusters::updateDebug | ( | DebugDrawer & | drawer | ) |
Debug update.
| [in,out] | drawer | The debug drawer. |
| OnClustersBuffersChanged castor3d::FrustumClusters::onClusterBuffersChanged |