Async Game Engine
AsEn - is a totally asynchronous engine for desktop and mobile.
Language: minimal C++ 17, preferred C++ 20/23
Platforms: Windows, Android, Linux, MacOS, Emscripten (without graphics)
GraphicsAPI: Vulkan, Metal
Shaders: GLSL, MSL
Stable version: see Tags
Key features:
- Scalable task system with optional C++20 coroutine support.
- Multi-threaded command buffer recording.
- Staging buffer memory manager, per-frame limits for stable FPS.
- Async file IO on all platforms.
- Lock-free algorithms and sync primitives.
- Built-in profiling tools and cross-platform shader debugger.
- CI/CD to run all tests on all platforms, including graphics tests.
Samples:
- Shader Playground with high level scripting, see Samples overview.
- Low level Demos (in progress).
Engine documentation:
- Build instructions
- Licensing information
- Engine Concept
- Changelog
- Render hardware interface: Vulkan, Remote, Metal
- Graphics: DeviceProperties, FeatureSet
- Graphics Resources
- Supported platforms
- Profiling
- Resource Compilation
Source code:
Tools:
- Lock-Free Algorithms Sandbox
- GLSL-Trace
- Detect Image Z-Curve
- Vulkan Header Generator
- Vulkan Synchronizations Logger
- FeatureSet Generator
- Remote Graphics Device
- Android Remote Control
Papers:
Notes:
rus
AsEn - полностью асинхронный движок.
Язык: минимально C++ 17, рекомендуется C++ 20/23
Платформы: Windows, Android, Linux, MacOS, Emscripten (без графики)
Графика: Vulkan, Metal
Шейдеры: GLSL, MSL
Стабильная версия: помечена тэгом
Документация по движку:
Статьи:
Заметки:
- Асинхронное программирование
- Заметки по архитектуре
- Заметки по программированию графики
- Заметки по ECS/DOD
Обсуждение:
Описание
async game/graphics engine