WebGL · WebGPU · 3D temps réel

La 3D temps réel, du pipeline au navigateur.

Comprendre WebGL et WebGPU, les deux technologies qui font tourner la 3D dans un navigateur : comment elles fonctionnent, ce qu'elles permettent, et ce que j'en fais en production avec Cartomapix.

WebGL

WebGL : OpenGL ES dans le navigateur.

WebGL 1 expose OpenGL ES 2.0, WebGL 2 (2017) expose OpenGL ES 3.0. C'est une API à état global : on lie buffers, textures et programmes, puis on lance des draw calls, chacun validé par le navigateur avant d'atteindre le pilote, souvent via ANGLE.

  • 1
    Couverture quasi totaleWebGL 2 tourne sur tous les navigateurs actuels, Safari iOS compris depuis la version 15. C'est la cible sûre pour un public grand public.
  • 2
    Coût CPU par draw callValidation à chaque appel : passé quelques milliers de draw calls, le CPU devient le goulot. Instancing, fusion de géométries et atlas de textures sont indispensables.
  • 3
    Pas de compute shadersLe calcul généraliste passe par des contournements : render to texture, ping-pong de textures flottantes, transform feedback.
15:00
Theodora City, campus urbain de l'IA appliquée à Marseille : la maquette 3D interactive livrée au promoteur, avec points d'intérêt, visite et contenus 360°, sert ici de scène de test. Rendue directement dans la page, en WebGPU quand votre navigateur le permet, en WebGL sinon : 370 000 triangles, modèle compressé de 27 Mo à 4 Mo, chargé après la page, ombres portées et éclairage solaire calculé sur la position réelle de Marseille. Déplacez le curseur pour passer du jour à la nuit.
WebGPU

WebGPU : une API explicite, pensée comme Vulkan, Metal et D3D12.

WebGPU abandonne la machine à état d'OpenGL. On décrit à l'avance des pipelines immuables et des bind groups, on encode des commandes dans des command buffers, puis on les soumet à une queue. La validation se fait à la création des objets, et non plus à chaque draw call.

01

Compute shaders

Pipelines de calcul natifs en WGSL et storage buffers en lecture et écriture : particules, culling, skinning ou physique sans aller-retour CPU.

02

Overhead réduit

Pipelines et bind groups précompilés, render bundles réutilisables : bien plus de draw calls par frame à budget CPU égal.

03

Rendu piloté par le GPU

drawIndirect et dispatchWorkgroupsIndirect : le GPU décide lui-même quoi dessiner, après un culling calculé sur le GPU.

04

WGSL et outillage

Un langage de shader unique et typé, traduit vers SPIR-V, MSL ou HLSL. Timestamp queries pour profiler, f16 en option sur le matériel compatible.

WebGL
WebGPU
Modèle d'API
Machine à état (OpenGL ES 3.0)
Explicite : pipelines, bind groups, command encoders
Shaders
GLSL ES 3.00
WGSL
Calcul
Contournements (RTT, transform feedback)
Compute shaders natifs
Données
Uniforms, UBO
Storage buffers, draw indirect
Validation
À chaque appel
À la création des objets
Backends
OpenGL, ANGLE (D3D11, Metal)
Vulkan, Metal, D3D12

Support navigateurs

  • Chrome, Edge 113+Windows (D3D12), macOS, ChromeOS
  • Chrome Android 121+Android 12+, GPU Qualcomm et ARM
  • Safari 26macOS, iOS, iPadOS, visionOS
  • Firefox 141 / 145Windows, puis macOS Apple Silicon

Linux, Firefox Android et Mac Intel restent en cours. Sur un parc grand public, un fallback WebGL 2 reste obligatoire.

Mon choix en production : Cartomapix utilise WebGPU dès que le navigateur le permet, et bascule automatiquement sur WebGL sinon. Un parc de visiteurs, c'est aussi des Android d'entrée de gamme et des iPhone pas à jour : la compatibilité passe avant la puissance brute. Le reste, la façon dont la scène est construite, allégée et affichée, c'est le savoir-faire du produit.

Démos

À essayer maintenant, dans votre navigateur.

Chaque démo s'ouvre d'un clic, sur téléphone comme sur ordinateur, sans rien installer. C'est la meilleure façon de comprendre ce que WebGL et WebGPU permettent.

20 ansde 3D, d'animation et de temps réel
Qui suis-je

Marc Williams, de la 3D au web.

Vingt ans en studio comme artiste 3D et chef de projet, puis la VR et les moteurs temps réel. Indépendant depuis 2021.

Mon terrain : la chaîne complète, de la modélisation et de l'optimisation (polygones, textures, niveaux de détail) à l'export glTF et au rendu dans le navigateur. Aujourd'hui je développe Cartomapix, dont le moteur est passé à WebGPU. Basé près d'Aix-en-Provence.

Envie d'en parler ?

Questions techniques, retours d'expérience WebGL et WebGPU, projets 3D temps réel : écrivez-moi sur LinkedIn.

Vous gérez un parc, un camping ou un musée ? Découvrez Cartomapix