|
| | Scene (core::Context *context) |
| |
| Node * | MakeNode (Node *parent=nullptr) |
| | Generates a new node and attaches it to the parent if it is set, root otherwise.
|
| |
| void | Update (const base::FrameRenderInfo &renderInfo, base::CmdBufferIndex index) |
| | Advance scene state by invoking all NodeComponent update callbacks, followed by GlobalComponent update callbacks.
|
| |
| void | Update (const base::FrameRenderInfo &renderInfo, VkCommandBuffer cmdBuffer) |
| |
| void | Draw (const base::FrameRenderInfo &renderInfo, VkPipelineLayout pipelineLayout, base::CmdBufferIndex index=base::PRIMARY_COMMAND_BUFFER) |
| | Draw the scene by invoking the Draw callbacks.
|
| |
| void | Draw (const base::FrameRenderInfo &renderInfo, VkPipelineLayout pipelineLayout, VkCommandBuffer cmdBuffer) |
| | Draw the scene by invoking the Draw callbacks.
|
| |
| void | HandleEvent (const osi::Event *event) |
| | Invokes event callbacks (NodeComponent, then GlobalComponent)
|
| |
| virtual void | Destroy () override |
| | Cleans up all memory, GPU structures, etc...
|
| |
| virtual | ~Scene () |
| |
| template<typename TComponent > |
| int32_t | FindComponents (std::vector< TComponent * > &outcomponents) |
| |
| template<typename TComponent > |
| int32_t | FindNodesWithComponent (std::vector< Node * > &outnodes) |
| |
| void | UseDefaultCamera (bool invertAll=false) |
| | Adds a default camera to the scene (standard perspective + freecameracontroller) and selects it in the cameramanager.
|
| |
| void | UpdateTlasManager () |
| | Rebuilds the Tlas. If your project requires a Tlas this must be called after altering the scene.
|
| |
| void | UpdateLightManager () |
| | Updates lights. If your project requires punctual lights, this must be called after altering the scene.
|
| |
| | Registry () |
| |
| | Registry (CallbackDispatcher *root) |
| |
| template<typename TComponent , typename... Args> |
| TComponent * | MakeComponent (Args &&... args) |
| | Instantiates a new componente.
|
| |
| template<typename TComponent > |
| void | AddComponent (TComponent *component) |
| | Adds a manually instantiated component instance (initiate with new, Registry manages finalization)
|
| |
| template<typename TComponent > |
| void | MoveComponent (TComponent *component) |
| | Moves a component registered to a different Registry to this.
|
| |
| template<typename TComponent > |
| bool | HasComponent () const |
| | Test wether a component matching type TComponent is registered.
|
| |
| template<typename TComponent > |
| TComponent * | GetComponent () |
| | Gets first component that can be cast to TComponent type.
|
| |
| template<typename TComponent > |
| const TComponent * | GetComponent () const |
| | Gets first component that can be cast to TComponent type.
|
| |
| template<typename TComponent > |
| int32_t | GetComponents (std::vector< TComponent * > &out) |
| | Appends all components which can be cast to TComponent type to the out vector.
|
| |
| template<typename TComponent > |
| int32_t | GetComponents (std::vector< const TComponent * > &out) const |
| | Appends all components which can be cast to TComponent type to the out vector.
|
| |
| bool | RemoveDeleteComponent (Component *component) |
| | Removes and finalizes a component.
|
| |
| virtual | ~Registry () |
| |
| Registry & | SetCallbackDispatcher (CallbackDispatcher *rootRegistry) |
| | The root registry manages global callbacks invokable on the components.
|
| |
| | NoMoveDefaults ()=default |
| |
| | NoMoveDefaults (const NoMoveDefaults &other)=delete |
| |
| | NoMoveDefaults (NoMoveDefaults &&other)=default |
| |
| NoMoveDefaults & | operator= (const NoMoveDefaults &other)=delete |
| |
| virtual void | InvokeUpdate (SceneUpdateInfo &updateInfo) |
| |
| virtual void | InvokeDraw (SceneDrawInfo &renderInfo) |
| |
| virtual void | InvokeOnEvent (const osi::Event *event) |
| |
| virtual void | InvokeOnResized (VkExtent2D event) |
| |
Provides registries and methods as the anchor of a component based scene.