Sign in

Élie Michel

@elie-michel.bsky.social
459 followers 227 following 106 posts

Research Scientist at #Adobe. PhD in Computer Graphics. Author of #LearnWebGPU C++. Creative Coding. Indie game. VFX. Opinions are my own. Writes in 🇫🇷 🇺🇸. portfolio.exppad.com twitter.com/exppad

PostsRepliesMedia
Reposted by Élie Michel
Emilie Yu @emxtyu.bsky.social · 01/06/2025
Ever wondered how badly we're all addicted to buying new GPUs in graphics labs? Come see our talk at #SIGGRAPH2025 to discuss how we can collectively move "Towards a sustainable use of GPUs in Graphics Research" with @elie-michel.bsky.social @axelparis.bsky.social Octave Crespel and Felix Hähnlein
MOTIVATION
Graphical Processing Units (GPUs) are at the core of Computer Graphics research. These chips are critical for rendering images, processing geometric data, and training machine learning models. Yet, the production and disposal of GPUs emits CO2 and results in toxic e-waste [1].

METHOD
We surveyed 888 papers presented at SIGGRAPH (premier conference for computer graphics research), from 2018 to 2024, and systematically gathered GPU models cited in the text. 

We then contextualize the hardware reported in papers with publicly available data of consumers’ hardware [2, 3].

