raysan5/raylib
FreeA simple and easy-to-use library to enjoy videogames programming
About raysan5/raylib
raylib is a simple and easy-to-use open-source C library designed for videogames programming. Written in plain C (C99) with no external dependencies, it provides a hardware-accelerated OpenGL backend (supporting versions 1.1, 2.1, 3.3, 4.3, ES 2.0, ES 3.0) as well as a software renderer backend. raylib features full 2D and 3D rendering, including models, billboards, heightmaps, animated skeletal models, and a flexible materials system with classic and PBR maps. It supports multiple font and texture formats, shaders, audio streaming (WAV, OGG, MP3, FLAC, XM, MOD), VR stereo rendering, and a powerful math module (raymath). The library is especially well suited for prototyping, tooling, graphical applications, embedded systems, and education. It ships with over 140 code examples and has bindings to more than 70 programming languages. raylib is free and open source under the Zlib/libpng license.
Key Features
Pros & Cons
- Simple and easy to learn, inspired by BGI and XNA
- No external dependencies; everything is self-contained
- Cross-platform: works on desktop, mobile, web, and embedded systems
- Free and open source (Zlib/libpng license)
- Rich set of features: 2D/3D, shaders, audio, VR, and more
- Large collection of ready-to-run examples
- Bindings to many languages for wider accessibility
- No visual editor or debugging tools; purely code-based
- Requires C programming knowledge; no built-in scripting language
- No integrated physics engine or GUI framework
- Relatively low-level compared to full game engines (e.g., Unity, Unreal)