Engine module

Cubos engine library.

Macro used to export and import symbols from the library.

The engine library is built on top of the core library and contains code exclusive to game execution. This includes asset management, rendering and physics. It is built around the Cubos class and designed to be as modular as possible. Each sub-module corresponds to a plugin, or a set of plugins.

The library re-exports some of the core library functionality for convenience such that the user doesn't have to use the cubos::core namespace directly very often.

Modules

module Assets
Adds asset management to Cubos.
module Collisions
Adds collision detection to Cubos.
module Defaults
Adds a series of pre-configured essential plugins to the engine.
module Fixed Time Step
Adds a tag which makes its systems run at a fixed frame rate.
module Gizmos
Used to draw gizmos helpful for debugging and tools.
module Image
Adds images to Cubos using stb_image.
module ImGui integration
Initializes and configures ImGui for Cubos.
module Input
Adds input handling to Cubos.
module Physics
Creates and handles the physics simulation.
module Defaults
Adds the most frequently used rendering plugins to the engine.
module Render
Provides plugins for graphics rendering.
module Scene
Adds scenes to Cubos.
module Settings
Adds and manages settings.
module Transform
Adds transform components which assign positions, rotations and scaling to entities.
module UI
Provides plugins for graphical user interfaces.
module Free Camera
Adds the free camera controller component, which locks the mouse and moves an entity.
module Voxels
Adds grid and palette assets to Cubos.
module Window
Creates and handles the lifecycle of a window.

Files

file api.hpp
Macro CUBOS_ENGINE_API.
file prelude.hpp
Includes commonly used headers and defines aliases for commonly used types.
file settings.hpp
Class cubos::engine::Settings.

Classes

class cubos::engine::Settings
Stores settings as key-value pairs and provides methods to retrieve them.