Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
High Performance WebGL
Search
Luigi De Rosa
February 21, 2018
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
High Performance WebGL
Slides from my talk about WebGL at FEVR meetup. 21 Feb 2018
Luigi De Rosa
February 21, 2018
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
AmebaブログはKMPから卒業します
kmars0605
0
190
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
ジョジョの世界をXRで再現する
mofurune
0
160
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Jetpack Compose Mechanisms
skydoves
3
820
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
JIS keyboard support in Omarchy
lef237
0
110
The Rails Doctrine Decade
koic
2
590
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
Event is what happens
moro
2
780
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
For a Future-Friendly Web
brad_frost
184
10k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Transcript
HIGH PERFORMANCE WEBGL what I learned doing WebGL… FEBRUARY 21TH,
2018
@luruke
EPIC is a digital agency made of passion and
creativity. We dedicate ourselves to crafting awesome and eye-catching digital experiences that change the way your brand connects with your clients.
None
None
HTTPS://GITHUB.COM/LURUKE/DEV-EXCUSES-CHROME
None
WE ARE EPIC 1
WE ARE EPIC 1
JUST A RASTERIZATION ENGINE! UEBBGL?
WEBGL IS NOT 3D
HTTPS://NICKDESAULNIERS.GITHUB.IO/RAWWEBGL/
HTTPS://WWW.KHRONOS.ORG/API/OPENGLES/2_X
HTTPS://SIMONSCHREIBT.DE/GAT/RENDERHELL/
• Three.js (react-vr, a-frame…) • Babylon.js • PixiJS (2d only…
for now) • Nanogl • Regl • … • Vanilla WebGL (if you are brave enough) Most used WebGL framework
WHAT I LEARNED After many headaches.
None
None
None
None
None
IN THE DETAIL…
DELIVERY DAY - Promotional game - Mobile first - Easy
to play - “on the go” - Support 2-3y old phones - Multiplatform (+60 device tested)
None
None
CONCEPT 1.0 Make sure you know what you are doing!
None
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
None
BLENDER - Great for prototyping - Open Source - Three.js
exporter - All-in-one solution (modelling + texturing + sculpturing…) 1.1 Is not just for 3D artist!
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
None
LOGIC + RENDER 1.2 Divide et impera
• Just logic! • Expose the “info” (score, parcels, …)
• Event based • Unit tested (well…partially) • Rendering independent (css, terminal, canvas, webgl….) Game engine
• Passive - read info from game engine • Handles
interaction (touch, click, gyroscope…) • Can just send events • Full WebGL (but we also won CSSDesignAward…) • Three.js + PixiJS Rendering
16.6MS
>
WEBGL AND HTML? 1.3 Sometimes are not good friends
None
WE ARE EPIC 1
None
CPU & GPU 1.4 Less they talk each other, the
better
HTTPS://SIMONSCHREIBT.DE/GAT/RENDERHELL/
None
WE ARE EPIC 1
WE ARE EPIC 1
TEXTURES = DATA 1.5 Textures are more than an image
None
HTTPS://WWW.PATREON.COM/MINIONSART
HTTPS://WWW.PATREON.COM/MINIONSART
HTTPS://WWW.PATREON.COM/MINIONSART
HTTPS://WWW.PATREON.COM/MINIONSART
HTTPS://WWW.PATREON.COM/MINIONSART
WE ARE EPIC 1 HTTPS://GITHUB.COM/SPITE/THREE.FBOHELPER
WE ARE EPIC 1
WE ARE EPIC 1
None
None
1.6 “With Great Power Comes Great Responsibility” FORCE GPU UPLOAD
HTTP://GLUMPY.READTHEDOCS.IO/
WE ARE EPIC 1
None
None
None
OBJECT POOLING 1.7
None
None
None
MULTIPLATFORM WEBGL 1.8 Make WebGL run (almost) everywhere
None
None
None
None
None
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
I NEED MORE POWER! 1.9 Do you?
None
None
None
DEBUGGING IS HARD 2.0 But not impossible
None
None
None
WE ARE EPIC 1
None
None
HOW TO START? 2.1 The hard way
• How Computer Graphic works • How 3D works (math,
vectors, light, matrix…) • How WebGL/OpenGL works • Write tons of Shaders • Success Learn WebGL like a BOSS:
WE ARE EPIC 1
WE ARE EPIC 1
WE ARE EPIC 1
Thank you! YOU GOT QUESTIONS? @luruke
Thank you! YOU GOT QUESTIONS? @luruke HTTP://SOLVERSGB.UPS.COM/DELIVERY-DAY/