Castor3D 0.16.0
Multiplatform 3D engine
|
#include <FrustumClusters.hpp>
Fonctions membres publiques | |
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) |
Mise à jour niveau CPU. | |
C3D_API crg::FramePass const & | createFramePasses (crg::FramePassGroup &graph, crg::FramePass const *previousPass, RenderTechnique &technique, CameraUbo const &cameraUbo, RenderNodesPass *&nodesPass) |
Enregistre les passes liées aux clusters. | |
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 |
Fonctions membres publiques statiques | |
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) |
Attributs publics | |
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 ) |
Enregistre les passes liées aux clusters.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Références CU_Require.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
[in] | level | Le niveau du BVH. |
|
static |
[in] | numLeaves | Le nombre de noeuds feuilles. |
|
static |
[in] | numLeaves | Le nombre de noeuds feuilles. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Références CU_Require.
|
inlinenoexcept |
Références CU_Require.
|
inlinenoexcept |
Référencé par getInputPointLightIndicesBuffer(), getInputPointLightIndicesBuffers(), getOutputPointLightIndicesBuffer(), et getOutputPointLightIndicesBuffers().
|
inlinenoexcept |
Référencé par getInputPointLightMortonCodesBuffer(), getInputPointLightMortonCodesBuffers(), getOutputPointLightMortonCodesBuffer(), et getOutputPointLightMortonCodesBuffers().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Références CU_Require.
|
inlinenoexcept |
Références CU_Require.
|
inlinenoexcept |
Référencé par getInputSpotLightIndicesBuffer(), getInputSpotLightIndicesBuffers(), getOutputSpotLightIndicesBuffer(), et getOutputSpotLightIndicesBuffers().
|
inlinenoexcept |
Référencé par getInputSpotLightMortonCodesBuffer(), getInputSpotLightMortonCodesBuffers(), getOutputSpotLightMortonCodesBuffer(), et getOutputSpotLightMortonCodesBuffers().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
deletenoexcept |
|
delete |
C3D_API void castor3d::FrustumClusters::update | ( | CpuUpdater & | updater | ) |
Mise à jour niveau CPU.
[in,out] | updater | Les données d'update. |
OnClustersBuffersChanged castor3d::FrustumClusters::onClusterBuffersChanged |