cubos::engine namespace

Engine module.

Classes

template<typename T>
class Asset
Handle to an asset of a specific type.
class AnyAsset
Handle to an asset of any type. May either be weak or strong. Weak handles do not guarantee the asset is loaded, while strong handles do.
class Assets
Resource which manages all assets. Responsible for loading and unloading assets, storing them in memory, and providing access to them.
class AssetBridge
Bridges are the objects responsible for loading and saving assets from/to disk. They form the bridge between the asset manager and the virtual file system.
class FileBridge
Abstract bridge type defined to reduce boilerplate code in bridge implementations which open a single file to load and save assets.
template<typename T>
class JSONBridge
Bridge for loading and saving assets which are serialized to and from a JSON file.
class AssetMeta
Stores metadata about an asset - the data stored in .meta files. Each asset has a corresponding meta object, which contains load or import parameters.
struct Collider
Component which adds a collider to an entity.
struct CollidingWith
Relation which represents a collision.
struct ContactPointData
Contains info regarding a contact point of a @ContactManifold.
struct ContactManifold
Represents a contact interface between two bodies.
class Raycast
System argument which allows performing raycast queries among all entities with colliders.
struct BoxCollisionShape
Component which adds a box collision shape to an entity, used with a Collider component.
struct CapsuleCollisionShape
Component which adds a capsule collision shape to an entity, used with a Collider component.
struct FixedDeltaTime
Resource which holds the value of the fixed delta for the fixedStep plugin.
class Gizmos
Resource which queues commands for drawing gizmos, basic primitives useful for debugging and tools.
struct GizmosTarget
Component used to indicate that Gizmos should be rendered to a given RenderTarget.
class ImageBridge
Bridge which loads and saves Image assets.
struct Image
Asset containing raw Image data.
class DataInspector
Resource which allows the user to inspect or modify any reflectable value on the UI.
struct ImGuiTarget
Component used to indicate that the ImGui frame should be rendered to a given RenderTarget.
class InputAction
Stores the state of a single input action, such as "jump" or "attack".
class InputAxis
Stores the state of a single input axis, such as "move forward" or "move right".
class InputBindings
Stores the input bindings for a single player.
class InputCombination
Stores the keys, gamepad buttons, and mouse buttons of a single input combination.
class Input
Resource which stores the input bindings for multiple players.
struct AccumulatedCorrection
Component which holds the corrections accumulated from the constraints solving.
struct AngularImpulse
Component which holds angular impulses applied on a body.
struct AngularVelocity
Component which holds angular velocity of a body.
struct CenterOfMass
Component which defines the center of mass of a body.
struct Force
Component which holds forces applied on a particle.
struct Impulse
Component which holds impulses applied on a particle.
struct Inertia
Component which defines the inertia of a body.
struct Mass
Component which defines the mass of a particle.
struct PhysicsMaterial
Component which defines the friction and bounciness of a body.
struct Torque
Component which holds torque applied on a body.
struct Velocity
Component which holds velocity and forces applied on a particle.
struct PhysicsBundle
Component which encapsulates the creation all components required for physics.
struct Damping
Resource which holds the damping value for integration.
struct Gravity
Resource which holds the global value of gravity.
struct Bloom
Component which stores the Bloom state for a render target.
struct Camera
Generic component to hold the projection matrix of a specific camera (either perspective or orthogonal).
struct DrawsTo
Relation which indicates the 'from' entity is a camera that draws to the 'to' target.
struct OrthographicCamera
Component which defines parameters of a orthographic camera used to render the world.
struct PerspectiveCamera
Component which defines parameters of a perspective camera used to render the world.
struct RenderTargetDefaults
Component which replaces itself by the default render target components to an entity.
struct DeferredShading
Component which stores the Deferred Shading state for a render target.
struct RenderDepth
Component which stores the depth texture of a render target.
struct GBuffer
Component which stores the GBuffer textures of a render target.
struct GBufferRasterizer
Component which stores the GBuffer rasterizer state.
struct HDR
Component which stores the HDR texture of a render target.
struct DirectionalLight
Component which makes an entity behave like a directional light.
struct RenderEnvironment
Resource which stores the scene's ambient light and sky colors.
struct PointLight
Component which makes an entity behave like a point light.
struct SpotLight
Component which makes an entity emit a spot light in the direction of its local forward vector.
struct RenderMesh
Component used to draw meshes stored in the vertex pool.
class RenderMeshPool
Used to allocate render meshes, which can then be rendered using a single draw call.
struct RenderMeshVertex
Vertex data type stored in the RenderMeshPool's vertex buffer.
struct RenderPicker
Component which provides a texture to store entity/gizmo ids, for selection with a mouse.
class ShaderBridge
Bridge for loading shader assets.
class Shader
Contains a shader stage created from GLSL code.
class ShadowAtlas
Resource which stores the shadow map atlas, a large texture that holds the shadow maps for each shadow caster in a quadtree structure, reducing texture switching.
struct ShadowAtlasRasterizer
Resource which stores the ShadowAtlas rasterizer state.
struct ShadowCaster
Struct which contains the settings common to all shadow casters.
struct DirectionalShadowCaster
Component which enables shadow casting on a directional light.
struct PointShadowCaster
Component which enables shadow casting on a point light.
struct SpotShadowCaster
Component which enables shadow casting on a spot light.
struct SplitScreen
Component which enables splitscreen in a render target.
struct SSAO
Component which stores the SSAO textures for a render target.
struct RenderTarget
Component which represents a render target.
struct ToneMapping
Component which stores Tone Mapping configuration for a render target.
struct RenderVoxelGrid
Component used to draw voxel grids.
struct LoadRenderVoxels
Component used to indicate that a voxel grid should be sent to the GPU.
struct RenderPalette
Resource which identifies the currently active palette of the scene.
class SceneBridge
Bridge which loads and saves Scene assets.
struct Scene
Asset equivalent to ECS blueprints - a bundle of entities and their components.
class Settings
Stores settings as key-value pairs and provides methods to retrieve them.
struct Selection
Resource which identifies the current selection.
class Toolbox
Manages the visibility of each tool.
struct ChildOf
Tree relation which indicates the 'from' entity is a child of the 'to' entity.
struct LocalToParent
Component which stores the transformation matrix of an entity, from local to parent space.
struct LocalToWorld
Component which stores the transformation matrix of an entity, from local to world space.
struct Position
Component which assigns a position to an entity.
struct Rotation
Component which assigns a rotation to an entity.
struct Scale
Component which assigns a uniform scale to an entity.
struct UICanvas
Component which represents a target for UI rendering.
class UIDrawList
Holds a collections of draw commands and their data.
struct UIElement
Component which defines the space an element of the UI occupies as a rect.
struct UIExpand
Component which makes a UI canvas scale to maintain proportions, choosing the dimension which reduces the element sizes on screen.
struct UIHorizontalStretch
Component which makes a UI element fit horizontally to its parent.
struct UIKeepPixelSize
Component which makes a UI canvas scale to keep its elements at the same pixel size.
struct UIMatchHeight
Component which makes a UI canvas scale to maintain vertical proportions.
struct UIMatchWidth
Component which makes a UI canvas scale to maintain horizontal proportions.
struct UINativeAspectRatio
Component which makes a UI element keep the aspect ratio of its source.
struct UIVerticalStretch
Component which makes a UI element fit vertically to its parent.
struct UIColorRect
Component that draws a UI element as a solid color.
struct UIImage
Component used to draw images on the UI.
struct FreeCameraController
Component which moves the camera.
class VoxelGrid
Represents a voxel object using a 3D grid.
class VoxelGridBridge
Bridge which loads and saves Grid assets.
struct VoxelMaterial
Describes a voxel material.
class VoxelModel
Holds the data loaded from voxel model files, such as Qubicle models.
class VoxelModelBridge
Bridge which loads and saves VoxelModel assets.
class VoxelPalette
Holds a palette of materials. Supports up to 65535 materials.
class VoxelPaletteBridge
Bridge which loads and saves Palette assets.

