Sokol is a collection of minimal, cross-platform, standalone C headers for graphics, applications, audio, timing, data loading, logging, and related low-level tasks. Its graphics layer abstracts APIs including OpenGL, GLES, WebGL, D3D11, Metal, and WebGPU. The application header provides window creation, graphics context setup, and keyboard, mouse, and touch input across desktop, mobile, and web platforms. Other modules handle audio streaming, asynchronous file or HTTP loading, command-line arguments, and timing. Utility headers integrate libraries such as Dear ImGui and Nuklear or provide debugging, shapes, text, colors, and memory tracking. The libraries follow an STB-style single-header approach and can be incorporated without adopting a large framework. Sokol is designed for small, portable C and C++ applications, games, demos, and emulators.
Features
- Cross-platform graphics abstraction
- Window, input, and application management
- Audio streaming support
- Asynchronous HTTP and file loading
- Dear ImGui and Nuklear integration
- Standalone single-header C libraries