2018-02-12 11:53:47 +01:00
< img align = "left" src = "https://github.com/raysan5/raylib/blob/master/logo/raylib_256x256.png" width = 256 >
2013-11-18 23:38:44 +01:00
2018-09-09 17:36:24 +02:00
**raylib is a simple and easy-to-use library to enjoy videogames programming.**
2013-11-18 23:38:44 +01:00
2017-07-25 11:40:04 +02:00
raylib is highly inspired by Borland BGI graphics lib and by XNA framework.
raylib could be useful for prototyping, tools development, graphic applications, embedded systems and education.
2013-11-18 23:38:44 +01:00
2018-09-18 21:34:02 +02:00
NOTE for ADVENTURERS: raylib is a programming library to enjoy videogames programming;
2015-09-03 01:28:13 +02:00
no fancy interface, no visual helpers, no auto-debugging... just coding in the most
2017-02-23 16:32:19 +01:00
pure spartan-programmers way. Are you ready to learn? Jump to [code examples! ](http://www.raylib.com/examples.html )
2014-12-31 19:25:50 +01:00
2019-01-06 15:55:39 +01:00
[](https://travis-ci.org/raysan5/raylib)
2017-11-23 10:14:53 +01:00
[](https://ci.appveyor.com/project/raysan5/raylib)
2018-04-02 15:38:33 +02:00
[](https://discord.gg/VkzNHUE)
2017-11-24 12:40:08 +01:00
[](LICENSE.md)
[](https://twitter.com/raysan5)
2017-10-05 06:18:25 +02:00
2013-11-18 23:38:44 +01:00
features
--------
2018-07-16 02:07:48 +02:00
- **NO external dependencies**, all required libraries included with raylib
- Multiple platforms supported: **Windows, Linux, MacOS, Android... and many 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**)
2018-08-20 13:38:01 +02:00
- **Unique OpenGL abstraction layer** (usable as standalone module): [rlgl ](https://github.com/raysan5/raylib/blob/master/src/rlgl.h )
2018-07-16 02:07:48 +02:00
- Multiple Fonts formats supported (XNA fonts, AngelCode fonts, TTF)
- 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**
- Shaders support, including Model shaders and Postprocessing shaders
- **Powerful math module** for Vector, Matrix and Quaternion operations: [raymath ](https://github.com/raysan5/raylib/blob/master/src/raymath.h )
- Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD)
- **VR stereo rendering** support with configurable HMD device parameters
2018-10-07 21:54:14 +02:00
- Bindings to **Lua** ([raylib-lua ](https://github.com/raysan5/raylib-lua )), **Go** ([raylib-go ](https://github.com/gen2brain/raylib-go )) and [more ](https://github.com/raysan5/raylib/blob/master/CONTRIBUTING.md#raylib-bindings )!
2013-11-18 23:38:44 +01:00
2018-02-20 11:04:02 +01:00
raylib uses on its [core ](https://github.com/raysan5/raylib/blob/master/src/core.c ) module the outstanding [GLFW3 ](http://www.glfw.org/ ) library, embedded inside raylib in the form of [rglfw ](https://github.com/raysan5/raylib/blob/master/src/rglfw.c ) module, avoiding that way external dependencies.
2013-11-18 23:38:44 +01:00
2019-01-10 16:32:40 +01:00
raylib uses on its [audio ](https://github.com/raysan5/raylib/blob/master/src/raudio.c ) module, the amazing [mini_al ](https://github.com/dr-soft/mini_al ) audio library, single-file header-only and supporting multiple platforms and multiple audio backends.
2018-02-20 11:04:02 +01:00
raylib uses internally multiple single-file header-only libraries to support multiple fileformats loading and saving, all those libraries are embedded with raylib and available in [src/external ](https://github.com/raysan5/raylib/tree/master/src/external ) directory.
2013-11-18 23:38:44 +01:00
2017-05-18 00:22:48 +02:00
*On Android, `native_app_glue module` (provided by Android NDK) and native Android libraries are used to manage window/context, inputs and activity life cycle.*
2014-09-16 22:51:31 +02:00
2018-07-16 02:07:48 +02:00
*On Raspberry Pi, `Videocore API` and `EGL` libraries are used for window/context management and raw inputs reading.*
2014-09-16 22:51:31 +02:00
2017-11-24 19:57:44 +01:00
build and installation
----------------------
2018-02-20 10:48:34 +01:00
Binary releases for Windows, Linux and macOS are available at the [Github Releases ](https://github.com/raysan5/raylib/releases ) page. raylib is also available via multiple package managers on multiple OS distributions. For more info check [raylib Wiki ](https://github.com/raysan5/raylib/wiki ).
2017-11-26 10:42:19 +01:00
2018-02-20 10:48:34 +01:00
To build raylib yourself, check out also the [raylib Wiki ](https://github.com/raysan5/raylib/wiki ) for detailed instructions.
2013-11-18 23:38:44 +01:00
raylib has been developed using exclusively two tools:
* Notepad++ (text editor) - [http://notepad-plus-plus.org/ ](http://notepad-plus-plus.org/ )
* MinGW (GCC compiler) - [http://www.mingw.org/ ](http://www.mingw.org/ )
2017-05-16 00:43:57 +02:00
Those are the tools recommended to develop with raylib, in fact, those are the tools my students use.
2013-11-18 23:38:44 +01:00
contact
-------
* Webpage: [http://www.raylib.com ](http://www.raylib.com )
* Twitter: [http://www.twitter.com/raysan5 ](http://www.twitter.com/raysan5 )
* Facebook: [http://www.facebook.com/raylibgames ](http://www.facebook.com/raylibgames )
2016-02-21 02:27:34 +01:00
* Reddit: [https://www.reddit.com/r/raylib ](https://www.reddit.com/r/raylib )
* Twitch: [http://www.twitch.tv/raysan5 ](http://www.twitch.tv/raysan5 )
2018-04-23 20:59:10 +02:00
* Patreon: [https://www.patreon.com/raylib ](https://www.patreon.com/raylib )
2018-07-16 02:07:48 +02:00
* Discord: [https://discord.gg/raylib ](https://discord.gg/VkzNHUE )
2017-10-25 11:37:19 +02:00
* YouTube: [https://www.youtube.com/channel/raylib ](https://www.youtube.com/channel/UC8WIBkhYb5sBNqXO1mZ7WSQ )
2013-11-18 23:38:44 +01:00
If you are using raylib and you enjoy it, please, [let me know][raysan5].
2017-02-23 16:45:18 +01:00
If you feel you can help, then, [helpme! ](http://www.raylib.com/helpme.html )
2013-11-18 23:38:44 +01:00
2017-05-15 18:36:38 +02:00
license
-------
raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE ](LICENSE.md ) for further details.
2017-05-16 00:43:57 +02:00
[raysan5]: mailto:ray@raylib .com "Ramon Santamaria - Ray San"