Sign in

JMS55

@jms5517.bsky.social
386 followers 34 following 230 posts

Working on rendering for the Bevy game engine. Long form blog at jms55.github.io.

PostsRepliesMedia
Reposted by JMS55
Bevy @bevy.org · 08/10/2026
Bevy 0.20 is out now! It features Solari and DLSS improvements, better BSN syntax, BSN "ready" events, WESL is now Bevy's shader language, more UI widgets (color picker, scrollable list views, dropdowns), Sprite Materials, Extended 2D materials, Pan Orbit Camera, and more! bevy.org/news/bevy-0-...
bevy.org
Bevy 0.20
Thanks to 227 contributors, 817 pull requests, community reviewers, and our generous donors, we're happy to announce the Bevy 0.20 release on crates.i…
420156
JMS55 @jms5517.bsky.social · 03/10/2026
List can be sized to <number of meshlets>, and we don't have to worry about figuring out how many slots should be allocated for SW vs HW raster. The same list can serve both.
010
JMS55 @jms5517.bsky.social · 03/10/2026
This is exactly how I bin meshlets for the software or hardware renderer in my virtual geometry renderer. One list shared by both, with GPU threads writing from each end via atomics.
120
Reposted by JMS55
Arseny Kapoulkine @zeux.io · 30/09/2026
New blog post! In "Billions of triangles redux" we take another stab at improving various parts of clustered level of detail pipeline to make Zorah smaller and nicer! zeux.io/2026/09/30/b...
26322
Reposted by JMS55
passivestar @passivestar.bsky.social · 29/09/2026
just learned ambientCG has blender 5.2 remote asset library (no addon needed) 1k for free, all resolutions if you support on patreon this is cool af
326844
Reposted by JMS55
Jonathan Stone @sheriffstone.bsky.social · 26/09/2026
Thanks to our colleagues at Pixar, NVIDIA, SideFX, OTOY, Blender, and Autodesk for their amazing work on this year's MaterialX and OpenPBR Virtual Town Hall. The full slide deck can be found at materialx.org/assets/ASWF_..., and stay tuned for the published video from the @aswf.io.
The MaterialX Teapot and LionThe MaterialX Stirling
0147
Reposted by JMS55
Arseny Kapoulkine @zeux.io · 25/09/2026
meshoptimizer 1.3 is out! Featuring a new voxel remesher, support for normal generation, several simplification improvements and various optimizations and fixes. GitHub stars and reposts appreciated! meshoptimizer was started 10 years ago; excited for the years to come! github.com/zeux/meshopt...
29427
JMS55 @jms5517.bsky.social · 25/09/2026
Bevy chose github.com/h3r2tic/tony... as our default tonemapper. You can see a comparison between a whole bunch of options here: bevy.org/examples/3d-.... I think it looks pretty nice. There's also s3.amazonaws.com/gran-turismo..., which has support for HDR displays.
github.com
GitHub - h3r2tic/tony-mc-mapface: A cool-headed display transform
A cool-headed display transform. Contribute to h3r2tic/tony-mc-mapface development by creating an account on GitHub.
000
JMS55 @jms5517.bsky.social · 22/09/2026
Note that in wgpu, pretty much all objects are reference counted. Feel free to use clone() liberally!
010
JMS55 @jms5517.bsky.social · 19/09/2026
Thanks for reading, glad you enjoyed!
010
JMS55 @jms5517.bsky.social · 18/09/2026
New blog post! Go read about making ReSTIR better, killing ReSTIR, improving denoising, and more! jms55.github.io/posts/2026-0...
14515
Reposted by JMS55
Godot Engine @godotengine.org · 15/09/2026
From the outside, rendering optimization can look a little bit like black magic. That's why @clayjohn.bsky.social, lead maintainer of the rendering team, is here to show a few examples of some optimizations from this year to highlight that optimizing rendering code isn’t as scary as it sounds.
godotengine.org
Optimizing CPU-side Rendering Code – Godot Engine
Optimizing CPU code is a lot of fun. Here’s how we do it
327841
Reposted by JMS55
midwest emo fan @natalie.sh · 12/09/2026
yooo what!!! this is crazy blog.rust-lang.org/2026/08/04/e...
blog.rust-lang.org
Enabling the next iteration of the borrow checker on nightly | Rust Blog
Empowering everyone to build reliable and efficient software.
36211
JMS55 @jms5517.bsky.social · 12/09/2026
Out of curiosity, what were you using before WebGPU/wgpu(?)
110
JMS55 @jms5517.bsky.social · 03/09/2026
E.g. for materials NVIDIA published research.nvidia.com/labs/rtr/pub..., for going from generative video model -> neural BRDF.
research.nvidia.com
VideoNeuMat: Neural Material Extraction from Generative Video Models | NVIDIA Real-Time Graphics Research
<p>Creating photorealistic materials for 3D rendering requires exceptional artistic skill. Generative models for materials could help, but are currently limited by the lack of high-quality training da...
010
JMS55 @jms5517.bsky.social · 03/09/2026
Not sure I agree. If tetxures are the issue, ok we can use generative AI, but why not generate them offline? If materials/SSS are the issue, why not train a neural BRDF to match the generated reference? If lighting is the issue... well, pathtracing is ground truth, maybe we need to work on sampling.
110
JMS55 @jms5517.bsky.social · 31/08/2026
We can simplify things, because modern hardware has gotten simpler and more unified across vendors. So a lot of the old API surface is no longer really needed to support the different feature sets.
100
JMS55 @jms5517.bsky.social · 31/08/2026
Sorta yes, but also GPUs _used_ to be more complex. There were generally differences between uniform/storage buffers, but nowadays (afaik) it's all just memory. Descriptor sets made sense when hardware had fixed resource slots, but nowadays it's all just pointers to resources.
130
JMS55 @jms5517.bsky.social · 29/08/2026
jms55.github.io/posts/2026-0...
1287
Reposted by JMS55
Christoph Kubisch @pixeljetstream.bsky.social · 29/08/2026
New release of Mega Geometry SDK now with a textured version of the Zorah scene (gltf + ktx2 70 GB). Lots of great work by Calvin Hsu. RTXMG (now with ported lod system) github.com/NVIDIA-RTX/R... VK r&d sample: github.com/nvpro-sample...
Rendering of a classical building with intricate geometric detail. Leaves in foreground that are geometry. Outside the viewport are ui elements with lots of statistics and controls
1164
JMS55 @jms5517.bsky.social · 27/08/2026
It looks great! Any interesting details you can share?
110
JMS55 @jms5517.bsky.social · 26/08/2026
Wow that first shot looks good! Is it all baked lighting, or?
100
JMS55 @jms5517.bsky.social · 25/08/2026
DLSS-RR 4.5/F is _awesome_. Really good job! It actually makes my ReSTIR correlation artifacts worse, because it's so much better at picking up detail xD.
030
JMS55 @jms5517.bsky.social · 25/08/2026
I don't resample in world space, but I do cache irradiance. It means even raw 1 path/pixel output is fairly good. Without ReSTIR we lose some indirect shadows though, because the first bounce is really the most important. I'm looking into ways of solving this cheaply.
010
Reposted by JMS55
Matthias Ott @matthiasott.com · 22/08/2026
@andremichelle.bsky.social “OpenDAW is an impressive undertaking from André Michelle, and I hope to see it go from strength to strength.” Whoop whoop! 😉🙌https://bedroomproducersblog.com/2026/08/22/opendaw-review/
bedroomproducersblog.com
OpenDAW: A FREE browser-based DAW hoping to democratize music production
OpenDAW isn’t the first DAW to claim free, open-source, and browser-based status, but it might be the most ambitious. OpenDAW aims to bring professional music production tools to the masses at no cost...
49214
JMS55 @jms5517.bsky.social · 22/08/2026
I did some investigation, and even on high end PCs, testing shows: we don't really need ReSTIR! I'm doubling performance, for some minor loss of small shadow detail I can probably recover with further work. github.com/bevyengine/b...
github.com
Solari v8: Disable ReSTIR by default by JMS55 · Pull Request #25513 · bevyengine/bevy
Objective Denoisers are already spatial and temporal reuse. Do we need ReSTIR? Testing shows, not really! For direct lighting, plain RIS is already pretty good (and I plan on adding ReGIR), and fo...
030
JMS55 @jms5517.bsky.social · 17/08/2026
So you can get pretty decent 1 path/pixel quality even without ReSTIR on top. And there's plenty of cheap ways of further guiding rays I haven't yet explored. So, do we really need spatiotemporal reuse?
210
JMS55 @jms5517.bsky.social · 17/08/2026
Also one last thing, I already have a world cache for terminating paths after 1-2 bounces (max is 3 bounces for mirrors). So my GI signal is already pretty good. And for DI, there's tons of ~cheap ways to improve sampling like ReGIR that I'm exploring.
100
JMS55 @jms5517.bsky.social · 17/08/2026
I'm tempted to work on my own denoiser (lots of details on how to do that published recently!, e.g. gpuopen.com/download/I3D... and community.arm.com/cfs-file/__k...) that outputs a confidence heuristic we can use to feed back into "which pixels should get more samples next frame.
130
JMS55 @jms5517.bsky.social · 17/08/2026
After all, a denoiser is _already_ a form of spatial and temporal reuse. Why not skip ReSTIR?
gpuopen.com
120
JMS55 @jms5517.bsky.social · 17/08/2026
This would save a _ton_ of performance (4 rays/pixel), and entirely stepside the correlation artifacts I've been dealing with, and honestly a lot of tricky math that makes it easy to accidentally introduce bias.
100
JMS55 @jms5517.bsky.social · 17/08/2026
DLSS-RR handles sparse diffuse GI, and even noisy DI pretty well (hence people doing half res, quarter res, or variable rate RT), and I don't resample specular GI anyways, so why not just skip ReSTIR altogether?
101
JMS55 @jms5517.bsky.social · 17/08/2026
This ties into some thoughts I've been having lately - do we even need ReSTIR? In bevy_solari (my pathtracer), I don't resample sharp specular lobes since hybrid shift is expensive.
100
JMS55 @jms5517.bsky.social · 16/08/2026
I think bluesky killed the bitrate, but you can see the original here: github.com/bevyengine/b...
020
JMS55 @jms5517.bsky.social · 16/08/2026
Improved reflection denoising!
2190
JMS55 @jms5517.bsky.social · 14/08/2026
Improved PSR vs improved PSR with extra paths (costs perf) vs main PSR = developer.nvidia.com/blog/renderi...
080
JMS55 @jms5517.bsky.social · 11/08/2026
Working on improving reflection denoising
0393
Reposted by JMS55
Carter Anderson @cart.work · 10/08/2026
Today is Bevy's sixth birthday! As always, I've used this as a chance to reflect on the past year and outline my hopes and dreams for the next year of #bevy: bevy.org/news/bevys-s...
bevy.org
Bevy's Sixth Birthday
Hey! @cart here (Bevy's creator and Project Lead). It is crazy to say it, but Bevy is six years old now! As is tradition, I will take this as a chance…
110725
JMS55 @jms5517.bsky.social · 07/08/2026
I haven't watched the video yet, but we're hoping to improve this in the future! Our Material API is pretty low level at the moment; we need higher level abstractions for common tasks.
110
JMS55 @jms5517.bsky.social · 05/08/2026
Does the reduction in memory lead to reduction in pass/frame timings, or are you still bottlenecked by the raytraces themselves? If it does lead to a reduction in frame time, perhaps this kind of optimization only matters for really high detail geometry that you would be using CLASs for.
100
JMS55 @jms5517.bsky.social · 05/08/2026
I did some experiments (on a RTX 3080/5080) with trying to average material data, using position fetch, approximate normals from the positions, etc, but iirc it didn't really change anything, as the bottleneck was always just the actual ray tracing, occupancy, and to a lesser extend light sampling.
000
JMS55 @jms5517.bsky.social · 05/08/2026
Ooh, can you say more on this? In my experience with non-CLAS pathtracing, it's quite difficult to rely only on positions. You often need vertex UVs/material data, and the bottleneck is not really bandwidth for loading vertex/material data, but register usage from that, and the actual RT perf.
201
Reposted by JMS55
ceruleite.bsky.social @ceruleite.bsky.social · 03/08/2026
Slides for SIGGRAPH 2026 Advances in Real-Time Rendering in Games course's talk on SPEEDING UP PATH TRACING VIA ORCA (ONLINE RADIANCE CACHE ACCELERATION) by @jontology2.bsky.social from EA SEED are now online - enjoy!! advances.realtimerendering.com/s2026/index....
14217
Reposted by JMS55
ceruleite.bsky.social @ceruleite.bsky.social · 03/08/2026
Slides for SIGGRAPH 2026 Advances in Real-Time Rendering in Games course's talk on SMOLDER — REAL-TIME VOLUMETRIC EFFECT RENDERING IN GLACIER AND 007 FIRST LIGHT by @lexdev.net from IO Interactive are now online - enjoy!! advances.realtimerendering.com/s2026/index....
05419
JMS55 @jms5517.bsky.social · 31/07/2026
Very cool! Suggestion: For the typing attack, have different sentences, with each sentence falling down in a different pattern.
110
JMS55 @jms5517.bsky.social · 24/07/2026
Looks like Unity implemented a very similar technique to my world cache implementation :) (which itself takes from many other papers) docs.google.com/document/d/1...
docs.google.com
Unity Surface Cache GI - Getting Started
Unity Surface Cache GI - Getting Started We're thrilled to give you a first look at Surface Cache GI, our first step towards delivering robust, fully dynamic Global Illumination in Unity! This featur...
0212
Reposted by JMS55
Ben Beilharz @engramm.ing · 20/07/2026
We actually get to witness Nvidia open sourcing their Neural Appearance Models in this lifetime. Thanks for finally dropping the guesswork reimplementing all of that. github.com/NVlabs/neura... Their new SIGGRAPH is also out: research.nvidia.com/labs/rtr/pub...
github.com
GitHub - NVlabs/neuralappearance
Contribute to NVlabs/neuralappearance development by creating an account on GitHub.
0114
JMS55 @jms5517.bsky.social · 15/07/2026
Out of curiosity, is this raster or RT focused? Both? I've never done volumetrics, so curious where this sits!
100
Reposted by JMS55
ceruleite.bsky.social @ceruleite.bsky.social · 15/07/2026
2026 Advances in Real-Time Rendering in Games course line up is here - check it out! advances.realtimerendering.com
16127
JMS55 @jms5517.bsky.social · 15/07/2026
"Speeding up Path Tracing via ORCA (Online Radiance Cache Acceleration)" sounds very exciting!
010