Castor3D 0.13.0
Multiplatform 3D engine
|
#include <DummyCuller.hpp>
Fonctions membres publiques | |
C3D_API | DummyCuller (Scene &scene, Camera *camera=nullptr) |
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 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) |
Scene & | getScene () const |
bool | hasCamera () const |
Camera const & | getCamera () const |
Camera & | getCamera () |
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 | |
Camera * | m_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< SubmeshRenderNode > | m_culledSubmeshes |
NodeArrayT< BillboardRenderNode > | m_culledBillboards |
std::map< RenderNodesPass const *, RenderPassBuffers > | m_renderPasses |