From 89888d75612d77fe445f44707b0a62a0681e0077 Mon Sep 17 00:00:00 2001 From: Carl Smith Date: Mon, 5 Oct 2020 19:58:26 +0100 Subject: [PATCH] Lightly edited the first line, and also replaced instances of the digit `7` with the word `seven` throughout. --- raylib-architecture.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/raylib-architecture.md b/raylib-architecture.md index f073f9b..35a84c5 100644 --- a/raylib-architecture.md +++ b/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)