Follow work in progress: trello
A lightweight code base with powerful features that can be used for games and real-time graphics applications. This project focuses on data-oriented and multithreaded code with minimalistic procedural api's, sticking to orthodox c++ principles.
Features
- Cross Platform: Windows, MacOS, Linux, iOS, Android (wip).
- Supported Compilers: vs2017, Clang 6, Apple LLVM 9, Gcc 7.
- Rendering Backends: Direct3D11, OpenGL3.1+, OpenGLES3+, Metal.
- Low-level abstractions: Input, gamepad, timers, threads, window, os, file system, etc.
- Lightweight: Simple apis, shallow call stacks, minimal dependencies.
- Data-Oriented: Instruction and data cache friendly code for optimal performance.
- Multithreaded: Async render, physics, audio and entity component system.
- Ecs: Entity component system and root motion animation system.
- Pmfx: High level data driven renderer, shader, compute and post-processing system using json.
- Tools: Graphical editor, volume texture / signed distance field generator.
- Examples: Show how to use the apis from basic usage to rendering techniques (forward, deferred, subsurface scattering, signed distance fields, volume textures), audio, physics and more.
- Build Pipeline: IDE project generation, Binary model and skeleton format, texture compression, platform agnostic shader compilation.
- Future Plans: Direct3D12, Vulkan.
- Visit the wiki for more information.
Usage
Take a look at the getting started instructions.
Media