Typedefs

using AssetMetaRead = core::memory::ReadGuard<AssetMeta, std::shared_lock<std::shared_mutex>>
Read-only guard for an asset's metadata.
using AssetMetaWrite = core::memory::WriteGuard<AssetMeta, std::unique_lock<std::shared_mutex>>
Read-write guard for an asset's metadata.
template<typename T>
using AssetRead = core::memory::ReadGuard<T, std::shared_lock<std::shared_mutex>>
Read-only guard for an asset's data.
template<typename T>
using AssetWrite = core::memory::WriteGuard<T, std::unique_lock<std::shared_mutex>>
Read-write guard for an asset's data.
using Tag = core::ecs::Tag
Represents a tag to be used with the Cubos class.
using Plugin = core::ecs::Plugin
Function pointer type representing a plugin.
using Cubos = core::ecs::Cubos
Represents the engine itself, and exposes the interface with which the game developer interacts with. Ties up all the different parts of the engine together.
using DeltaTime = core::ecs::DeltaTime
Resource which stores the time since the last iteration of the main loop started.
using ShouldQuit = core::ecs::ShouldQuit
Resource used as a flag to indicate whether the main loop should stop running.
using Arguments = core::ecs::Arguments
Resource which stores the command-line arguments.
template<typename... ComponentTypes>
using Query = core::ecs::Query<ComponentTypes...>
System argument which holds the result of a query over all entities in world which match the given arguments.
using Entity = core::ecs::Entity
Identifies an entity.
using Commands = core::ecs::Commands
System argument used to write ECS commands and execute them at a later time.
template<typename T>
using Opt = core::memory::Opt<T>
Wrapper for reference types to indicate that the given argument type is optional.
template<typename T, unsigned int M = DEFAULT_FILTER_MASK>
using EventReader = core::ecs::EventReader<T, M>
System arguments used to read events of type T.
template<typename T>
using EventWriter = core::ecs::EventWriter<T>
System argument which allows the system to send events of type T to other systems.

