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. Do you want to see all functions available in raylib? Check raylib cheatsheet

NOTE for ADVENTURERS: raylib is a programming library to enjoy videogames programming; no fancy interface, no visual helpers, no auto-debugging... just coding in the most pure spartan-programmers way. Are you ready to learn? Jump to raylib code examples!

raylib awards

raylib has received several recognitions in the last years and many people have written about the library. Here there are the main awards received from Google and Epic Games.

raylib Google Open Source Peer Bonus - 2019 raylib Epic MegaGrant Recipient - Fall 2020 raylib Google Open Source Peer Bonus - 2021

raylib supported platforms

raylib supports multiple target platforms, it has been tested in the following platforms but, technically, any platform that supports C language and OpenGL graphics is valid for raylib or can be very easily ported to.

windows platform linux platform macos platform freebsd platform raspberrypi platform raspberrypi desktop platform android platform html5 platform

raylib language bindings

You can use raylib in multiple languages (more than 50!). Here it is a list with some of the raylib bindings:

c-sharp raylib binding go raylib binding python raylib binding ruby raylib binding lua raylib binding rust raylib binding odin raylib binding more raylib bindings

raylib extra libraries

raylib can be combined with several extra libraries for additional functionality, some of those libraries are already used internally while others are provided for user integration, most of these libraries are single-file header-only with no external dependencies.

OpenGL abstraction layer 3D math library miniaudio wrapper immediate-mode gui library resources packer 2d physics library png chunks editor

raylib technologies tools

raylib is the base technology for raylib technologies tools! Several multiplatform portable standalone user-friendly tools have been developed using raylib and raygui. Check them out!

fx sounds generator textures viewer and formats conversor textures packer and atlas generator icons packer and extractor raygui styles editor raygui layout editor raygui icons editor

raylib community

Do you need help with raylib? Do you want to keep updated with latest news? Do you want to show your raylib creations? Join our amazing community of raylib developers! Choose the network you prefer! You are welcome!

raylib discord server raylib twitch channel raylib creator twitter raylib reddit channel raylib youtube channel raylib handmade.network project raylib on GitHub

raylib contributions

I'm working hard on raylib but my resources are limited. If you enjoy raylib and want to help, consider a small donation or contributing to the project on GitHub. Thanks!

PayPal donation raylib GitHub Sponsors Patreon contributor Ko-fi donation raylib on itch.io raylib on redbubble

raylib features

- NO external dependencies, all required libraries included with raylib
- Multiplatform: Windows, Linux, MacOS, RPI, Android, HTML5... and more!
- Written in plain C code (C99) in PascalCase/camelCase notation
- Hardware accelerated with OpenGL (1.1, 2.1, 3.3, 4.3 or ES 2.0)
- Unique OpenGL abstraction layer: rlgl
- Powerful Fonts module (XNA SpriteFonts, BMfonts, TTF, SDF)
- Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC)
- Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more!
- Flexible Materials system, supporting classic maps and PBR maps
- Animated 3d models supported (skeletal bones animation)
- 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, OGG, MP3, FLAC, XM, MOD)
- VR stereo rendering support with configurable HMD device parameters
- Huge examples collection with +120 code examples!
- Bindings to +50 programming languages!
- Free and open source. Check [LICENSE].

raylib architecture

raylib is a highly modular library. Everything is contained within a small number of well defined, specific and self-contained modules, named accordingly to its primary functionality. Note that some of those modules can be used in standalone mode.

raylib architecture