|
| 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.