|
Cogs.Core
|
Public Member Functions | |
| OctSystem (Memory::Allocator *allocator, SizeType capacity) | |
| void | initialize (Context *context) override |
| Initialize the system. | |
| void | update (Context *context) override |
| Provided for custom update logic in derived systems. | |
| ComponentModel::ComponentHandle | createComponent () override |
| bool | isDebugEffectReady (Context *context) |
| void | buildTree (Context *context, OctComponent &octComp, OctData &octData) |
| void | adaptiveSubset (Context *context, OctComponent &octComp, OctData &octData, const TransformComponent &transComp, const CameraComponent &camComp, const CameraData &camData) |
Public Member Functions inherited from Cogs::Core::ComponentSystemWithDataPool< OctComponent, OctData > | |
| ComponentSystemWithDataPool (Memory::Allocator *allocator, SizeType size=1024) | |
| OctData & | getData (const OctComponent *component) |
| const OctData & | getData (const OctComponent *component) const |
Public Member Functions inherited from Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes > | |
| ComponentSystemWithDataPools (Memory::Allocator *allocator, SizeType size=1024, MemBlockType componentMemType=MemBlockType::Component, MemBlockType dataMemType=MemBlockType::ComponentData) | |
| ComponentHandle | createComponent () override |
| void | destroyComponent (ComponentHandle component) override |
| template<typename T > | |
| T & | getData (const ComponentType *component) |
| Get the data stored for the given component from the data pool storing objects of the specified template type. | |
| template<typename T > | |
| const T & | getData (const ComponentType *component) const |
| Get the const data stored for the given component from the data pool storing objects of the specified template type. | |
Public Member Functions inherited from Cogs::Core::ComponentSystem< ComponentType > | |
| ComponentSystem (Memory::Allocator *allocator, SizeType size=16384, MemBlockType componentMemType=MemBlockType::Component) | |
| void | instrumentedPreUpdate () override |
| Provided for tagged engine instrumentation. | |
| void | instrumentedUpdate () override |
| Provided for tagged engine instrumentation. | |
| void | instrumentedPostUpdate () override |
| Provided for tagged engine instrumentation. | |
| ComponentHandle | createComponent () override |
| Create a new component instance. | |
| void | destroyComponent (ComponentHandle component) override |
| Destroy the component held by the given handle. | |
| SizeType | getComponentIndex (const Component *component) const |
| Get the index of the given component in the component pool. | |
| size_t | size () |
| Returns the number of active components. | |
| void | clearCarryFlags () |
| Clear carry flags of all active components. | |
| void | resetFlags () |
| Reset the flags of all active components. | |
| void | prepareUpdate (Context *) override |
| void | postUpdate (Context *) override |
| ComponentHandle | getHandle (const ComponentType *component) |
| Get a handle to the given Component instance. | |
| virtual void | addEntitiesWithComponent (std::vector< EntityId > &entities, Reflection::TypeId componentTypeId) override |
| Return all entities with a given. | |
Public Member Functions inherited from Cogs::Core::ComponentSystemBase | |
| virtual | ~ComponentSystemBase () |
| Provided for destruction via pointer to base. | |
| ComponentSystemBase (Reflection::TypeId componentType) | |
| Constructs a ComponentSystemBase to manage components of the given componentType. | |
| virtual void | initialize (Context *context) |
| Initialize the system. | |
| void | preUpdate () |
| Run the pre-update method of the system. | |
| void | update () |
| Updates the system state to that of the current frame. | |
| void | postUpdate () |
| Perform post update logic in the system. | |
| virtual void | preUpdate (Context *) |
| Provided for custom pre update logic in derived systems. | |
| virtual void | prepareUpdate (Context *) |
| Provided for custom update preparation logic in derived systems. | |
| virtual void | update (Context *) |
| Provided for custom update logic in derived systems. | |
| virtual void | postUpdate (Context *) |
| Provided for custom post update logic in derived systems. | |
| virtual void | instrumentedPreUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | instrumentedUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | instrumentedPostUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | addEntitiesWithComponent (std::vector< EntityId > &, Reflection::TypeId) |
| Return all entities with a given. | |
| virtual void | cleanup (Context *) |
| Provided for custom cleanup logic in derived systems. | |
| virtual ComponentHandle | createComponent () |
| Create a new component instance. | |
| virtual void | destroyComponent (ComponentHandle) |
| Destroy the component held by the given handle. | |
| Reflection::TypeId | getComponentType () const |
| Get the reflected type of the components managed by this system. | |
Static Public Member Functions | |
| static glm::mat4 | LocalFromIndexSpaceTransform (const OctComponent &octComp, const OctData &octData) |
| static glm::mat4 | IndexSpaceFromLocalTransform (const OctComponent &octComp, const OctData &octData) |
Static Public Member Functions inherited from Cogs::Core::ComponentSystem< ComponentType > | |
| static Reflection::TypeId | getTypeId () |
| Get the type id of the component type used by the system. | |
Public Attributes | |
| struct OctBounds * | bounds = nullptr |
| struct OctRenderer * | renderer = nullptr |
| MaterialHandle | material |
| VariableKey | transferTexKey |
| VariableKey | volumeTexKey |
| Cogs::EffectHandle | effectHandle |
| Cogs::InputLayoutHandle | inputLayoutHandle |
| Cogs::VertexFormatHandle | debugVertexFormat |
| Cogs::ResourceStatus | effectStatus = Cogs::ResourceStatus::Pending |
Public Attributes inherited from Cogs::Core::ComponentSystem< ComponentType > | |
| ComponentPool< ComponentType > | pool |
| Pool of components managed by the system. | |
Public Attributes inherited from Cogs::Core::ComponentSystemBase | |
| Reflection::TypeId | componentType |
| The type of components managed by this instance. | |
| Context * | context = nullptr |
| Pointer to the Context instance the system lives in. | |
Static Public Attributes | |
| static const unsigned | maxResponses = 5 |
| static const unsigned | skirtSize = 1 |
Additional Inherited Members | |
Public Types inherited from Cogs::Core::ComponentSystem< ComponentType > | |
| typedef ComponentType | component_type |
Definition at line 114 of file OctSystem.h.
|
inline |
Definition at line 120 of file OctSystem.h.
| void Cogs::Core::Volumetric::OctSystem::adaptiveSubset | ( | Context * | context, |
| OctComponent & | octComp, | ||
| OctData & | octData, | ||
| const TransformComponent & | transComp, | ||
| const CameraComponent & | camComp, | ||
| const CameraData & | camData | ||
| ) |
Definition at line 415 of file OctSystem.cpp.
| void Cogs::Core::Volumetric::OctSystem::buildTree | ( | Context * | context, |
| OctComponent & | octComp, | ||
| OctData & | octData | ||
| ) |
Definition at line 311 of file OctSystem.cpp.
|
overridevirtual |
Overridden to update data pool contents in lockstep with the component pool. Any subclass overriding this method should call base class first.
Reimplemented from Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes >.
Definition at line 222 of file OctSystem.cpp.
References Cogs::Core::ComponentSystemBase::createComponent().
|
static |
Definition at line 404 of file OctSystem.cpp.
|
overridevirtual |
Initialize the system.
Initialization is performed after all systems are created and a renderer initialized, but before the first time anything is rendered.
| context | Pointer to the context the system lives in. |
Reimplemented from Cogs::Core::ComponentSystemBase.
Definition at line 163 of file OctSystem.cpp.
References Cogs::Core::Context::bounds, Cogs::File, Cogs::EffectFlags::GLSL, Cogs::Core::ComponentSystemBase::initialize(), Cogs::OpenGLES30, Cogs::Position, Cogs::Core::IRenderer::registerExtension(), Cogs::Core::Context::renderer, and Cogs::VertexData.
| bool Cogs::Core::Volumetric::OctSystem::isDebugEffectReady | ( | Context * | context | ) |
Polls readiness of the debug wireframe effect and lazily finishes its input layout setup once compiled. Returns true once the effect is ready to draw with.
Definition at line 204 of file OctSystem.cpp.
References Cogs::IEffects::checkEffect(), Cogs::Error, Cogs::IBuffers::loadInputLayout(), and Cogs::Ready.
|
static |
Definition at line 396 of file OctSystem.cpp.
|
overridevirtual |
Provided for custom update logic in derived systems.
Reimplemented from Cogs::Core::ComponentSystemBase.
Definition at line 237 of file OctSystem.cpp.
References Cogs::Core::Volumetric::OctData::alignMinToZeroShift, Cogs::Core::Volumetric::OctComponent::blockShift, Cogs::Core::Volumetric::OctComponent::clearAllRegions, Cogs::Core::Volumetric::OctComponent::forceWipe, Cogs::ComponentModel::Component::getComponent(), Cogs::hashSequence(), Cogs::Core::Volumetric::OctRegionData::max, Cogs::Core::Volumetric::OctRegionData::min, Cogs::Core::Volumetric::OctComponent::regionsToAdd, and Cogs::Core::Volumetric::OctComponent::tileRequests.
| struct OctBounds* Cogs::Core::Volumetric::OctSystem::bounds = nullptr |
Definition at line 130 of file OctSystem.h.
| Cogs::VertexFormatHandle Cogs::Core::Volumetric::OctSystem::debugVertexFormat |
Definition at line 139 of file OctSystem.h.
| Cogs::EffectHandle Cogs::Core::Volumetric::OctSystem::effectHandle |
Definition at line 137 of file OctSystem.h.
| Cogs::ResourceStatus Cogs::Core::Volumetric::OctSystem::effectStatus = Cogs::ResourceStatus::Pending |
Definition at line 140 of file OctSystem.h.
| Cogs::InputLayoutHandle Cogs::Core::Volumetric::OctSystem::inputLayoutHandle |
Definition at line 138 of file OctSystem.h.
| MaterialHandle Cogs::Core::Volumetric::OctSystem::material |
Definition at line 133 of file OctSystem.h.
|
static |
Definition at line 117 of file OctSystem.h.
| struct OctRenderer* Cogs::Core::Volumetric::OctSystem::renderer = nullptr |
Definition at line 131 of file OctSystem.h.
|
static |
Definition at line 118 of file OctSystem.h.
| VariableKey Cogs::Core::Volumetric::OctSystem::transferTexKey |
Definition at line 134 of file OctSystem.h.
| VariableKey Cogs::Core::Volumetric::OctSystem::volumeTexKey |
Definition at line 135 of file OctSystem.h.