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


Public Member Functions | |
| 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) |
Public Member Functions inherited from castor3d::SceneCuller | |
| C3D_API | SceneCuller (Scene &scene, Camera *camera) |
| virtual C3D_API | ~SceneCuller ()=default |
| C3D_API void | registerRenderPass (RenderNodesPass const &renderPass) |
| C3D_API void | unregisterRenderPass (RenderNodesPass const &renderPass) |
| C3D_API void | compute () |
| 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 |
| float | getMinCastersZ () |
| Scene & | getScene () const |
| bool | hasCamera () const |
| Camera const & | getCamera () const |
| Camera & | getCamera () |
| bool | areAllChanged () 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 |
Additional Inherited Members | |
Public Types inherited from castor3d::SceneCuller | |
| template<typename NodeT > | |
| using | NodeArrayT = std::vector< NodeT const * > |
| template<typename NodeT > | |
| using | SidedNodeArrayT = std::vector< std::pair< NodeT const *, bool > > |
| template<typename NodeT > | |
| using | SidedNodeBufferMapT = std::map< ashes::BufferBase const *, SidedNodeArrayT< NodeT > > |
| template<typename NodeT > | |
| using | SidedNodePipelineMapT = std::map< uint64_t, 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< uint64_t, SidedObjectNodeBufferMapT< NodeT > > |
| using | IndexedDrawCommandsBuffer = ashes::BufferPtr< VkDrawIndexedIndirectCommand > |
| using | DrawCommandsBuffer = ashes::BufferPtr< VkDrawIndirectCommand > |
| using | PipelineNodesBuffer = ashes::BufferPtr< PipelineNodes > |
| using | PipelineBufferArray = std::vector< PipelineBuffer > |
Public Attributes inherited from castor3d::SceneCuller | |
| SceneCullerSignal | onCompute |
Protected Attributes inherited from castor3d::SceneCuller | |
| Camera * | m_camera |
| uint32_t | m_index |
| bool | m_allChanged { true } |
| bool | m_culledChanged { true } |
| bool | m_sceneDirty { true } |
| bool | m_cameraDirty { true } |
| float | m_minCullersZ { 0.0f } |
| NodeArrayT< SubmeshRenderNode > | m_culledSubmeshes |
| NodeArrayT< BillboardRenderNode > | m_culledBillboards |
| std::map< RenderNodesPass const *, RenderPassBuffers > | m_renderPasses |
| OnSceneChangedConnection | m_sceneChanged |
| OnCameraChangedConnection | m_cameraChanged |
| C3D_API void castor3d::FrustumCuller::updateFrustum | ( | castor::Matrix4x4f const & | projection, |
| castor::Matrix4x4f const & | view | ||
| ) |