Castor3D 0.14.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::FrustumCuller

#include <FrustumCuller.hpp>

Graphe d'héritage de castor3d::FrustumCuller:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::FrustumCuller:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API FrustumCuller (Scene &scene, Camera &camera)
 
C3D_API FrustumCuller (Camera &camera)
 
C3D_API FrustumCuller (Scene &scene, Frustum &frustum)
 
C3D_API void updateFrustum (castor::Matrix4x4f const &projection, castor::Matrix4x4f const &view)
 
- Fonctions membres publiques hérités de castor3d::SceneCuller
C3D_API SceneCuller (Scene &scene, Camera *camera)
 
virtual C3D_API ~SceneCuller ()
 
C3D_API void registerRenderPass (RenderNodesPass const &renderPass)
 
C3D_API void unregisterRenderPass (RenderNodesPass const &renderPass)
 
C3D_API void update (CpuUpdater &updater)
 
C3D_API std::pair< uint32_t, uint32_t > fillPipelinesIds (RenderNodesPass const &renderPass, castor::ArrayView< uint32_t > nodesPipelinesIds) const
 
C3D_API void registerNodePipeline (RenderNodesPass const &renderPass, uint32_t nodeId, uint32_t pipelineId)
 
C3D_API PipelineBufferArray const & getPassPipelineNodes (RenderNodesPass const &renderPass) const
 
C3D_API uint32_t getPipelineNodesIndex (RenderNodesPass const &renderPass, PipelineBaseHash const &hash, ashes::BufferBase const &buffer) const
 
C3D_API uint32_t getPipelineNodesIndex (RenderNodesPass const &renderPass, Submesh const &submesh, Pass const &pass, ashes::BufferBase const &buffer, bool isFrontCulled) const
 
C3D_API uint32_t getPipelineNodesIndex (RenderNodesPass const &renderPass, BillboardBase const &billboard, Pass const &pass, ashes::BufferBase const &buffer, bool isFrontCulled) const
 
C3D_API void removeCulled (SubmeshRenderNode const &node)
 
C3D_API void removeCulled (BillboardRenderNode const &node)
 
ScenegetScene () const
 
bool hasCamera () const
 
Camera const & getCamera () const
 
CameragetCamera ()
 
bool areAnyChanged () const
 
bool areCulledChanged () const
 
bool hasCulledNodes (RenderNodesPass const &renderPass) const
 
ashes::Buffer< VkDrawIndexedIndirectCommand > const & getSubmeshIdxCommands (RenderNodesPass const &renderPass) const
 
ashes::Buffer< VkDrawIndirectCommand > const & getSubmeshNIdxCommands (RenderNodesPass const &renderPass) const
 
ashes::Buffer< VkDrawIndirectCommand > const & getBillboardCommands (RenderNodesPass const &renderPass) const
 
ashes::Buffer< PipelineNodes > const & getNodesIds (RenderNodesPass const &renderPass) const
 
SidedNodePipelineMapT< SubmeshRenderNode > const & getSubmeshNodes (RenderNodesPass const &renderPass) const
 
SidedObjectNodePipelineMapT< SubmeshRenderNode > const & getInstancedSubmeshNodes (RenderNodesPass const &renderPass) const
 
SidedNodePipelineMapT< BillboardRenderNode > const & getBillboardNodes (RenderNodesPass const &renderPass) const
 

Membres hérités additionnels

- Types publics hérités de castor3d::SceneCuller
template<typename NodeT >
using NodeArrayT = std::vector< CulledNodeT< NodeT > >
 
template<typename NodeT >
using SidedNodeT = std::pair< CulledNodeT< NodeT >, bool >
 
template<typename NodeT >
using SidedNodeArrayT = std::vector< SidedNodeT< NodeT > >
 
template<typename NodeT >
using SidedNodeBufferMapT = std::map< ashes::BufferBase const *, SidedNodeArrayT< NodeT > >
 
template<typename NodeT >
using SidedNodePipelineMapT = std::map< PipelineBaseHash, SidedNodeBufferMapT< NodeT > >
 
template<typename NodeT >
using SidedObjectNodeMapT = std::map< NodeObjectT< NodeT > const *, SidedNodeArrayT< NodeT > >
 
template<typename NodeT >
using SidedObjectNodePassMapT = std::map< Pass const *, SidedObjectNodeMapT< NodeT > >
 
template<typename NodeT >
using SidedObjectNodeBufferMapT = std::map< ashes::BufferBase const *, SidedObjectNodePassMapT< NodeT > >
 
template<typename NodeT >
using SidedObjectNodePipelineMapT = std::map< PipelineBaseHash, SidedObjectNodeBufferMapT< NodeT > >
 
using IndexedDrawCommandsBuffer = ashes::BufferPtr< VkDrawIndexedIndirectCommand >
 
using DrawCommandsBuffer = ashes::BufferPtr< VkDrawIndirectCommand >
 
using PipelineNodesBuffer = ashes::BufferPtr< PipelineNodes >
 
using PipelineBufferArray = std::vector< PipelineBuffer >
 
- Attributs publics hérités de castor3d::SceneCuller
SceneCullerSignal onCompute
 
- Attributs protégés hérités de castor3d::SceneCuller
Cameram_camera
 
uint32_t m_index
 
bool m_first { true }
 
bool m_anyChanged { true }
 
bool m_culledChanged { true }
 
FramePassTimerUPtr m_timer
 
FramePassTimerUPtr m_timerDirty
 
FramePassTimerUPtr m_timerCompute
 
FramePassTimerUPtr m_timerIndirect
 
NodeArrayT< SubmeshRenderNodem_culledSubmeshes
 
NodeArrayT< BillboardRenderNodem_culledBillboards
 
std::map< RenderNodesPass const *, RenderPassBuffersm_renderPasses
 

Documentation des constructeurs et destructeur

◆ FrustumCuller() [1/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Scene scene,
Camera camera 
)

◆ FrustumCuller() [2/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Camera camera)
explicit

◆ FrustumCuller() [3/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Scene scene,
Frustum frustum 
)

Documentation des fonctions membres

◆ updateFrustum()

C3D_API void castor3d::FrustumCuller::updateFrustum ( castor::Matrix4x4f const &  projection,
castor::Matrix4x4f const &  view 
)

La documentation de cette classe a été générée à partir du fichier suivant :