Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
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
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Creating Composable Callables in Contemporary C++
rollbear
0
190
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
1.6k
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
2.5k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
650
Vite+ Unified Toolchain for the Web
naokihaba
0
700
霧の中の代数的エフェクト
funnyycat
1
280
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
170
自作OSでスライド発表する
uyuki234
1
3.7k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
160
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
150
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
440
Test your architecture with Archunit
thirion
1
2.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing for humans not robots
tammielis
254
26k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Rails Girls Zürich Keynote
gr2m
96
14k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
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/