Slide 1

Slide 1 text

Web + GL 1 Découvrir / s’inspirer / se tenir au jus / un peu de technique Pour innover

Slide 2

Slide 2 text

2 Your host Adrien Coffre Développeur WebGL https://interascope.com @GPUaccelerated Identifiants Wifi Id : LaCantine Mdp : Melee2017 #WebGLToulouse

Slide 3

Slide 3 text

WEB : besoins 3D 3D : avant 3 Web + 3D ? Browser games Visualisation de produit Effets visuels Artistes Partage de données Téléchargement de clients Téléchargements de plugins Chercheurs Quelles solutions, depuis quand et pourquoi WebGL ? Comment faire du WebGL ? Quels impacts, dans quels secteurs ? Quels acteurs ? Quels avenir ? Téléchargements d’applis

Slide 4

Slide 4 text

1. Blabla - 15min 1.1. Le rendu temps réel 1.2. Avoir de la 3D sur le web : un peu d’histoire 1.3. Support de WebGL 1.4. Un peu de code 1.5. Les librairies 2. Showcasing - 30min Data | Gaming | Configurateurs | Front-end | XR 4 Index

Slide 5

Slide 5 text

5 “3D” Rasterizer Vertex Shader Pixel Shader Données Géométrie Programme = Matériau CPU GPU

Slide 6

Slide 6 text

6 Quizz Temps réel Bottleneck ? Texture : 5MB Bottleneck ? 100 objets Bottleneck ? 1M points

Slide 7

Slide 7 text

Rendus 3D sur le web... 7 ➔ Réseau ➔ Puissance graphique du public, y compris sur mobile ➔ Langage compréhensible pour tous les GPUs ➔ Maturité des navigateurs, spécification unique ➔ Rendus : qualité + rapidité + facilité d’implémentation

Slide 8

Slide 8 text

8 Histoire-s 1990 2000 2010 2020 3D WEB Javascript ECMAscript OpenGL DirectX Direct3D HLSL GLSL Mantle Vulkan Metal

Slide 9

Slide 9 text

WebGL 2010 2020 WebGL 9 2015 2005 ANGLE WebGL 2.0 OpenGL ES 2.0 WebGL 1.0 OpenGL ES 3.0

Slide 10

Slide 10 text

10 Support

Slide 11

Slide 11 text

11 Hello World

Slide 12

Slide 12 text

12 Quelques bases var c = document.createElement(‘canvas’); var ctx = c.getContext(‘webgl2’) || c.getContext(‘webgl’) || c.getContext(‘experimental-webgl’); var extensions = ctx.getSupportedExtensions(); var infos = ctx.getExtension(‘WEBGL_debug_renderer_info’); var vendor = ctx.getParameter( infos.UNMASKED_VENDOR_WEBGL ); var gpu = ctx.getParameter( infos.UNMASKED_RENDERER_WEBGL );

Slide 13

Slide 13 text

13 Le développement BabylonJS DeckGL ThreeJS PixiJS ReGL, glmatrix, minigl, nanogl Les librairies Unity Playcanvas Clara.io Sketchfab ThreeKit Les démonstrateurs / configurateurs IDEs complets Unity Playcanvas ...

Slide 14

Slide 14 text

Réussite historique : Googlemaps - https://maps.google.fr flyvast - https://sketchfab.com/models/604478ecf58a45228a4b895bd362ac10 Deck.gl : https://uber.github.io/deck.gl/#/examples/overview Molécules : http://3dmol.csb.pitt.edu/ Black hole : http://rickyreusser.com/demos/lorenz/ http://christopheremoore.net/black-hole-skymap/ http://spiro.fisica.unipd.it/~antonell/schwarzschild/live/ Other http://stuffin.space/ https://jig.space/ Mine: https://www.interascope.com/experiments/evolution/ https://www.interascope.com/experiments/jogging/ https://www.interascope.com/experiments/laniakea/ https://www.interascope.com/experiments/slices/ 14 Data , e-learning , science

Slide 15

Slide 15 text

http://hexgl.bkcore.com/ http://letsplay.ouigo.com/ https://noheroes.ghostrecon.com/fr-FR/index.html http://www.cryptarismission.com/ https://beinternetawesome.withgoogle.com/interland 15 GAMING http://oskarstalberg.com/game/house/index.html http://oskarstalberg.com/game/planet/planet.html https://playcanv.as/p/3RerJIcy/ https://tanx.io/ 2D ( PixiJS )

Slide 16

Slide 16 text

https://redplant.de/prozess-wie-wir-arbeiten/ https://threekit.com/3d-product-demos/ VOITURES Server rendering : SIGGRAPH Zerolight: https://www.audi.de/de/brand/de/neuwagen/a4/a4-allroad-quattro.html#page=/de/brand/de/neuwagen/a4/a4-allroad-quattro/pakete.html http://pagani.zerolight.com/geneva-launch-event Unity : quasi inexistants.. ? Natifs WebGL : petit apparté PBR http://playcanv.as/p/RqJJ9oU9/?overlay=false http://experiences.xymatic.com/car/ http://renaultespace.littleworkshop.fr/ http://awards.paris/new-micra-experience/ https://juke.specialversion.nissan.dlbi.xyz/ 16 Configurateurs

Slide 17

Slide 17 text

Principe : Avec service worker et app-manifest : PWA Complétude : WebAssembly, AR.js à l’automne. Pixi.js WebGL DOM Rendering : https://twitter.com/AWWWARDS/status/876498535222579201 / http://www.awwwards.org/brain-food-firstborn.pdf http://htmlgl.com/ https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas https://www.awwwards.com/the-rise-of-shaders-filters-and-effects-in-web-projects.html Autre https://codepen.io/Yakudoo/ Plus loin que du CSS https://www.essential.com/ https://www.7up.nl/producten/free https://www.50cinquante.be/ https://captur3d.io/view/ikea/ikea-virtual-retail-experience-vr?m=VvXTcv9iZE2 http://schl.co.jp/ https://stainedglassvideo.com/ https://www.raoul-gaillard.com/ http://www.lespetitesculottees.com/#!/ http://www.weareuprising.com/index http://youmatter.accademiadellusso.com/ http://anagram.paris 17 Front-end

Slide 18

Slide 18 text

AR.js > iOS implémente le streaming vidéo en automne WebVR en développement (Chromium/Firefox Nightly/Cardboard) https://www.youtube.com/watch?v=lQt96saECfM Problème : avoir un standard ! 18 AR/VR

Slide 19

Slide 19 text

Deep learning : https://erkaman.github.io/regl-cnn/src/demo.html 19 Avenir

Slide 20

Slide 20 text

20 Conclusion ● Pas à mettre partout ● Long à implémenter, UX plus complexe ● Mais 2017 : hardware / software / librairies / talents OK ! ● Acteurs en positionnement (web, gaming), rares, dev rares ● Nouvelles opportunités à découvrir ● Nouvelle dimension pour la créativitié

Slide 21

Slide 21 text

21 Au revoir . paperplanes.world