|
ToyMaker Game Engine 0.0.2
ToyMaker is a game engine developed and maintained by Zoheb Shujauddin.
|
Topics | |
| User Object-Oriented Logic | |
Files | |
| file | ToyMaker_Main/include/toymaker/engine/scene_components.hpp |
| Stores structs and classes for common components used by the SceneSystem and other related Systems. | |
| file | ToyMaker_Main/include/toymaker/engine/scene_loading.hpp |
| A collection of ResourceConstructor classes responsible for loading a scene into the engine. | |
| file | ToyMaker_Main/include/toymaker/engine/scene_system.hpp |
| System classes relating to the SceneSystem, which in some ways lies at the heart of the engine. | |
| file | ToyMaker_Main/include/toymaker/engine/sim_system.hpp |
| Classes and structs relating to the SimSystem, the system responsible for providing some level of general scriptability to scene nodes from a game developer's point-of-view. | |
Classes | |
| struct | ToyMaker::Placement |
| A component representing the position, rotation, and scale of an entity. More... | |
| struct | ToyMaker::Transform |
| The transform component, which moves the vertices of a model to their world space coordinates during rendering. More... | |
| struct | ToyMaker::SceneHierarchyData |
| Component representing hierarchical information related to this entity. More... | |
| class | ToyMaker::SceneFromFile |
| Constructs a scene tree from a file containing its JSON description. More... | |
| class | ToyMaker::SceneFromDescription |
| Constructs a scene tree (separate from the scene tree) based on its description in JSON. More... | |
| class | ToyMaker::SceneNodeFromDescription |
| Constructs a scene node based on its description in JSON. More... | |
| class | ToyMaker::SimObjectFromDescription |
| Constructs a SimObject from its description in JSON. More... | |
| class | ToyMaker::ViewportNodeFromDescription |
| Constructs a ViewportNode from its description in JSON. More... | |
| class | ToyMaker::SceneNodeCore |
| The core of a node in the SceneSystem, a set of components and methods overridable or usable by all types of scene nodes. More... | |
| class | ToyMaker::BaseSceneNode< TSceneNode > |
| A CRTP template for all the scene node types present in the project. More... | |
| class | ToyMaker::SceneNode |
| The most basic vanilla flavour of scene node comprised of no more than a name and some components. More... | |
| class | ToyMaker::ViewportNode |
| A type of node capable of and responsible for interacting sensibly with the engine's RenderSystem and ECSWorlds. More... | |
| class | ToyMaker::SceneSystem |
| The SceneSystem, a singleton System, responsible for tracking all objects in the scene, computing their Transforms, and maintaining hierarchical relationships between scene nodes. More... | |
| class | ToyMaker::SceneSystem::PlacementUpdateReporter |
| A subsystem of the SceneSystem which tracks, per world, which objects have had their Placement components updated. More... | |
| class | ToyMaker::SceneSystem::TransformUpdateReporter |
| A subsystem of the SceneSystem which tracks, per world, which objects have had their Transform components updated. More... | |
| class | ToyMaker::SimObject |
| A wrapper on entity that allows objects in the Scene to be scriptable. More... | |
Typedefs | |
| using | ToyMaker::TransformComponentSet = uint8_t |
| Field indicating which transform components this object would like to inherit from its parent in the scene hierarchy. | |
Enumerations | |
| enum | ToyMaker::TransformComponentOption : TransformComponentSet { ToyMaker::TRANSFORMCOMPONENT_TRANSLATION =0x1 , ToyMaker::TRANSFORMCOMPONENT_ROTATION =0x2 , ToyMaker::TRANSFORMCOMPONENT_SCALE =0x4 } |
| The different kinds of values that can be inherited from a transform belonging to a parent. More... | |
| enum class | ToyMaker::TransformInheritMode : uint8_t { ToyMaker::TransformInheritMode::PARENT , ToyMaker::TransformInheritMode::GLOBAL , ToyMaker::TransformInheritMode::CAMERA } |
| The different kinds of values that can be inherited from a transform belonging to a parent. More... | |
| enum class | ToyMaker::RelativeTo : uint8_t { PARENT =0 } |
| (Presently unused) A marker to indicate how transforms should be computed for a given scene node. More... | |
| enum | ToyMaker::SpecialEntity : EntityID { ENTITY_NULL = kMaxEntities } |
| (Perhaps unused) Special "reserved" entity IDs which the scene system might use. More... | |
Functions | |
| ToyMaker::NLOHMANN_JSON_SERIALIZE_ENUM (TransformComponentOption, { { TransformComponentOption::TRANSFORMCOMPONENT_TRANSLATION, "translation" }, { TransformComponentOption::TRANSFORMCOMPONENT_ROTATION, "rotation" }, { TransformComponentOption::TRANSFORMCOMPONENT_SCALE, "scale" }, }) | |
| ToyMaker::NLOHMANN_JSON_SERIALIZE_ENUM (TransformInheritMode, { { TransformInheritMode::PARENT, "parent" }, { TransformInheritMode::GLOBAL, "global" }, { TransformInheritMode::CAMERA, "camera" }, }) | |
| void | ToyMaker::from_json (const nlohmann::json &json, Placement &placement) |
| void | ToyMaker::to_json (nlohmann::json &json, const Placement &placement) |
| void | ToyMaker::to_json (nlohmann::json &json, const SceneHierarchyData &sceneHierarchyData) |
| void | ToyMaker::from_json (const nlohmann::json &json, SceneHierarchyData &sceneHierarchyData) |
| void | ToyMaker::to_json (nlohmann::json &json, const Transform &transform) |
| void | ToyMaker::from_json (const nlohmann::json &json, Transform &transform) |
| ToyMaker::NLOHMANN_JSON_SERIALIZE_ENUM (RelativeTo, { {RelativeTo::PARENT, "parent"}, }) | |
Variables | |
| const std::string | ToyMaker::kSceneRootName { "" } |
| Special name for the scene root, unusable by any other scene object. | |
| using ToyMaker::TransformComponentSet = uint8_t |
Field indicating which transform components this object would like to inherit from its parent in the scene hierarchy.
|
strong |
(Presently unused) A marker to indicate how transforms should be computed for a given scene node.
Currently all scene nodes are computed relative to their parent (even if they shouldn't be).
| enum ToyMaker::SpecialEntity : EntityID |
(Perhaps unused) Special "reserved" entity IDs which the scene system might use.
The different kinds of values that can be inherited from a transform belonging to a parent.
|
strong |
The different kinds of values that can be inherited from a transform belonging to a parent.
| Enumerator | |
|---|---|
| PARENT | Transform components are inherited from this object's parent. |
| GLOBAL | This object's transform is directly specified as a world-relative matrix (where the world matrix is simply the identity matrix) |
| CAMERA | This object's transform is specified relative to the view matrix of the active camera in its ECS world. |