raysan5 / raylib
git clone https://github.com/raysan5/raylib.git
6.2 · 5d ago
🔥 on GitHub Trending today
A simple and easy-to-use library to enjoy videogames programming
—
stars, 24h
+207
stars, 7 days · #290
+657
stars, 30 days · #451
35k
★ total · +1% this week
3.3k
forks · 8 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC
LicenseZlib
Created2013-10-24 (12y ago)
Last pushtoday
Watchers320
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #13 monthly in c · +657 ★
- 2026-10-20 — #5 weekly in c · +207 ★
GitHub topics
androidcembeddedesp32game-developmentgame-enginegamedevgraphicsiotlinuxmacosopenglprogrammingraspberry-piraylibriscvwasmwebassemblywin32
Links
- GitHub: github.com/raysan5/raylib
- Homepage: http://www.raylib.com
- Releases · Issues · Hacker News mentions
README excerpt
**raylib is a simple and easy-to-use library to enjoy videogames programming.** raylib is highly inspired by Borland BGI graphics lib and by XNA framework and it's especially well suited for prototyping, tooling, graphical applications, embedded systems and education. *NOTE for ADVENTURERS: raylib is a programming library to enjoy videogames programming; no fancy interface, no visual helpers, no debug button... just coding in the most pure spartan-programmers way.* Ready to learn? Jump to code examples! --- features -------- - **NO external dependencies**, all required libraries are included in raylib - Multiple platforms supported: **Windows, Linux, MacOS, RPI, Android, HTML5... and more!** - Written in plain C code (C99) using PascalCase/camelCase notation - Hardware accelerated with OpenGL: **1.1, 2.1, 3.3, 4.3, ES 2.0, ES 3.0** - **Unique OpenGL abstraction layer** (usable as standalone module): rlgl - **Software Renderer** backend (no OpenGL required!): rlsw - Multiple **Texture** formats supported, including **compressed formats** (DXT, ETC, ASTC) - Multiple **Fonts** formats supported (TTF, OTF, FNT, BDF, sprite fonts) - **Full 3D support**, including 3D Shapes, Models, Billboards, Heightmaps and more! - Flexible Materials system, supporting classic maps and **PBR maps** - **Animated 3D models** supported (skeletal bones animation, GPU-skinning) (IQM, M3D, glTF) - Shaders support, including model shaders and **postprocessing** shaders - **Powerful math module** for Vector, Matrix and Quaternion operations: raymath - Audio loading and playing with streaming support (WAV, QOA, OGG, MP3, FLAC, XM, MOD) - **VR stereo rendering** support with configurable HMD device parameters - Huge examples collection with +220 code examples! - Bindings to +70 programming languages! - **Free and open source** limitations ----------- raylib presents some limitations by design for code simplicity. Some forks, alternatives, and samples are available to overcome most of them but it's up to the users to modify the library for their specific needs. - Single window with single OpenGL context by default, no multi-window support - Window resize and move stops the rendering loop on platforms supporting a window - `RenderTextures` are flipped vertically, as provided by OpenGL, it's up to the user to draw them flipped to the screen - Font rasterization has lower quality than alternatives like `Freetype2`, `HarfBuzz` or `Slug` - Text drawing does not support RTL, ligatures or emojis basic example -------------- This is a basic raylib example, it creates a window and draws the text `"Congrats! You created your first window!"` in the middle of the screen. Check this example running live on web here. [code] build and installation ---------------------- raylib binary releases for Windows, Linux, macOS, Android and HTML5 are available at the Github Releases page. raylib is also available via multiple package managers on multiple OS distributions. ####