Raylib

From Wikipedia, the free encyclopedia

Raylib
Description de l'image Raylib logo.png.
Informations
Première version Voir et modifier les données sur Wikidata
Dernière version 5.5 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/raysan5/raylibVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Type Unix, systèmes d'exploitation Mac OS, Microsoft Windows, Android, HTML5 et Oculus Rift CV1 (en)Voir et modifier les données sur Wikidata
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence zlibVoir et modifier les données sur Wikidata
Documentation github.com/raysan5/raylib/wikiVoir et modifier les données sur Wikidata
Site web www.raylib.comVoir et modifier les données sur Wikidata

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.

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].

La version 5.0 sort le 18 novembre 2023 pour les 10 ans de la bibliothèque, il ajoute notamment le support de la bibliothèque SDL2 comme backend[12] (en plus de GLFW), la prise en charge du format SVG et des images au format 16 bits/pixel et HDR, permet de faire fonctionner sur Nintendo Switch, des nouveaux algorithmes de génération de nombre aléatoires rapides, Xoshiro128 et SplitMix64, enregistrement et playback d’événements (notamment pour test automatiques)[13].

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[14].

Elle est également utilisée 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[15].

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 et nominations

Références

Annexes

Related Articles

Wikiwand AI