OpenGL
Le moteur graphique qui parle directement au GPU
Tu sais ce qui m’a toujours fasciné avec OpenGL ?
C’est que c’est pas juste une API.
C’est une philosophie du rendu.
Retour fin des années 80.
Les cartes graphiques font leur vie, chacun dans son coin.
T’as Silicon Graphics qui cartonne dans le monde pro : modélisation 3D, simulation, visualisation scientifique.
Mais chaque constructeur a son propre SDK, ses propres libs, ses propres façons de faire…
Bref : le foutoir.
Impossible pour un dev de faire un soft 3D qui tourne partout.
Et encore moins pour l’industrie de standardiser un pipeline.
C’est là que débarque OpenGL.
À la base, c’était pas open du tout hein 😅
C’est SGI qui l’a pondu pour unifier ses technos internes (IRIS GL), et filer un standard aux devs.
Un truc simple, cross-platform, bas niveau, qui parle directement au GPU mais avec une API C propre.
Tu veux dessiner un triangle ? Tu peux.
Tu veux faire du rendu temps réel ? Tu peux.
Tu veux juste un cube qui tourne ? Tu peux aussi.
Pas de bullshit, pas de framework qui te tient la main.
Juste toi, ton buffer, et ta matrice de projection.
Mais surtout : le même code pouvait tourner partout.
Windows, Mac, Linux, Solaris…
Avec la même logique, les mêmes appels, la même magie.
Et pendant 20 ans, OpenGL a tenu la baraque.
Dans les jeux.
Les softs de CAD.
Les simulateurs d’avion.
Même dans ton navigateur (WebGL), même sur ton tel à une époque.
Alors ouais, aujourd’hui on a Vulkan, Metal, DirectX 12.
Plus proches du matos, plus “performants”, plus verbeux aussi (coucou 1200 lignes pour afficher un triangle).
Mais y’a un truc presque poétique dans OpenGL.
C’est pas juste du rendu.
C’est une époque où un dev pouvait, seul, coder un moteur 3D from scratch, et comprendre chaque étape du pipeline.
C’était le plaisir brut de faire apparaître quelque chose sur l’écran.
Sans middleware.
Sans shader graph.
Juste toi, et la lumière dans les vertex.
Tu l’as connu toi aussi ce frisson quand ton premier triangle a tourné ?
Ou ce moment où t’as compris ce que faisait vraiment une matrice de modèle-vue ?