Functions

auto assetsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto collisionsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
void defaultsPlugin(Cubos& cubos)
Plugin entry function.
auto fixedStepPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto gizmosPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto imagePlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto imguiPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto inputPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto physicsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto gravityPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto physicsSolverPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto bloomPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto cameraPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto cascadedShadowMapsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto cascadedShadowMapsRasterizerPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
void renderDefaultsPlugin(Cubos& cubos)
Plugin entry function.
auto deferredShadingPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto renderDepthPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto gBufferPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto gBufferRasterizerPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto hdrPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto lightsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto renderMeshPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto renderPickerPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto shaderPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto shadowAtlasPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto shadowAtlasRasterizerPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto shadowsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto splitScreenPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto ssaoPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto renderTargetPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto toneMappingPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto renderVoxelsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto scenePlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto settingsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto colliderGizmosPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto consolePlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto debugCameraPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto ecsStatisticsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto entityInspectorPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto metricsPanelPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto playPauseToolPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto toolsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto selectionPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto settingsInspectorPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto toolboxPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto transformGizmoPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto worldInspectorPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto transformPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto uiCanvasPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto colorRectPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto uiImagePlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto freeCameraPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto voxelsPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.
auto windowPlugin(Cubos& cubos) -> CUBOS_ENGINE_API void
Plugin entry function.

Variables

