mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
Lightly edited the first line, and also replaced instances of the digit 7 with the word seven throughout.
@ -1,8 +1,9 @@
|
||||

|
||||
|
||||
raylib is a very modular library, defined by a small number of specific and self-contained modules. Every module is organized by its main functionality (avoiding hundreds of modules depending on other modules, like other C libraries).
|
||||
raylib is a highly modular library. Everything is contained within a small number of well defined, specific and self-contained modules, each organized according to its primary functionality (nicely avoiding the huge tree of recursive dependencies, typical of other C libraries).
|
||||
|
||||
**raylib has seven main modules:**
|
||||
|
||||
**raylib main modules are 7:**
|
||||
- [`core`](https://github.com/raysan5/raylib/blob/master/src/core.c): Window / Graphic Context / Inputs management.
|
||||
- [`rlgl`](https://github.com/raysan5/raylib/blob/master/src/rlgl.h): Graphic API (OpenGL) wrapper and pseudo-OpenGL 1.1 translation layer.
|
||||
- [`shapes`](https://github.com/raysan5/raylib/blob/master/src/shapes.c): Basic 2D shapes drawing functions.
|
||||
@ -11,9 +12,9 @@ raylib is a very modular library, defined by a small number of specific and self
|
||||
- [`models`](https://github.com/raysan5/raylib/blob/master/src/models.c): 3D models loading and drawing.
|
||||
- [`raudio`](https://github.com/raysan5/raylib/blob/master/src/raudio.c): Audio device management and sounds / music loading and playing.
|
||||
|
||||
Those 7 modules share a common header: [`raylib.h`](https://github.com/raysan5/raylib/blob/master/src/raylib.h), all user functions are defined in that header, despite the fact they are divided internally in 7 modules. That way, the user just needs to include `raylib.h` to get all raylib functionality. Other libraries use one header for every module (that way the user can choose included modules) or also headers that refer to other headers. raylib uses a simpler approach that's easier for novice (and expert) users.
|
||||
Those seven modules share a common header: [`raylib.h`](https://github.com/raysan5/raylib/blob/master/src/raylib.h), all user functions are defined in that header, despite the fact they are divided internally in 7 modules. That way, the user just needs to include `raylib.h` to get all raylib functionality. Other libraries use one header for every module (that way the user can choose included modules) or also headers that refer to other headers. raylib uses a simpler approach that's easier for novice (and expert) users.
|
||||
|
||||
Apart from those 7 main modules, some other modules have been implemented with additional features:
|
||||
Apart from those seven main modules, some other modules have been implemented with additional features:
|
||||
- [`raymath`](https://github.com/raysan5/raylib/blob/master/src/raymath.h): Vector2, Vector3, Matrix and Quaternion math related functions
|
||||
- [`camera`](https://github.com/raysan5/raylib/blob/master/src/camera.h): 3D Camera system (free, 1st person, 3rd person, custom)
|
||||
- [`gestures`](https://github.com/raysan5/raylib/blob/master/src/gestures.h): Touch gestures detection and processing (Tap, Swipe, Drag, Pinch)
|
||||
|
||||
Reference in New Issue
Block a user