REFERENCES
[1] CRAWFORD, KATE. The Atlas of AI: Power, Politics, and the Planetary Costs of Artificial Intelligence. Yale University Press, 2021.
[2] STEAM. Steam Hardware Survey. https://store.steampowered.com/hwsurvey
[3] BLENDER. Blender Open Data. https://opendata.blender.org
25020
Élie Michel @elie-michel.bsky.social · 01/06/2025
'tint' is the shader compiler developed by Chrome to implement #WebGPU. It has a nice command line interface, but so far there is no official build out... Wait no more! I share here precompiled binaries of tint CLI: github.com/eliemichel/d...
Left: WGSL and SPIR-V are possible inputs of tint. Right: MSL, GLSL? HLSL, SPIR-V and WGSL are possible outputs of tint.
1132
Élie Michel @elie-michel.bsky.social · 29/05/2025
I've just realized something. It makes much more sense to have the "hello triangle" pointing upside down when learning #WebGPU! 👉 The ongoing "Next" rewrite of my guide reached the Hello Triangle chapter 🥳 eliemichel.github.io/LearnWebGPU/...
Screenshot of the Hello Triangle chapter
160
Élie Michel @elie-michel.bsky.social · 19/05/2025
🏅Honored to have been awarded at #Eurographics25 for our paper on #LipschitzPruning to speed-up SDF rendering! 👉 The paper's page: wbrbr.org/publications... Congrats to @wbrbr.bsky.social, M. Sanchez, @axelparis.bsky.social, T. Lambert, @tamyboubekeur.bsky.social, M. Paulin and T. Thonat!
Wilhem receiving the award on stage
0254
Élie Michel @elie-michel.bsky.social · 15/05/2025
Nice writeup from @mattkeeter.com inspired by our recent work on #LipschitzPruning!
040
Élie Michel @elie-michel.bsky.social · 10/05/2025
New update post about the 🚧 Ongoing work! 🚧 in my LearnWebGPU C++ guide! On patreon: www.patreon.com/posts/ongoin... On Discord: discord.gg/2Tar4Kt564 Outline: 🔹 The LearnWebGPU guide 🔹 WebGPU-distribution 🔹 RenderDoc 🔹 WebGPU-C++ 🔹 WebGPU spec 🔹 Dawn 🔹 wgpu-native 🔹 GLFW and SDL 🔹 Slang x WebGPU
Screenshot of https://eliemichel.github.io/LearnWebGPUScreenshot of my custom version of RenderDocScreenshot of the README of Slang x WebGPU
1194
Reposted by Élie Michel
Wilhem Barbier @wbrbr.bsky.social · 07/05/2025
I am proud to announce our Eurographics 2025 paper "Lipschitz Pruning: Hierarchical Simplification of Primitive-Based SDFs"! With Mathieu Sanchez (joint first author), @axelparis.bluesky.social, @elie-michel.bsky.social, Thibaud Lambert, @tamyboubekeur.bsky.social, Mathias Paulin and Théo Thonat.
Left: an input CSG tree and a much smaller pruned tree computed using our method.
Right: a rendered scene showing the number of active nodes per cell. Our method reduces the active nodes to less than 20 from the initial 6023 nodes of the input tree.
24618
Élie Michel @elie-michel.bsky.social · 04/05/2025
Starting to track down the usage of #WebGPU resources during a frame in my custom #RenderDoc driver! (Don't mind the usage field, it's a placeholder value for now)
050
Élie Michel @elie-michel.bsky.social · 02/05/2025
Starting to nest events in the #WebGPU driver for #RenderDoc, how do you think I should handle these "WriteBuffer" that occur while encoding a "RenderPass"? Because chronologically they are submitted before the render pass even though the API call occurs after.
WebGPU events in RenderDoc, with nesting of what happens between BeginRenderPass and RenderPassEnd
130
Élie Michel @elie-michel.bsky.social · 30/04/2025
Who would be interested in a version of #RenderDoc that captures and replays calls to the #WebGPU API (rather than calls to the underlying DirectX/Vulkan/Metal API)? This is an early test that only lists the API calls, but already promissing! Will share when usable.
A screenshot of RenderDoc where one can see calls to the WebGPU API
3293
Élie Michel @elie-michel.bsky.social · 03/12/2024
🏆 So honored that our paper received the Honorable Mention #Award at #SIGGRAPHAsia! I really like this paper BTW, it is about procedural #SignedDistanceFields, a simple idea to #differentiate them and thus provide #DirectManipulation ✨ More in the🧵⤵️ 1/8
Picture of a stage at SIGGRAPH Asia, where we receive the Honorable Mention Award
1377
Élie Michel @elie-michel.bsky.social · 26/11/2024
Sharing a starter setup for using @shader-slang.bsky.social with #WebGPU in C++ with #CMake, either for native or web targets. 🔹 Uses the #reflection API to auto-generate boilerplate code! ✨ 👉 github.com/eliemichel/S... Very happy to take feedback about what's good and bad in this demo! More⤵️ 1/8
Screenshot of Slang x WebGPU README on GitHub (where the link in the post points)
23915
Élie Michel @elie-michel.bsky.social · 16/11/2024
Is it me of the activity of the #WebGPU-native spec looks like a #deadline is coming? Just saying...😁 (Also, it makes it hard to follow the pace with the #LearnWebGPU guide, but I'm working on it!)
A bar chart that shows updated PRs and Issues on webgpu-headers repository. Last 2-3 months skyrocket (up to 100 updates, where the previous max was 20 and average more around 10).
170
Élie Michel @elie-michel.bsky.social · 27/10/2024
Corner Pin transform, a.k.a. #perspective transform, is super useful for #imageediting: texture replacement, undistorsion, projections for #videomapping. Corners can be static, or attached to video tracking points, etc. 1/8
Title: Corner Pin Transform
Subtitle: using 3d hardware acceleration
Below: A building onto which we map a texture, thus needing a perspectove transform
151
Élie Michel @elie-michel.bsky.social · 27/10/2024
Running into this annoying "scan-deps" issue when using #Cpp20 with #Emscripten? Here is a minimal #CMake setup to work it around: 👉 github.com/eliemichel/c...
github.com
GitHub - eliemichel/cpp20-cmake-emscripten-template: A template to work around an issue when using C++20 with Emcmake
A template to work around an issue when using C++20 with Emcmake - eliemichel/cpp20-cmake-emscripten-template
021
Élie Michel @elie-michel.bsky.social · 25/10/2024
Sneak peek of the future of step100 of #LearnWebGPU guide, that works only on #Dawn for now (🙏 #wgpu catch up please): Branch step100-dawn: github.com/eliemichel/L...
github.com
GitHub - eliemichel/LearnWebGPU-Code at step100-dawn
The accompanying code of the Learn WebGPU C++ programming guide - GitHub - eliemichel/LearnWebGPU-Code at step100-dawn
141
Élie Michel @elie-michel.bsky.social · 25/10/2024
Want to use #WebGPU together with #SDL3? After recently upgrading #sdl2webgpu, I introduce #sdl3webgpu, little SDL3 extension to create WebGPU surface! 👉https://github.com/eliemichel/sdl3webgpu
121
Élie Michel @elie-michel.bsky.social · 25/10/2024
🚂Wanna catch the #WebGPU train? Beware of nighttime construction and weekend diversions! Joke aside, this is why my guide could feel a bit behind: I value portability, hence my WebGPU-distribution follows the pace at which implementations are in sync! eliemichel.github.io/LearnWebGPU/
A kind of metro plan, except train lines are the different implementations of WebGPU. Left: All lines connected at the "WebGPU-distribution v0.2.0" station. Right: All lines connected at the "WebGPU v1.0" station, but lines are under construction. Middle: Lines diverge and fork
031
Élie Michel @elie-michel.bsky.social · 24/07/2024
🌱Next Monday, come to our #SIGGRAPH2024 session to discuss about the #environmental impact of #ComputerGraphics. 🔥What our research field collectively costs? 🧯What could we do better? 🌾But also what it can bring to other fields! ft AxelParis & Octave Crespel
The Environmental Impact of Computer Graphics - Birds of a Feather
Monday, 29 July
11am - 12am MDT
Room 702
010
Élie Michel @elie-michel.bsky.social · 30/05/2024
Our work on #NBVH (Neural ray queries with Bounding Volume Hierarchies) will be presented this summer at #SIGGRAPH2024! What's that? See🧵below ⤵️ 📃Source Code: github.com/WeiPhil/nbvh 🌐Project Page/Paper: weiphil.github.io/portfolio/ne...
A 3D render of an interior scene with a lot of plants.
110
Élie Michel @elie-michel.bsky.social · 07/04/2024
And updated the #LilySurfaceScraper add-on as well to latest #Blender! 👉 github.com/eliemichel/L...
000
Élie Michel @elie-michel.bsky.social · 05/04/2024
Just updated #MapsModelsImporter for Blender 4.1 and RenderDoc 1.31 (latest versions)! Import #GoogleMaps 3D into #Blender now! 👉👉👉 github.com/eliemichel/M...
021
Élie Michel @elie-michel.bsky.social · 04/04/2024
Just updated the #LilyTexturePacker add-on to #Blender 4.1 (Python 3.11)! 👉 eliemichel.gumroad.com/l/DFExj
eliemichel.gumroad.com
Lily Texture Packer
Blender add-on to pack many textures into a single image. Just select all objects to pack textures from and go to menu Objects > Lily Texture Packer. A new image including all textures will be availab...
100
Élie Michel @elie-michel.bsky.social · 01/04/2024
📣From now on I'll try to regularly post updates about the 🔸#WebGPU Guide🔸! Details can be found on the support #Discord server: discord.gg/ZhXvsHJr7P #LearnWebGPU #Dawn
Screenshot of the Discord post that lists updates
020
Élie Michel @elie-michel.bsky.social · 31/03/2024
Exploring how C++20 #coroutines can be used with the #WebGPU API, did anybody play with a similar setup already?
021
Élie Michel @elie-michel.bsky.social · 17/03/2024
I've been playing around with #threejs today... did I take the name too literally? 👉Try it: eliemichel.github.io/PolyworldJs 🔤Source Code: github.com/eliemichel/P... #webgl #procedural #forest #threejs #lowpoly
010
Élie Michel @elie-michel.bsky.social · 12/03/2024
2 months, 56 patches, 138 comments, 53 modified files, 1969 additions and 360 deletions later, I am proud to have my first substantial #contribution to Chrome's #WebGPU implementation (Dawn), bringing it one small step closer to standard compliance 🥲 dawn-review.googlesource.com/c/dawn/+/167...
131
Élie Michel @elie-michel.bsky.social · 19/02/2024
Journée productive aujourd'hui... voici donc le troisième jeu de presse ! À propos de la grève en cours à la #TourEiffel. Jouer 🎲👉 eliemichel.github.io/JeuDePresse/...
000
Élie Michel @elie-michel.bsky.social · 19/02/2024
Today was a productive day... here comes the third #newsgame about the ongoing #strike at the #EiffelTower ! Play 🎲👉 eliemichel.github.io/JeuDePresse/...
010
Élie Michel @elie-michel.bsky.social · 19/02/2024
Et voici un deuxième "jeu de presse"!🎲 Cette fois-ci, c'est un homage au combat d'#AlexeiNavalny contre la corruption. #jdp 🎲👉 exppad.com/games/JeuDeP... Au fait, ces jeux sont tous open source! github.com/eliemichel/J...
Menu du jeuJeu en cours de partieÉcran de défaite
000
Élie Michel @elie-michel.bsky.social · 19/02/2024
Here comes a second #newsgame!🎲 This time an homage to #AlexeiNavalny's fight against corruption. 🎲👉 exppad.com/games/JeuDeP... BTW these games are all open source! github.com/eliemichel/J...
Screenshot of the game menuScreenshot of the game overScreenshot of the main gameplay
000
Élie Michel @elie-michel.bsky.social · 11/02/2024
Première tentative de "jeu de presse"!🎲 À l'instar du dessin de presse, le #jdp partage une actu via une expérience interactive rapide à produire. Celui-ci est un hommage au discours du désormais regretté Robert Badinter contre la peine de mort, en 1981. 🎲👉 eliemichel.github.io/JeuDePresse/...
000
Élie Michel @elie-michel.bsky.social · 11/02/2024
My first attempt at making a #newsgame!🎲 A newsgame is meant to be quickly produced to react to some news. This one is a tribute to the speech of Robert Badinter (who just passed away) against death penalty, in 1981.💀 🎲👉 eliemichel.github.io/JeuDePresse/...
000
Élie Michel @elie-michel.bsky.social · 27/01/2024
I just realized that I had never shared my experiments around Oskar Stalberg's #Townscaper! Here it is, though the Unity project is be a bit outdated. 👉 github.com/eliemichel/T...
020
Élie Michel @elie-michel.bsky.social · 30/12/2023
🚀 I created a Web frontend to my WebGPU C++ wrapper generator! Much easier to use this way: 👉 eliemichel.github.io/WebGPU-Cpp (Used @digitalocean for the first time, was pretty nice so far!)
022
Élie Michel @elie-michel.bsky.social · 29/12/2023
I've discovered #numpy's stride_tricks module lately, and I love it! 😍 (1/10)🧵⤵️ #Python #performance
100
Élie Michel @elie-michel.bsky.social · 19/12/2023
Obvioulsy, not everybody wants to read a doc from scratch!🤓 So I added a QuickStart drop down cascade 🌊 to guide newcomers to my LearnWebGPU guide! 📚https://eliemichel.github.io/LearnWebGPU
000
Élie Michel @elie-michel.bsky.social · 02/12/2023
The infrastructure for #translation of the Learn #WebGPU C++ guide is now ready! Contributions are of course welcome! 👉 eliemichel.github.io/LearnWebGPU
030
Élie Michel @elie-michel.bsky.social · 05/11/2023
Jeu ! 🚂 Il y a 1186 gares dans la région parisienne (au sens large ^^), combien saurez-vous retrouver ? J'ai adoré le Memory pour Paris ❤️ de Benjamin TD mais en bon banlieusard il me manquait quelque chose... donc voici la version étendue 😇 ➡️Jouer eliemichel.github.io/MemoryIDF
000
Élie Michel @elie-michel.bsky.social · 05/11/2023
Game!🚂 There are 1186 train stations in Paris metropolitan area! How many can you recall by heart? Following great inspiration from Benjamin TD and Chris Arvin I hacked a couple of days ago the *Grand Paris Memory*! 🧠 ➡️Play eliemichel.github.io/MemoryIDF
000
Élie Michel @elie-michel.bsky.social · 05/11/2023
I started writing this programming guide a little more than 1y ago and I am still convinced that 🚀WebGPU🚀 is a great choice for learning graphics programming even for Desktop use! Reasons follow 🧵⤵️ (The guide: eliemichel.github.io/LearnWebGPU )
151