CUBOS_ENGINE_API Tag assetsInitTag
Initializes the assets manager and loads the meta files (after settingsTag).
CUBOS_ENGINE_API Tag assetsBridgeTag
Systems which add bridges to the asset manager should be tagged with this.
CUBOS_ENGINE_API Tag assetsCleanupTag
Frees any assets no longer in use.
CUBOS_ENGINE_API Tag assetsTag
Startup systems which load assets should be tagged with this.
CUBOS_ENGINE_API Tag collisionsTag
Detects collisions and updates colliders.
CUBOS_ENGINE_API Tag fixedStepTag
Systems with this tag run at a fixed framerate.
CUBOS_ENGINE_API Tag gizmosInitTag
Gizmos renderer is initialized, after windowInitTag.
CUBOS_ENGINE_API Tag gizmosInputTag
Gizmos interaction is handled, after windowPollTag and before gizmosDrawTag.
CUBOS_ENGINE_API Tag gizmosDrawTag
Gizmos are drawn to all render targets with GizmosTarget components.
CUBOS_ENGINE_API Tag imguiInitTag
ImGui is initialized, after windowInitTag.
CUBOS_ENGINE_API Tag imguiBeginTag
The ImGui frame begins, after windowPollTag.
CUBOS_ENGINE_API Tag imguiEndTag
The ImGui frame ends and is rendered to the window's render target.
CUBOS_ENGINE_API Tag imguiTag
Tag to be used by all systems which call ImGui functions. Runs between imguiBeginTag and imguiEndTag.
CUBOS_ENGINE_API Tag inputUpdateTag
Updates the input state.
CUBOS_ENGINE_API Tag physicsApplyForcesTag
Tag which should be used on all systems that modify velocity or apply forces or impulses.
CUBOS_ENGINE_API Tag bloomTag
Tags the system which applies the Bloom effect.
CUBOS_ENGINE_API Tag createCascadedShadowMapsTag
Creates the shadow maps.
CUBOS_ENGINE_API Tag drawToCascadedShadowMapsTag
Systems which draw to the cascaded shadow maps should be tagged with this.
CUBOS_ENGINE_API Tag deferredShadingTag
Tags the system which applies the Deferred Shading technique.
CUBOS_ENGINE_API Tag createRenderDepthTag
Recreates the RenderDepth texture if necessary - for example, due to a render target resize.
CUBOS_ENGINE_API Tag drawToRenderDepthTag
Systems which draw to RenderDepth textures should be tagged with this.
CUBOS_ENGINE_API Tag createGBufferTag
Recreates the GBuffer if necessary - for example, due to a render target resize.
CUBOS_ENGINE_API Tag drawToGBufferTag
Systems which draw to GBuffer textures should be tagged with this.
CUBOS_ENGINE_API Tag rasterizeToGBufferTag
Rasterizes RenderMesh components to the GBuffer textures.
CUBOS_ENGINE_API Tag createHDRTag
Recreates the HDR texture if necessary - for example, due to a render target resize.
CUBOS_ENGINE_API Tag drawToHDRTag
Systems which draw to HDR textures should be tagged with this.
CUBOS_ENGINE_API Tag renderMeshPoolInitTag
Render mesh pool is initialized (startup).
CUBOS_ENGINE_API Tag createRenderPickerTag
Recreates the RenderPicker if necessary - for example, due to a render target resize.
CUBOS_ENGINE_API Tag drawToRenderPickerTag
Systems which draw to RenderPicker textures should be tagged with this.
CUBOS_ENGINE_API Tag createShadowAtlasTag
Creates the shadow atlas.
CUBOS_ENGINE_API Tag reserveShadowCastersTag
Reserves space for shadow casters.
CUBOS_ENGINE_API Tag drawToShadowAtlasTag
Systems which draw to the shadow atlas texture should be tagged with this.
CUBOS_ENGINE_API Tag splitScreenTag
Tags the system which adjusts the viewports.
CUBOS_ENGINE_API Tag drawToSSAOTag
Tags the system which applies the Screen Space Ambient Occlusion technique.
CUBOS_ENGINE_API Tag resizeRenderTargetTag
Resizes the Render Target if necessary - for example, due to a window resize.
CUBOS_ENGINE_API Tag drawToRenderTargetTag
Systems which draw to Render Target framebuffers should be tagged with this.
CUBOS_ENGINE_API Tag toneMappingTag
Tags the system which does the tone mapping.
CUBOS_ENGINE_API Tag settingsTag
The settings are loaded, overriding values set previously.
CUBOS_ENGINE_API Tag transformMissingLocalTag
The LocalToWorld components are added to entities with Position, Rotation or Scale components.
CUBOS_ENGINE_API Tag transformMissingTag
The Position, Rotation, Scale and possibly LocalToParent components are added to entities with LocalToWorld components.
CUBOS_ENGINE_API Tag transformUpdateRelativeTag
The LocalToWorld or LocalToParent components are updated with the information from the Position, Rotation and Scale components.
CUBOS_ENGINE_API Tag transformUpdateTag
The LocalToWorld components are updated with the information from the LocalToParent component and the LocalToWorld components of the parent.
CUBOS_ENGINE_API Tag uiCanvasChildrenUpdateTag
UICanvas components' information is passed to related UIElement components.
CUBOS_ENGINE_API Tag uiElementPropagateTag
The UIElement components are updated with information from their parents.
CUBOS_ENGINE_API Tag uiBeginTag
Readies canvas for drawing.
CUBOS_ENGINE_API Tag uiDrawTag
Systems which draw to canvas should be tagged with this.
CUBOS_ENGINE_API Tag uiEndTag
All queued draw commands are collected and executed to the render targets.
CUBOS_ENGINE_API Tag windowInitTag
Window is opened, runs after settingsTag.
CUBOS_ENGINE_API Tag windowPollTag
The window is polled for events, sending core::io::WindowEvent's.
CUBOS_ENGINE_API Tag windowRenderTag
The window's back buffers are swapped.

