Sign in

David Peipei

@davidpei.bsky.social
53 followers 34 following 44 posts

Real time Graphics Engineer working on Wonderland Engine. On the side I do WebGPU pathtracing and lightmapping 💫 in rust 🦀 davidpeicho.github.io/about

PostsRepliesMedia
David Peipei @davidpei.bsky.social · 13/07/2026
Exact same project, no modification. Runs on the web
000
David Peipei @davidpei.bsky.social · 13/07/2026
Getting there. Example of a project where the camera movement is in user-land. User scripts in js, running on the web doesn't involve another indirection layer. #rust #webgpu #wasm
100
David Peipei @davidpei.bsky.social · 10/07/2026
Almost there. I just need to figure out how to handle shared memory now
000
David Peipei @davidpei.bsky.social · 09/07/2026
Trying to solve a fun problem. I am embedding quick-js natively in a rust app. I also have a wasm api to js. My goal: Expose the same api to web js and quickjs. But I also need to handle wasm memory views that are used throughout the API. I would prefer not to use wasi. Any idea? #rust #wasm
100
David Peipei @davidpei.bsky.social · 09/07/2026
Amazing work, as always! I wish we could just spend a little more time to get a safer API :D I know I have been been bothering you with that for a while, but right now this is the only hard part to use. I don't mind helping but that would be a breaking change unfortunately :/
001
David Peipei @davidpei.bsky.social · 02/07/2026
The game looks really good! Would love an even more technical post 😁
000
David Peipei @davidpei.bsky.social · 19/06/2026
Beautiful shots to go with that
000
David Peipei @davidpei.bsky.social · 19/06/2026
Rendering the amazing "Lone monk" scene by Carlo Bergonzini in Albedo (#rust #webgpu pathtracer). Scene export isn't perfect, speed isn't good enough, but pretty happy with the results already.
100
David Peipei @davidpei.bsky.social · 18/06/2026
Safari successfully broken with my latest raytracer build. It went as far as destroying the entire dev tools panel 😅
000
David Peipei @davidpei.bsky.social · 13/06/2026
I played the original game on the first xbox when I was still in primary school. It's probably one of the most memorable game I played to date. What you have been doing for the upcoming one is crazy, it looks absolutely incredible. Can't wait to play!
000
David Peipei @davidpei.bsky.social · 10/06/2026
Demodulated vs final, renders in real time. So addictive to look at those!
000
David Peipei @davidpei.bsky.social · 06/06/2026
Hey! I used it in our engine: wonderlandengine.com The engine editor has a window listing OSS software used, and tinybvh is listed there :)
wonderlandengine.com
Wonderland Engine — Next-Gen 3D Engine for the Web
Render complex 3D at native performance, directly in the browser. Product configurators, visualizations, simulations, and interactive 3D — on every device, from a single URL.
020
David Peipei @davidpei.bsky.social · 03/06/2026
Really wish wasm-bindgen gen boilerplate code to write a struct from js to read into rust Wasm, without allocating an object or the need to free a pointer. * Give some pointer to temp memory * wasm-bindgen write the js objects (Pod fields) to pointer * Rust has access to the struct via the pointer
000
David Peipei @davidpei.bsky.social · 01/06/2026
Looks like Chrome DevTools now include an "AI summaries for console messages". I wish I got natvis / LLDB formatters instead, which seems to be slightly more useful to debug WASM code 😅
000
David Peipei @davidpei.bsky.social · 31/05/2026
Your blog posts have been so helpful to a generation of graphics programmer, myself included. Thanks a lot for that!
050
David Peipei @davidpei.bsky.social · 28/05/2026
Native video didn't upload, so here it is
000
David Peipei @davidpei.bsky.social · 28/05/2026
Native vs Firefox Performance hit is clear in the web version. This scene is GPU bound, no CPU work and no CPU -> GPU flow. Weirdly, Chrome is barely usable compared to Firefox. #rustlang #webgpu
120
David Peipei @davidpei.bsky.social · 27/05/2026
Temporal stability is visible on this smol video
000
David Peipei @davidpei.bsky.social · 27/05/2026
Rendering at 1/4 resolution to emphasize the fix: Left is bilinear upsampling, right is TAA upsampled. Not great for the reflections, but those will soon be fixed! #webgpu #rust
110
David Peipei @davidpei.bsky.social · 22/05/2026
Alright thanks! Unfortunately for me I am located in France. Job sounds awesome tho :)
000
David Peipei @davidpei.bsky.social · 21/05/2026
Hey! I guess that remote (Europe) isn’t an option? At least the job listing mentions only hybrid work :)
100
David Peipei @davidpei.bsky.social · 20/05/2026
Antialiasing upscaler first attempt. It's too blurry under motion, and some NaNs are showing to mess up with me. Let's see if I can make that sharper
010
David Peipei @davidpei.bsky.social · 12/05/2026
Quality improvements are slowly getting in.
040
David Peipei @davidpei.bsky.social · 06/05/2026
Because it's always fun to look at bugs, this is what happens when you mess up your atlas
020
David Peipei @davidpei.bsky.social · 06/05/2026
Added a sun based on Hosek Wilkie. Irradiance is pre-computed for the pathtracing NEE. The temporal lag makes changing the time actually kinda nice to look out. Nice artifacts, totally wanted :) #webgpu
130
David Peipei @davidpei.bsky.social · 06/05/2026
Welcome to the web :D Now try to upload an HTMLImageElement to a texture array and you will get a monstruous perf hit (on Chrome at least) compared to subImage to staging texture + shader blit.
000
David Peipei @davidpei.bsky.social · 30/04/2026
wgpu is truly awesome. I had very few bugs over the years and in general I can just go make a PR, maintainers are super reactive. OpenGL is a great place to start, but considering that WebGPU isn’t much harder, I think it’s a great idea
010
David Peipei @davidpei.bsky.social · 09/04/2026
Albedo is getting a UI. The editor data model allows linking scenes, similar to prefabs in Unity I assume. Everything can be linked
010
Reposted by David Peipei
Eric Lengyel @ericlengyel.bsky.social · 17/03/2026
New blog post: A Decade of Slug This talks about the evolution of the Slug font rendering algorithm, and it includes an exciting announcement: The patent has been dedicated to the public domain. terathon.com/blog/decade-...
1127386
David Peipei @davidpei.bsky.social · 20/02/2026
Most of the noise from disocclusion is now gone. Reflections will be a pain to handle, looking forward to it 😁 I waited too long for that, but I really need some mipmaps to get rid of the texture sampling artefact 🫠 #webgpu #rust
010
David Peipei @davidpei.bsky.social · 20/02/2026
SVGF / ASVGF are pretty good start. Haven't deeply looked, but I remember that Tomasz Stachowiak did some pretty good job here as well: github.com/EmbarkStudio...
github.com
GitHub - EmbarkStudios/kajiya: 💡 Experimental real-time global illumination renderer 🦀
💡 Experimental real-time global illumination renderer 🦀 - EmbarkStudios/kajiya
031
David Peipei @davidpei.bsky.social · 19/02/2026
Pretty common SVGF for now. My noise distribution isn't great here, I will need to re-read all your blue noise material soon :P
120
David Peipei @davidpei.bsky.social · 18/02/2026
Got some time to spend on the pathtracer denoiser. It's getting there, and the next step is to fix those disocclusion artefacts. I will start working more and more on this project, and share more info hopefully soon! #rust #webgpu
2121
David Peipei @davidpei.bsky.social · 25/01/2026
Just released a new version of github.com/DavidPeicho/... * Removes the "basic" API in favor of the "advanced" API provided by #tinybvh. * Unifies layouts build * Safer usage This version is API-breaking, but the library was still tagged as beta 😄 Will probably hit 0.1.0 soon this time!
github.com
GitHub - DavidPeicho/tinybvh-rs: Rust wrapper for the tinybvh libary
Rust wrapper for the tinybvh libary. Contribute to DavidPeicho/tinybvh-rs development by creating an account on GitHub.
021
David Peipei @davidpei.bsky.social · 23/02/2025
Haven't been improving tinybvh-rs much lately, but catching up soon! Unfortunately, compiling a rust crate depending on tinybvh-rs is painful if you don't want to use emscripten. I just decided to not use tinybvh in wasm rust anymore, slowing down my progress on tinybvh-rs.
000
David Peipei @davidpei.bsky.social · 17/02/2025
I have hit that working on SVGF. Quite limiting indeed.
011
Reposted by David Peipei
Anatole Duprat @anatoleduprat.bsky.social · 15/02/2025
Using ReSTIR to importance sample the brightest pixels on an image www.shadertoy.com/view/XfycWw
18820
David Peipei @davidpei.bsky.social · 26/01/2025
First time that I think that rust tooling needs some work: The WebAssembly support with a dependency in C++ is not yet nice to use. Using wasm32-unknown-emscripten also means not using wasm-bindgen
000
David Peipei @davidpei.bsky.social · 25/01/2025
I have a #rustlang dependency building a C++ library. Want to compile my project to the wasm32-unknown-unknown target. I feel like I have no choice than making a wasm module out of the C++ dependency itself?
000
David Peipei @davidpei.bsky.social · 18/01/2025
Demodulated vs non-demodulated albedo. Need to manually interpolate the texture atlas to get rid of the sampling artefacts tho.
020
David Peipei @davidpei.bsky.social · 18/01/2025
Ha my bad! For some reason I assumed it was 1spp denoised, and I was quite amazed by a result like that with an env! Still looks amazing!
000
David Peipei @davidpei.bsky.social · 18/01/2025
Looks really nice! How much noise is visible when moving the light? Hard to tell with the compression :)
110
David Peipei @davidpei.bsky.social · 18/01/2025
*fast BVH intersections
010
David Peipei @davidpei.bsky.social · 18/01/2025
Thanks! Would indeed not have those BVH intersections without tinybvh 😄
110
David Peipei @davidpei.bsky.social · 18/01/2025
First post here! Continuing my journey on my #rustlang #webgpu pathracing library, fully GPU software, i.e., no RTX. TLAS + Texture atlas performance are slowing down the pathtracing quite a bit. Will need to focus on that after I get rid of more noise
1201
David Peipei @davidpei.bsky.social · 18/01/2025
Really nice! What’s the ray max depth on the above gif? Is it 1ssp? :)
100
Reposted by David Peipei
Jacco Bikker 🎦 @jbikker.bsky.social · 16/01/2025
TinyBVH has been updated to 1.2.5 on main. New: TLAS/BLAS construction and traversal, for single and double precision BVHs, and including a brand new GPU demo: See the attached real-time footage, captured at 1280x720 on an NVIDIA 2070 laptop GPU. #RTXoff github.com/jbikker/tiny...
3498