Golias Engine is a lightweight and modular 2D/3D game engine/framework written in C/C++, designed to be * simple yet powerful*.
| Renderer Backend | Status |
|---|---|
| OpenGL 3.3 / OpenGLES 3.0 | ✅ Fully supported |
| Metal | 🚫 No ETA |
| Vulkan | 🚫 No ETA |
| Direct3D 12 | 🚫 No ETA |
| Proprietary APIs | 🚫 No ETA |
| Platform | Category | Notes | Status |
|---|---|---|---|
| Windows | Desktop | ✅ | |
| Linux | Desktop | ✅ | |
| macOS | Desktop | ✅ | |
| Android | Mobile | ✅ | |
| iOS | Mobile | ✅ | |
| Web | Web | WebAssembly / WebGL | ✅ |
| Xbox | Console | This platform requires NDA | 🚫 |
| PlayStation | Console | This platform requires NDA | 🚫 |
| Nintendo | Console | This platform requires NDA | 🚫 |
⚠️ Note: Proprietary APIs for consoles are not publicly available and thus cannot be implemented or tested.
- Model Loading
- PBR (Physically Based Rendering)
SIMPLIFIED - Blinn-Phong Shading Model
- Skybox Reflections IBL (Image Based Lighting)
- Culling
- Frustum Culling
- Occlusion Culling
- Normal mapping (TBN calculated per fragment)
- 3D Physics (Bullet Physics)
- Lighting System
- Directional Light
- Point Light
- Spotlight
- Shadow Mapping
- CSM (Cascaded Shadow Maps) for Directional Lights
- Post-Processing Effects (Bloom, HDR, SSAO, Motion Blur, etc.)
- Animation System (Animation)
- Skeletal Animation CPU & GPU Skinning
- Hierarchical Animation
- Level of Detail (LOD) Support
- Skybox Support (Cubemap -> 6 faces & Equirectangular)
- Tilemap Support (Orthogonal, Isometric)
- 2D Physics (Box2D)
- Sprite Rendering
- Text/Shaping Rendering (TrueType fonts and Emojis)
- Audio System
- Particle System (CPU & GPU)
- Cross-Platform Unified Rendering Pipeline by Design
- Custom Shader Language based on
GLSL - Web (WASM) Support
- Native Support: Windows, Linux, macOS, Android, iOS and Web
- GameObject / Entity Component System (ECS)
- Scripting Support (Python)
- UI Canvas System (SCREEN/WORLD space)
- Text
- Button
- Image
- Slider
- Panel
- Networking Module (ENET)
- Batched Rendering
| Asset Type | Supported Formats |
|---|---|
| 3D Models | See Assimp Supported Formats |
| Images | PNG, JPEG, BMP, TGA, DDS, ETC. |
| Fonts | TTF & OTF. |
| Audio | OGG, WAV, FLAC, MP3, ETC. |
| Scenes | JSON |
⚠️ Note: This diagram is a work in progress and may not reflect the current state of the engine.
Please refer to the BUILDING.md file for detailed instructions on how to build Golias Engine from source on various platforms.
| Library | Description | License |
|---|---|---|
| SDL3 | Windowing, input/events handling, and cross-platform abstraction | Zlib License |
| GLM | Header-only mathematics library for graphics (vectors, matrices, quaternions) | MIT License |
| Bullet Physics | Real-time 3D physics simulation | Zlib License |
| Assimp | Open Asset Import Library for 3D model loading | BSD License |
| stb_image | Header-only image loading (PNG, JPG, TGA, etc.) | Public Domain / MIT |
| miniaudio | Header-only audio playback and capture library | Public Domain / MIT |
| FreeType | Font rasterization engine | FreeType License (BSD-style) |
| nlohmann/json | Modern C++ JSON serialization/deserialization | MIT License |
| glad | OpenGL / OpenGL ES function loader | MIT License |
All third-party libraries are vendored as git submodules or included directly in the
thirdparty/directory.
This project is licensed under the MIT License - see the LICENSE file for details.