Typedef documentation

using cubos::engine::Tag = core::ecs::Tag

Represents a tag to be used with the Cubos class.

using cubos::engine::Plugin = core::ecs::Plugin

Function pointer type representing a plugin.

using cubos::engine::Cubos = core::ecs::Cubos

Represents the engine itself, and exposes the interface with which the game developer interacts with. Ties up all the different parts of the engine together.

using cubos::engine::DeltaTime = core::ecs::DeltaTime

Resource which stores the time since the last iteration of the main loop started.

This resource is added and updated by the Cubos class.

using cubos::engine::ShouldQuit = core::ecs::ShouldQuit

Resource used as a flag to indicate whether the main loop should stop running.

This resource is added by the Cubos class, initially set to true.

using cubos::engine::Arguments = core::ecs::Arguments

Resource which stores the command-line arguments.

This resource is added by the Cubos class.

template<typename... ComponentTypes>
using cubos::engine::Query = core::ecs::Query<ComponentTypes...>

System argument which holds the result of a query over all entities in world which match the given arguments.

An example of a valid query is:

Query<Position&, const Velocity&, Opt<Rotation&>, Opt<const Scale&>>

This query will return all entities with a Position and Velocity component. Accessors to Rotation and Scale components are also passed but may be null if the component is not present in the entity. Whenever mutability is not needed, const should be used.

using cubos::engine::Entity = core::ecs::Entity

Identifies an entity.

When serializing/deserializing, if there's a data::old::SerializationMap<Entity, std::string, EntityHash> in the context, it will be used to (de)serialize strings representing the entities. Otherwise, the identifiers will be (de)serialized as objects with two fields: their index and their generation.

using cubos::engine::Commands = core::ecs::Commands

System argument used to write ECS commands and execute them at a later time.

Internally wraps a reference to a CommandBuffer object.

template<typename T>
using cubos::engine::Opt = core::memory::Opt<T>

Wrapper for reference types to indicate that the given argument type is optional.

Template parameters
T Argument type.

template<typename T, unsigned int M = DEFAULT_FILTER_MASK>
using cubos::engine::EventReader = core::ecs::EventReader<T, M>

System arguments used to read events of type T.

Template parameters
T Event.
M Filter mask.

Filtering the received events by their mask is also possible via the parameter M. By default, the reader will read all events sent.

template<typename T>
using cubos::engine::EventWriter = core::ecs::EventWriter<T>

System argument which allows the system to send events of type T to other systems.

Template parameters
T

Variable documentation

CUBOS_ENGINE_API Tag cubos::engine::assetsInitTag

Initializes the assets manager and loads the meta files (after settingsTag).

CUBOS_ENGINE_API Tag cubos::engine::assetsBridgeTag

