.. | ||
assets | ||
bin.md | ||
client.md | ||
engine.md | ||
ext.md | ||
README.md |
Engine Docs
Features
To be filled.
- a Unity-like ECS + scene + asset system
- entities stores components and behaviors
- scenes load a tree of entities
- entities are defined through JSON files which can reference assets or other JSON files, and can instantiate other entities
- Lua to extend the engine
- Garry's Mod-like hook system for dispatching events
- events are dispatched through the hook system by sending objects hooks tied to a given name + payload type
- Vulkan (or OpenGL) as the rendering backend
- the Vulkan backend heavily makes use of an almost-GPU driven deferred rendering system
- "G-buffer" can consist solely of IDs and depth, and all geometry information is then reconstructed during the deferred compute pass
- optionally can fall back to a quasi-traditional setup of IDs, UVs, normals, and depth
- shadow maps are rendered to each light's shadow maps
- point lights are treated as a cubemap
- optional light map baking
- basic PBR shading
- a sovlful (sloppy) VXGI for GI and reflections
- hardware RT support via
VK_KHR_ray_query
- "full"
VK_KHR_ray_tracing
mode is partially broken
- "full"
- bloom and additional post processing
- FSR2 or something cringe
- "G-buffer" can consist solely of IDs and depth, and all geometry information is then reconstructed during the deferred compute pass
- OpenGL uses a very, very naive OpenGL 1.2 API with a homebrewed command recording system
- pre-baked light maps can be loaded for lighting
- the Vulkan backend heavily makes use of an almost-GPU driven deferred rendering system
- ReactPhysics3D for physics
- very loosely integrated
- basic shapes and triangulated mesh collision and some form of ray queries
- OpenAL for audio
- Loads from
.ogg
or.wav
files- Supports loading in full and streaming
- very loosely integrated
- Loads from
- Speech synthesis using vall_e.cpp
win64.gcc.vulkan
binaries can be found here, if compiled with-DUF_USE_VALL_E
- asynchronously synthesizes speech and plays back the PCM audio
Supported Systems
- Windows
- technically also Linux under Proton
- Sega Dreamcast
Notices and Citations
Unless otherwise credited/noted in this repo or within the designated file/folder, this repository is licensed under AGPLv3 (I do not have a master record of dependencies).