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 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 code examples!

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 code using raylib in multiple languages! Some raylib users have created raylib bindings to multiple languages. Here's a list of the bindings I'm aware of

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 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 on GitHub Patreon contributor Ko-fi donation raylib on itch.io

raylib features
- NO external dependencies, all required libraries included with raylib
- Multiplatform: Windows, Linux, MacOS, Android, HTML5... and more!
- Written in plain C code (C99) in PascalCase/camelCase notation
- Hardware accelerated with OpenGL (1.1, 2.1, 3.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 +115 code examples!
- Bindings to +40 programming languages!
- Free and open source. Check [LICENSE].

raylib architechture