Ultra-fast Screen-Space Refractions and Caustics via Newton’s Method jcgt.org/published/00...
Posts by Helmut Garstenauer
In this video series, the team and I dive into some of the tech behind Assassin’s Creed Shadows, and what powers the Anvil engine.
We cover Atmos, Large-Scale Rendering, Micropolygon, and Ray Tracing.
#Anvil #AssassinsCreed #AssassinsCreedShadows
www.youtube.com/playlist?lis...
INTRODUCTION TO SPHERICAL HARMONICS FOR GRAPHICS PROGRAMMERS
finally done.
gpfault.net/posts/sph.html
The #WebGPU AVBD-based physics engine is now live!
Webphysics Live Demo: jure.github.io/webphysics/
Code: github.com/jure/webphys...
image showing demo tracker in use, in an obvious case where one program is using more GPU than the machine has.
I am not sure I can overstate how useful this tool is. Not sure if your game is paging out GPU-memory to system-memory? Well now you know :)
github.com/jonasmr/demo...
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...
Ah, @xordev.com ported my erosion filter to Shadertoy alternative fragcoord.xyz, where all the parameters can be conveniently tweaked with sliders instead of having to edit code values and recompile.
My erosion filter is out! Video, blog post, and shader source.
It emulates erosion without simulation, so it's fast, GPU friendly, and trivial to generate in chunks.
Explainer video:
www.youtube.com/watch?v=r4V2...
Companion blog post:
blog.runevision.com/2026/03/fast...
#ProcGen #vfx #GameDev
I just released an article how to do that on property and container level. It tries to cover both the low level bits and the UI. It's one of those problems that have to be worked as a whole.
github.com/memononen/da...
Here's a write-up of my investigations into a technique called "Inertial Easing" - an interesting idea on how to use easing functions for spring-damper-like applications.
theorangeduck.com/page/inertia...
I spent some of this week making an I/O system for level scripting in Unreal for @sleightofhand.game! I have long had thoughts on why these kick ass. Here's an unusually long blog post on:
-why these kick ass
-why they are necessary
-how mine works
-etc etc
www.joewintergreen.com/i-o-systems-...
Experimental: PickyPalette — a color picker that shows you the weight of each color as you build your palette.
See how much space a color claims. Every color fights for its territory in the color space. So you know exactly how dominant or subtle your pick is. WDYT?
meodai.github.io/color-palett...
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-...
My MLPZen project comes with a sample showing a simple neural texture compression (NTC). You don't need a complex vendor-locked SDK with proprietary extensions to start experimenting with NTC for your game. This project is pure DirectX 12/HLSL. Github: github.com/boksajak/MLP...
2 more Nanite Tessellation posts are up. graphicrants.blogspot.com/2026/02/nani...,
graphicrants.blogspot.com/2026/03/vari...
The nicest article about JPEG compression, by @sophielwang.bsky.social The moment there are color stats involved, I’m in.
It’s so well done it makes me think we need some kind of online library where articles like this get preserved.
www.sophielwang.com/blog/jpeg
Path traced volume of a bunny
Path traced volume of a bunny with an emissive center
Path traced volume of a bunny
Path traced living room with a homogeneous fog volume
GPU Tracing Participating Media
alextardif.com/Participatin...
Just some HLSL this time :-) Not a long form post, I've been reading PBR and maybe this will be helpful to share!
Qaws (قوس) Arabic for *arc*, *bow*, *curve*. A dependency-free C11
library for creating, evaluating, sampling, traversing, and inspecting
parametric curves and surfaces in 2D and 3D.
A dependency-free C11 library for parametric curves and surfaces in 2D/3D.
1/13
So it turns out I've misunderstood and therefore sometimes been misusing ISO on my cameras for the entire time I've been using cameras, and since how I was taught is very common, I'm willing to bet there's a good chance you misunderstand too:
www.youtube.com/watch?v=ZWSv...
My team just open-sourced our internal implementation of the OpenPBR BSDF from our path tracer: github.com/adobe/openpb...
Excited to share our new work at CVPR 2026: Learning Convex Decomposition via Feature Fields.
We introduce the first feedforward openworld model that generates high-quality convex decompositions for any 3D shapes in seconds, enabling faster simulation.
Project: research.nvidia.com/labs/sil/pro...
We have a new 3D AVBD Web Demo for our "Augmented Vertex Block Descent" method. Thanks, Chris Giles!
Try it yourself:
graphics.cs.utah.edu/research/pro...
Source code available.
Screenshot showing skin with micro-occlusion at the top, and micro-shadowing below.
I finally wrapped up the second post on the series about micro-shadowing. On this one I go over a basic approach based on a microsurface, and I show results for different materials and lighting conditions.
irradiance.ca/posts/micros...
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
Continuing the adventures in neural networks, investigating how they can be hardware accelerated using Cooperative Vectors in HLSL, achieving impressive speedups. interplayoflight.wordpress.com/2026/02/21/a...
Using ReSTIR to importance sample the brightest pixels on an image
www.shadertoy.com/view/XfycWw