Accueil🇫🇷Chercher

Raylib

Raylib est une bibliothèque logicielle multiplateforme (Android, FreeBSD, HTML5 (Emscripten[2]), Linux, MacOS, Oculus Rift CV1 (en), Raspberry Pi[3], Windows[4], ainsi que différents systèmes embarqués) sous licence libre licence zlib/libpng[5], publiée par Ramon Santamaria[6] à partir de 2013, et orientée vers le développement d'application interactives, telles que les jeux. Elle gère 2D, 3D dont l'accélération via OpenGL et OpenGL ES, et comporte des fonctions vectorielles, quaternions, shaders , etc., audio, dont la lecture de modules XM et MOD, réseau ainsi que les applications de réalité virtuelle, en gérant le matériel spécialisé.

Elle est développée en langage C et son API qui se veut simple et légère[7] - [8] comporte des bindings dans plus de 50 langages, tels que C, Go, Lua, C++, C#, PHP, Rust, D, Python, Odin, Haskell[9]. Elle peut utiliser les bibliothèques OpenGL jusqu'à 3.3, GL ES 2.0 pour l'accélération matérielle. Elle se base en partie sur le framework GLFW.

Histoire

La première version de Raylib a été publiée en [10].

D'après une étude comparative de différentes bibliothèques open source présentée en 2020, Raylib, tout comme Arduino, a une très faible proportion de commits concernant les corrections de bugs, montrant que le projet a atteint la stabilité[11].

Utilisations

Raylib est enseigné, par son auteur, dans un module de formation axé sur le développement de jeu vidéo de l'Université polytechnique de Catalogne Barcelonatech[12].

Elle est également utilisé dans des projets d'ingénierie assistée par ordinateur open source, comme dans un projet de conception de l'optique d'un faisceau d’électron[13].

Architecture

Architecture et modules de Raylib.

Depuis sa version 4.0, Raylib est organisé sous forme des modules suivants :

  • « Core » (noyau) gère les entrĂ©es, ainsi que la crĂ©ation des fenĂŞtres et du contexte OpenGL.
  • « Models » (modèles) gère le chargement et l'animation des objets 3D.
  • « Raudio » gère le chargement de fichier et flux audio (dont wav, modules), ainsi que la gestion du matĂ©riel audio.
  • « Raymath » gère les fonctions mathĂ©matiques et modèles vectoriels, matriciels, quaternions, etc
  • « Rlgl » gère l'abstraction du backend OpenGL
  • « Shapes » (formes) gère les formes et polygones 2D ainsi que les dĂ©tections de collision
  • « Textures » gère le chargement et la manipulation des textures, par le CPU ou le GPU.
  • « Text » (texte) gère tout ce qui est texte, de la gestion des fontes au traitement des chaĂ®nes de caractères.

RĂ©compenses

  • 2019 : Google Open Source Peer Bonus[14]
  • 2020 : Epic Mega Grant[15]
  • 2021 : Google Open Source Peer Bonus[16]

Références

  1. « Release 4.2.0 », (consulté le )
  2. https://github.com/raysan5/raylib/wiki/Working-for-Web-(HTML5).
  3. (en) Avik Das, « Creating Raspberry Pi applications with Raylib and Ruby », sur Medium.com,
  4. Deitel et Deitel 2022, p. 37.
  5. https://www.raylib.com/license.html
  6. (es) « Entrevista a Ramón Santamaría, creador de la biblioteca gráfica raylib », Mosaic, Universitat Oberta de Catalunya, no 145,‎ (ISSN 1696-3296, DOI 10.7238/m.n145.1702, lire en ligne)
  7. (en) « raylib–A C++ Game Library Perfect For Beginners », sur GameFromScratch,
  8. Raphytator, « Raylib 4 : le framework des vikings pour programmer des jeux vidéo en », sur Gamecodeur.fr,
  9. https://github.com/raysan5/raylib/blob/master/BINDINGS.md
  10. (en) « raylib/HISTORY.md at master · raysan5/raylib », sur GitHub (consulté le ).
  11. (en) Devansh Tiwari, Hironori Washizaki, Yoshiaki Fukazawa, Tomoyuki Fukuoka et al., « Commit–Defect and Architectural Metrics–based Quality Assessment of C Language », Proceedings of the International Conference on Evaluation of Novel Approaches to Software Engineering, SciTePress,‎ (ISBN 9789897584213, lire en ligne [PDF]).
  12. (es) « Máster en Animation & Digital Arts for AAA Video Games », sur Universitat politècnica de Catalunya Barcelonatech
  13. Pristupchik 2020.
  14. (en) « Google Open Source Peer Bonus winners are here! », sur Google Open Source,
  15. (en) Brian Sharon, « Epic MegaGrants - Fall 2020 Update », sur Unreal Engine,
  16. (en) « Announcing the First Group of Google Open Source Peer Bonus winners in 2021! », sur Google Open Source,

Annexes

Bibliographie

  • (en) Nikita Pristupchik, « Open-Source CAE for Electron Beam Optics Design: Challenges and Opportunities », International Conference on Actual Problems of Electron Devices Engineering (APEDE), IEEE,‎ , p. 95-99 (DOI 10.1109/APEDE48864.2020.9255595)
  • (en) Paul Deitel et Harvey Deitel, How to Program C, Pearson, coll. « Deitel », (ISBN 978-0-13-739839-3) (ouvrage se basant sur Raylib pour la mise en pratique des exemples)

Lien externe

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.