Gunslinger is an stb-style, header-only c99 framework for multimedia applications.
- Header-only: drag-drop into any project without any additional compiling required.
- All externals included in the framework itself.
- Simple API inspired by sokol headers.
- Provides core framework for quickly developing multimedia applications: Platform, Graphics, Audio layers.
- Provides custom utilities for math and generic data structures.
- Optional helper utilties are provided, such as OpenGL 2.0-style immediate-mode rendering, asset management system, and a data reflection utility.
- Supports a growing list of platforms:
HTML5 currently with plans to add
- Graphics pipeline follows an explicit rendering framework, making it easier to write for modern backends, such as
- All core layers can be fully swapped out with custom user implementations.
- Large collection of examples for quickly getting started.
- Official framework used for all Game Engineering YouTube videos.
A simple c99 'Hello World' example using gunslinger:
gs_app_desc_t gs_main(int32_t argc, char** argv)
- Support Android/iOS/RPI/UWP backends
- Support Vulkan/Metal/DX12 backends
- Add support for more texture sampler types: 1D, 3D, Cube Maps, Arrays
- Material Asset utils
- Language Ports: (Python, JS, Rust, C#)
- Add platform-independent threading utils to framework
- Job System Util
- Write more docs for github
- Hot-reload util
- Remove all externals from core framework
- Add more texture formats (including compressed)