This commit completes the editing work started in the last commit.

master
Carl Smith 4 år sedan
förälder
incheckning
d5374afe77
1 ändrade filer med 6 tillägg och 4 borttagningar
  1. +6
    -4
      raylib-architecture.md

+ 6
- 4
raylib-architecture.md

@ -23,10 +23,12 @@ Apart from those seven main modules, some other modules have been implemented wi
Most of the modules were designed to allow them to be as decoupled as possible from the other modules. In fact, some modules can be used as standalone libraries, independently of raylib, including the `rlgl` ([example](https://github.com/raysan5/raylib/blob/master/examples/others/rlgl_standalone.c)) and `audio` ([example](https://github.com/raysan5/raylib/blob/master/examples/others/audio_standalone.c)) modules.
Most of the secondary modules can also be used as standalone libraries: `raymath`, `camera`, `gestures`, `raygui`, `easings`, `physac`. All those modules are distributed as configurable single-file header-only libraries to be independently added to any project. Being header-only means the header also contains function implementations; that's extremely useful if you have a library (a bunch of functions) that you only want to drop on your code-base to cover a very specific functionality. However, creating a header-only module is not trivial. That module has to minimize external dependencies and global variables and give a very specific functionality; let's say it has to be completely portable.
Most of the secondary modules (`raymath`, `camera`, `gestures`, `raygui`, `easings` and `physac`) can also be used as standalone libraries. They are distributed as configurable, single-file, header-only libraries, allowing them to be independently added to any project. Being header-only means that the header also contains function implementations. That can be extremely useful when you want to drop a library (a bunch of functions) into your codebase to provide specific functionality. However, creating a header-only module is not trivial, as the module must implement very specific functionality, while minimizing external dependencies and global variables. Simply put, it must be completely portable.
*NOTE: `raymath`, `camera` and `gestures` are compiled by default with raylib.*
NOTE: *The `raymath`, `camera` and `gestures` modules are all compiled with raylib by default.*
raylib also uses some external libraries—most of them included as single-file header-only libraries, like the well-known [stb libraries](https://github.com/nothings/stb) and [similar ones](https://github.com/raysan5/raylib/tree/develop/src/external).
raylib also uses some external libraries (most of which are included as single-file, header-only libraries), including the well known [stb libraries](https://github.com/nothings/stb) and [some other similar libraries](https://github.com/raysan5/raylib/tree/develop/src/external).
And that's currently the raylib internal structure.
Familiarity with the modules is essential to raylib proficiency. Refer to [the Cheatsheet][1] for a comprehensive summary.
[1]: https://www.raylib.com/cheatsheet/cheatsheet.html

Laddar…
Avbryt
Spara