JMS55
@jms5517.bsky.social
📤 340
📥 32
📝 194
Working on rendering for the Bevy game engine. Long form blog at
https://jms55.github.io
.
reposted by
JMS55
Yining Karl Li
1 day ago
In this thread: three cool rendering papers that DisneyResearch|Studios is publishing at EGSR this week. The authors of these papers are peers that I get the privilege of working closely with frequently, and these are projects I've been excited to watch develop! (1/17)
1
34
13
reposted by
JMS55
Alan Wolfe
2 days ago
What To Learn To Be A Real Time graphics Programmer
blog.demofox.org/2026/07/01/w...
I wrote this up over lunch and it's surprisingly popular so sharing over here too.
5
96
32
The major v7 rewrite of Bevy Solari is complete! Much more unbiased, less light leaks, and greater reflection quality. Community reviews welcome!
github.com/bevyengine/b...
6 days ago
0
66
7
reposted by
JMS55
Yining Karl Li
7 days ago
From a technical angle, the nifty thing about this short is that it's a mix of hand-drawn 2D animation and 2D-styled CG animation rendered using Disney's Hyperion Renderer, but you can't tell at all which is which. Our artists knocked it out of the park; it's completely seamless.
1
18
7
reposted by
JMS55
Bevy
14 days ago
Bevy 0.19 is out now! It features Next Generation Scenes, Render Bigger Scenes Faster, Contact Shadows, More Feathers Widgets, Text Input, Richer Text, App Settings, Post Processing Effects, Improved Skinned Mesh Culling, and more!
bevy.org/news/bevy-0-19
loading . . .
Bevy 0.19
Thanks to 261 contributors, 1185 pull requests, community reviewers, and our generous donors, we're happy to announce the Bevy 0.19 release on crates.…
https://bevy.org/news/bevy-0-19
6
337
139
reposted by
JMS55
JCGT announcements
16 days ago
The 2025 paper "EON: A practical energy-preserving rough diffuse BRDF” was updated with an appendix that provides an albedo inversion formula, as well as two other small enhancements.
jcgt.org/published/00...
loading . . .
https://jcgt.org/published/0014/01/06/
0
15
3
Work on Bevy Solari continues! I've been working on a unified ReSTIR-PT-ish (no hybrid shift, just reconnection) architecture that does DI+GI and diffuse+specular all in one pass, instead of the 3 separate ReSTIR DI / ReSTIR GI / Specular GI passes I used to have.
about 1 month ago
1
38
1
reposted by
JMS55
Tzu-Mao Li
about 2 months ago
iveevi.github.io/rcgp/
Check out Venkat's work on a new graphics programming language on statically enforcing correctness of heterogeneous graphics programs (e.g., resources declared on host must match shaders at compile time). The compiler is open sourced and let us know if you have any comment!
0
14
4
reposted by
JMS55
Tomasz Stachowiak
about 2 months ago
It was (initially) mostly about efficiently using the API - TG used OpenGL at the start, so our binding model was a huge anti-pattern in Vulkan (and thus Metal). The new backend uses descriptor sets as a first-class feature, deduplicates state changes, and does less bookkeeping of object lifetimes.
1
27
3
reposted by
JMS55
Yining Karl Li
about 2 months ago
There's a neat short paper from Eurographics this year that evaluates how well microfacet shading models actually predict measured reflectance. The answer is: not nearly as well as one would hope! (1/3)
ssteinberg.xyz/2026_surface...
3
80
20
reposted by
JMS55
AMD GPUOpen
about 2 months ago
AMD is partnering with Samsung to develop a multivendor DGF extension for Vulkan! Dense Geometry Format (DGF) is AMD's open standard: 🧊 Block-based geometry compression for ray tracing. 🔓 Open-source toolchain & Vulkan extension. Read more ⬇️
gpuopen.com/learn/amd-dg...
loading . . .
AMD DGF: An Open Geometry Compression Standard - AMD GPUOpen
AMD is partnering with Samsung on a multivendor Vulkan extension for Dense Geometry Format (DGF) to help enable dramatically smaller geometry, reduced memory/latency for ray-traced real‑time 3D, and e...
https://gpuopen.com/learn/amd-dgf-an-open-geometry-compression-standard/?utm_source=bluesky&utm_medium=social&utm_campaign=dgf
1
21
6
reposted by
JMS55
Patrick Walton
2 months ago
Can't believe it's 2026 and we're having to disable GPU occlusion culling on flagship Google phones due to driver bugs. Pretty ridiculous.
github.com/bevyengine/b...
loading . . .
Limit Pixel 10 to GPU preprocessing without GPU culling by SkiFire13 · Pull Request #24101 · bevyengine/bevy
Objective Workaround for Bevy crashes on Google Pixel 10 #23754 until we find the actual issue or Google fixes its driver Solution Limit Pixel 10 to GPU preprocessing without GPU culling Testin...
https://github.com/bevyengine/bevy/pull/24101
5
24
3
DLSS-RR is kind of magic (quarter-res lighting)
2 months ago
1
17
0
reposted by
JMS55
mamoniem, et al. 🌹♠️🦷🌿
3 months ago
Behind the pretty frames of
#PRAGMATA
. Breaking down many tricks and hidden gems of the renderer behind CAPCOM's RE Engine. i hope you enjoy & find this few months worth of freetime article useful...
mamoniem.com/behind-the-p...
0
87
25
Bevy 0.19 is releasing soon, which means it's time for a blog post!
jms55.github.io/posts/2026-0...
3 months ago
0
63
7
reposted by
JMS55
Arseny Kapoulkine
3 months ago
meshoptimizer 1.1 is out!
github.com/zeux/meshopt...
Featuring two new major features, meshlet topology compression and opacity micromaps, as well as a few smaller features and improvements! More information in the infographic and release above :) Boosts and repository stars are welcome!
5
104
35
A little different than my usual writing, but I've written a blog post about our usage of Bevy/egui/Rust at Nominal, the company I work at. Give it a read!
nominal.io/blog/nominal...
loading . . .
Nominal Connect: Shipping Realtime Desktop Software With Rust, Bevy, and egui
A one year retrospective on the technology behind Nominal Connect.
https://nominal.io/blog/nominal-connect-shipping-realtime-desktop-software-with-rust-bevy-and-egui
4 months ago
3
34
5
reposted by
JMS55
Jondolf
4 months ago
I just released version 0.6 of Avian, an ECS-driven physics engine for
@bevy.org
.
#physics
#gamedev
v0.6 features move-and-slide, joint motors, and an overhauled broad phase using BVHs, resulting in massively reduced overhead for scenes with a large number of colliders.
joonaa.dev/blog/12/avia...
loading . . .
Avian Physics 0.6 - Joona Aalto
Move-and-slide, joint motors, and BVH optimization
https://joonaa.dev/blog/12/avian-0-6
2
141
27
reposted by
JMS55
Brian Karis
4 months ago
2 more Nanite Tessellation posts are up.
graphicrants.blogspot.com/2026/02/nani...
,
graphicrants.blogspot.com/2026/03/vari...
loading . . .
Nanite + Reyes
Let's get into the details of how this integrates with Nanite. We aren’t replacing anything Nanite already does. Nothing is changed about th...
https://graphicrants.blogspot.com/2026/02/nanite-reyes.html
2
79
29
reposted by
JMS55
Nathan Reed
4 months ago
My team just open-sourced our internal implementation of the OpenPBR BSDF from our path tracer:
github.com/adobe/openpb...
loading . . .
GitHub - adobe/openpbr-bsdf: Adobe's reference implementation of the OpenPBR BSDF
Adobe's reference implementation of the OpenPBR BSDF - adobe/openpbr-bsdf
https://github.com/adobe/openpbr-bsdf
0
26
7
reposted by
JMS55
MAK
4 months ago
Real-time Rendering with a Neural Irradiance Volume Delivering fast inference (~1ms/frame), a tiny memory footprint (1-5MB), 10x quality gains over probe-based methods @ equivalent mem budgets, bringing neural rendering within reach of consumer hardware without RT or denoising.
arnocoomans.be/eg2026
loading . . .
3
59
16
Update on
bsky.app/profile/jms5...
: Turns out my code was bugged, and I never actually wrote to the cache... Fixing that reveals that the whole scheme was wrong anyways - conditionally replacing cache cells with RIS outputs does not give an unbiased/correct output.
add a skeleton here at some point
4 months ago
1
12
1
Anyone have examples of Material APIs they like in an engine, or links to good talks on this topic? Right now Bevy materials let you reuse host code (texture/buffer bindings), but customizing the default material is essentially "go to github and copy paste the entire shader". Not very modular.
4 months ago
1
8
2
reposted by
JMS55
The Forge Interactive
4 months ago
🚀 Unleash your creativity with GPU Zen 4! 📖 Dive into cutting-edge techniques from industry experts to tackle complex graphics challenges and elevate your projects. Available now on Amazon! 📔 Standard Edition:
a.co/d/0cvhJuSU
⭐️ Deluxe Edition:
a.co/d/07t0MZGz
#GPUZen
#GameDev
0
22
9
🧵 I've been experimenting with caching the best lights in world space to improve NEE sampling. Inspired by ReGIR, MegaLights, and
www.yiningkarlli.com/projects/cac...
.
4 months ago
1
48
8
reposted by
JMS55
Ignacio Castano
5 months ago
I've put together an updated version of the Sponza scene with uncompressed PNG and compressed AVIF textures. I wrote about the process and compared the results against KTX.
www.ludicon.com/castano/blog...
#webgpu
#web3d
#sparkjs
loading . . .
An Updated Sponza glTF – Ignacio Castaño
https://www.ludicon.com/castano/blog/2026/02/an-updated-sponza-gltf/
3
13
3
reposted by
JMS55
Brian Karis
5 months ago
I'm finally writing up how Nanite Tessellation works. The first few blogs posts are up. More will be coming.
graphicrants.blogspot.com/2026/02/nani...
loading . . .
Nanite Tessellation
Nanite Tessellation, aka Nanite Dynamic Tessellation, aka Nanite Dynamic Displacement was the next major feature I worked on after Nanite it...
https://graphicrants.blogspot.com/2026/02/nanite-tessellation.html
1
163
51
reposted by
JMS55
Jure Triglav
5 months ago
New post on how to do real-time diffuse global illumination using surfels and
#WebGPU
:
juretriglav.si/surfel-based...
#threejs
loading . . .
1
170
31
Ok, so I'm completely stuck trying to debug this. Left is pathtraced reference, right is my realtime renderer. Top row are metals, bottom row are dielectrics, and roughness goes from 0 to 1 left to right.
6 months ago
1
19
2
reposted by
JMS55
Bevy
6 months ago
Bevy 0.18 is out now! It features Atmosphere Occlusion and PBR Shading, Generalized Atmospheric Scattering Media, Solari features, PBR Fixes, Font Variations, Automatic Directional Navigation, Fullscreen Materials, Cargo Feature Collections, Camera Controllers, and more!
bevy.org/news/bevy-0-...
loading . . .
Bevy 0.18
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
https://bevy.org/news/bevy-0-18/
2
182
75
reposted by
JMS55
Kostas Anagnostou
6 months ago
Optimizing spatiotemporal variance-guided filtering for modern GPU architectures
jcgt.org/published/00...
loading . . .
https://jcgt.org/published/0015/01/02/
0
26
9
Light leaks are driving me crazy. World space irradiance cache using spatial hashing. Does anyone have tips to prevent them? Usually happens when ray_t < cell_size, but I haven't found a good way to deal with it. Shrinking the cell size is way too expensive.
6 months ago
1
10
0
reposted by
JMS55
charlotte 🌸
6 months ago
just published an experimental crate for doing cuda interop with
@bevy.org
github.com/tychedelia/b...
loading . . .
1
29
7
Many-lights (100) stress test (not super usable yet, much less with 1000 lights)
6 months ago
1
35
4
New post! "Realtime Raytracing in Bevy 0.18 (Solari)"
jms55.github.io/posts/2025-1...
6 months ago
0
62
12
reposted by
JMS55
Omar
6 months ago
Dear ImGui now embeds a vector/scalable version of the classic font by default, manually subsetted/optimized so it fits in 18 KB (opt-out possible). Embedding ensures easily and readily usable in all contexts. Should default to new one on most setups. Here's a compare of both.
#ChristmasMiracle
loading . . .
10
179
20
reposted by
JMS55
Sebastian Aaltonen
7 months ago
My "No Graphics API" blog post is live! Please repost :)
www.sebastianaaltonen.com/blog/no-grap...
I spend 1.5 years doing this. Full rewrite last summer and another partial rewrite last month. As Hemingway said: "First draft of everything is always shit".
loading . . .
No Graphics API — Sebastian Aaltonen
Graphics APIs and shader languages have significantly increased in complexity over the past decade. It’s time to start discussing how to strip down the abstractions to simplify development, improve pe...
https://www.sebastianaaltonen.com/blog/no-graphics-api
19
472
206
reposted by
JMS55
Panagiotis Christopoulos-Charitos / AnKi 3D engine
7 months ago
Blog post: Cheap ray-tracing using only acceleration structures. No ray pipelines, no shader binding tables, no textures.
anki3d.org/minimalist-r...
loading . . .
Minimalist ray-tracing leveraging only acceleration structures
AnKi has had ray-tracing support for quite some time. Beyond managing acceleration structures, the engine uses VK_KHR_ray_tracing_pipeline/DXR 1.0 for shadows (soon deprecated), indirect diffuse, a…
https://anki3d.org/minimalist-ray-tracing-leveraging-only-acceleration-structures/
2
49
9
Solari is looking pretty good after the latest round of changes! Realtime vs pathtraced reference
7 months ago
1
26
0
Real life has kept me from posting, but I've still been hard at work on Bevy Solari! It now supports specular materials, and has a _way_ improved world cache! Realtime vs pathtraced reference
7 months ago
2
47
5
reposted by
JMS55
Philip Hammer
9 months ago
Very excited to present a few interesting bits about the rendering of
#DOOM
: The Dark Ages together with
@domlaz.bsky.social
and
@martinfuller.bsky.social
. If you happen to attend
#GPC2025
next month, feel free to say hello!
1
52
9
reposted by
JMS55
Bevy
9 months ago
Bevy 0.17 is out now! It features Raytracing, Improved Observers / Events, UI Widgets, Rust Hotpatching, Light Textures, DLSS, Tilemap Chunks, Web Assets, Reflect Auto-Registration, UI Gradients, Raymarched Atmosphere, Virtual Geometry BVH Culling, and more!
bevy.org/news/bevy-0-17
loading . . .
Bevy 0.17
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
https://bevy.org/news/bevy-0-17
4
225
86
reposted by
JMS55
Arseny Kapoulkine
9 months ago
New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Reposts welcome!
zeux.io/2025/09/30/b...
1
167
59
reposted by
JMS55
AMD GPUOpen
9 months ago
Exciting news for developers working with our AMD DGF geometry compression technology! 🗜️ The DGF SDK has been updated with a new animation-aware encoding pipeline, bug fixes, and improvements. 👉 Learn more and download:
gpuopen.com/learn/animat...
loading . . .
Animating geometry with AMD DGF - AMD GPUOpen
The AMD DGF SDK has been updated with improvements and new features, including the addition of an animation-aware encoding pipeline.
https://gpuopen.com/learn/animating-geometry-with-amd-dgf/?utm_source=twitter&utm_medium=social&utm_campaign=dgf
0
6
3
New blog post: "Realtime Raytracing in Bevy 0.17 (Solari)"
jms55.github.io/posts/2025-0...
10 months ago
0
74
19
New blog post: "Bevy's Fifth Birthday - Progress and Production Readiness"
jms55.github.io/posts/2025-0...
loading . . .
JMS55's Blog
https://jms55.github.io/tags/virtual-geometry/
10 months ago
0
24
5
reposted by
JMS55
10 months ago
Slides from my SIGGRAPH 2025 and CEDEC 2025 talks “Fast as Hell: idTech 8 Global Illumination”, are now publicly available through the Advances in Real-Time Rendering in Games course. Lecture recordings will be available soon on the course's YouTube channel.
add a skeleton here at some point
1
99
27
reposted by
JMS55
Arseny Kapoulkine
11 months ago
meshoptimizer v0.25 is out! Featuring new simplification function that optimizes positions and attributes for appearance, experimental permissive mode to simplify faceted regions with selective seam preservation, regularization option for improved tessellation quality and deformation, multiple ...
3
62
21
reposted by
JMS55
Karl
11 months ago
New tutorial blog post! Environment and Light in Godot: Setting Up For Photorealistic 3D Graphics
hexaquo.at/pages/enviro...
I've been meaning to write this for a while, both as an overview over Godot's Environment, and as an entry point to realistic 3D graphics.
#godot
#gamedev
1
32
6
Realtime raytraced DI/GI
11 months ago
2
28
2
Load more
feeds!
log in