Systems which add bridges to the asset manager should be tagged with this.

CUBOS_ENGINE_API Tag cubos::engine::assetsCleanupTag

Frees any assets no longer in use.

CUBOS_ENGINE_API Tag cubos::engine::assetsTag

Startup systems which load assets should be tagged with this.

CUBOS_ENGINE_API Tag cubos::engine::collisionsTag

Detects collisions and updates colliders.

CUBOS_ENGINE_API Tag cubos::engine::fixedStepTag

Systems with this tag run at a fixed framerate.

CUBOS_ENGINE_API Tag cubos::engine::gizmosInitTag

Gizmos renderer is initialized, after windowInitTag.

CUBOS_ENGINE_API Tag cubos::engine::gizmosInputTag

Gizmos interaction is handled, after windowPollTag and before gizmosDrawTag.

CUBOS_ENGINE_API Tag cubos::engine::gizmosDrawTag

Gizmos are drawn to all render targets with GizmosTarget components.

CUBOS_ENGINE_API Tag cubos::engine::imguiInitTag

ImGui is initialized, after windowInitTag.

CUBOS_ENGINE_API Tag cubos::engine::imguiBeginTag

The ImGui frame begins, after windowPollTag.

CUBOS_ENGINE_API Tag cubos::engine::imguiEndTag

The ImGui frame ends and is rendered to the window's render target.

CUBOS_ENGINE_API Tag cubos::engine::imguiTag

Tag to be used by all systems which call ImGui functions. Runs between imguiBeginTag and imguiEndTag.

CUBOS_ENGINE_API Tag cubos::engine::inputUpdateTag

Updates the input state.

CUBOS_ENGINE_API Tag cubos::engine::physicsApplyForcesTag

Tag which should be used on all systems that modify velocity or apply forces or impulses.

CUBOS_ENGINE_API Tag cubos::engine::renderMeshPoolInitTag

Render mesh pool is initialized (startup).

CUBOS_ENGINE_API Tag cubos::engine::createRenderPickerTag

Recreates the RenderPicker if necessary - for example, due to a render target resize.

CUBOS_ENGINE_API Tag cubos::engine::drawToRenderPickerTag

Systems which draw to RenderPicker textures should be tagged with this.

CUBOS_ENGINE_API Tag cubos::engine::settingsTag

The settings are loaded, overriding values set previously.

CUBOS_ENGINE_API Tag cubos::engine::transformMissingLocalTag

The LocalToWorld components are added to entities with Position, Rotation or Scale components.

CUBOS_ENGINE_API Tag cubos::engine::transformMissingTag

The Position, Rotation, Scale and possibly LocalToParent components are added to entities with LocalToWorld components.

CUBOS_ENGINE_API Tag cubos::engine::transformUpdateRelativeTag

The LocalToWorld or LocalToParent components are updated with the information from the Position, Rotation and Scale components.

CUBOS_ENGINE_API Tag cubos::engine::transformUpdateTag

The LocalToWorld components are updated with the information from the LocalToParent component and the LocalToWorld components of the parent.

CUBOS_ENGINE_API Tag cubos::engine::uiCanvasChildrenUpdateTag

UICanvas components' information is passed to related UIElement components.

CUBOS_ENGINE_API Tag cubos::engine::uiElementPropagateTag

The UIElement components are updated with information from their parents.

CUBOS_ENGINE_API Tag cubos::engine::uiBeginTag

Readies canvas for drawing.

CUBOS_ENGINE_API Tag cubos::engine::uiDrawTag

Systems which draw to canvas should be tagged with this.

CUBOS_ENGINE_API Tag cubos::engine::uiEndTag

All queued draw commands are collected and executed to the render targets.

CUBOS_ENGINE_API Tag cubos::engine::windowInitTag

Window is opened, runs after settingsTag.

CUBOS_ENGINE_API Tag cubos::engine::windowPollTag

The window is polled for events, sending core::io::WindowEvent's.

CUBOS_ENGINE_API Tag cubos::engine::windowRenderTag

The window's back buffers are swapped.