Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::FrustumCuller Class Reference

#include <FrustumCuller.hpp>

Inheritance diagram for castor3d::FrustumCuller:
Inheritance graph
[legend]
Collaboration diagram for castor3d::FrustumCuller:
Collaboration graph
[legend]

Public Member Functions

C3D_API FrustumCuller (Scene &scene, Camera &camera, std::optional< bool > isStatic=std::nullopt)
 
C3D_API FrustumCuller (Camera &camera, std::optional< bool > isStatic=std::nullopt)
 
C3D_API FrustumCuller (Scene &scene, Frustum &frustum, std::optional< bool > isStatic=std::nullopt)
 
C3D_API void updateFrustum (castor::Matrix4x4f const &projection, castor::Matrix4x4f const &view)
 
- Public Member Functions inherited from castor3d::SceneCuller
C3D_API SceneCuller (Scene &scene, Camera *camera, std::optional< bool > isStatic=std::nullopt)
 
virtual C3D_API ~SceneCuller () noexcept
 
C3D_API void update (CpuUpdater &updater)
 
C3D_API void removeCulled (SubmeshRenderNode const &node)
 
C3D_API void removeCulled (BillboardRenderNode const &node)
 
C3D_API void resetCamera (Camera *camera)
 
ScenegetScene () const noexcept
 
bool hasCamera () const noexcept
 
bool hasNodes () const noexcept
 
Camera const & getCamera () const noexcept
 
CameragetCamera () noexcept
 
bool areAnyChanged () const noexcept
 
bool areCulledChanged () const noexcept
 
NodeArrayT< SubmeshRenderNode, CulledNodePtrT > const & getSubmeshes () const noexcept
 
NodeArrayT< BillboardRenderNode, CulledNodePtrT > const & getBillboards () const noexcept
 
RenderCounts const & getTotalCounts () const noexcept
 

Additional Inherited Members

- Public Attributes inherited from castor3d::SceneCuller
SceneCullerSignal onCompute
 
SceneCullerSubmeshSignal onSubmeshChanged
 
SceneCullerBillboardSignal onBillboardChanged
 
SceneCullerSubmeshSignal onSubmeshRemoved
 
SceneCullerBillboardSignal onBillboardRemoved
 
- Protected Attributes inherited from 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
 
std::optional< bool > m_isStatic
 
RenderCounts m_total {}
 
NodeArrayT< SubmeshRenderNode, CulledNodePtrTm_culledSubmeshes
 
NodeArrayT< BillboardRenderNode, CulledNodePtrTm_culledBillboards
 

Constructor & Destructor Documentation

◆ FrustumCuller() [1/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Scene & scene,
Camera & camera,
std::optional< bool > isStatic = std::nullopt )

◆ FrustumCuller() [2/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Camera & camera,
std::optional< bool > isStatic = std::nullopt )
explicit

◆ FrustumCuller() [3/3]

C3D_API castor3d::FrustumCuller::FrustumCuller ( Scene & scene,
Frustum & frustum,
std::optional< bool > isStatic = std::nullopt )

Member Function Documentation

◆ updateFrustum()

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

The documentation for this class was generated from the following file: