Overview
Atlas Engine uses a flexible component-based architecture where game objects can have behaviors and properties attached through components. The main object types areCoreObject, Model, and CompoundObject.
CoreObject
CoreObject is the fundamental 3D object class that represents renderable geometry in the scene.
Creating Objects
Atlas provides helper functions for creating common shapes:object.h:655-715
Object Properties
object.h:385-395
Material Properties
object.h:48-65
Textures
object.h:349-350
Shaders
object.h:344-346
Initialization
object.h:354
Instancing
Efficiently render multiple copies of an object:test/main.cpp:33-36
object.h:511-521
Rendering Options
object.h:458-504
Emissive Objects
object.h:322
Model
TheModel class loads and manages 3D models from files:
object.h:750
Model Operations
object.h:764-806
CompoundObject
CompoundObject allows you to create complex objects composed of multiple CoreObject instances:
test/main.cpp:22-43
Using CompoundObject
Advanced CompoundObject Example
test/main.cpp:79-114
Component System
Components add behavior and functionality to game objects:Creating Components
test/main.cpp:53-65
Component Lifecycle
component.h:56-88
Adding Components
object.h:467-487
Accessing Components
component.h:397-407
Component Access to GameObject
component.h:123
TraitComponent
Type-safe components that work only with specific object types:test/main.cpp:45-51
Component Examples
Audio Component
test/main.cpp:67-77
Physics Component
test/main.cpp:116-132
Collision Events
Objects receive collision callbacks:component.h:103-114
Signal System
Objects can send and receive signals:component.h:109-113
GameObject Hierarchy
component.h:418-420
Object IDs
component.h:414
Example: Complete Object Setup
Next Steps
Physics
Add physics simulation to your objects
Lighting
Learn about lighting objects
Audio
Add spatial audio to objects
Textures
Work with textures and materials