https://github.com/starlet-engine/scene
Lightweight scene & scene management library for Starlet projects
https://github.com/starlet-engine/scene
camera model opengl scene starlet
Last synced: 3 months ago
JSON representation
Lightweight scene & scene management library for Starlet projects
- Host: GitHub
- URL: https://github.com/starlet-engine/scene
- Owner: starlet-engine
- License: mit
- Created: 2025-09-04T00:18:40.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-11-29T02:23:17.000Z (7 months ago)
- Last Synced: 2026-04-18T01:42:20.499Z (3 months ago)
- Topics: camera, model, opengl, scene, starlet
- Language: C++
- Homepage:
- Size: 121 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Starlet Scene
A lightweight ECS-based scene & scene management library for Starlet projects designed with OpenGL engines in mind.
## Features
- **Entity-Component System (ECS)**
- `Scene` : manages **entities**, each of which can hold multiple components.
- Core components:
- `Camera`, `Model`, `Light`, `Grid`, `TextureData`, `TextureConnection`, `Primitive`, `TransformComponent`, `VelocityComponent`
- Core systems:
- `CameraMoveSystem`, `CameraLookSystem`, `CameraFovSystem`, `VelocitySystem`
- **Scene I/O**
- `SceneLoader` : `loadScene` & `saveScene`
- Human-readable format with tokens:
`camera`, `model`, `light`,
`texture`, `textureCube`, `textureAdd`
`triangle`, `square`, `cube`,
`squareGrid`, `cubeGrid`,
`velocity`,
`#` or `comment` for comments
## Using as a Dependency
```cmake
include(FetchContent)
FetchContent_Declare(starlet_scene
GIT_REPOSITORY https://github.com/masonlet/starlet-scene.git
GIT_TAG main
)
FetchContent_MakeAvailable(starlet_scene)
target_link_libraries(app_name PRIVATE starlet_scene)
```