Lightly edited the first line, and also replaced instances of the digit `7` with the word `seven` throughout.

master
Carl Smith 4 years ago
parent
commit
89888d7561
1 changed files with 5 additions and 4 deletions
  1. +5
    -4
      raylib-architecture.md

+ 5
- 4
raylib-architecture.md

@ -1,8 +1,9 @@
![image](https://github.com/raysan5/raylib.com/blob/master/images/raylib_architecture_v2.5.png "raylib v2.5 architecture")
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)

Loading…
Cancel
Save