Cody Bennett

1.9K posts

Cody Bennett

Cody Bennett

@CodyBennett

@pmndrs, @threejs | Mathematician, Physicist | Graphics, Games, Cats

Stockholm, Sweden Katılım Nisan 2021
8 Takip Edilen3.6K Takipçiler
Ademola
Ademola@Ademola_4life·
@CodyBennett Amazing! Im curious what the octahedral mapping decoder looks like
English
1
0
0
22
Cody Bennett
Cody Bennett@CodyBennett·
@garrettkjohnson So, I think it's useful to have a builder discern whether it's being used for coherent rays (primary view, physics/gameplay) or incoherent rays (secondary, stochastic/path-tracing). A combination of 4-way and CWBVH should do well. Would need to further research for TLAS also.
English
0
0
0
91
Cody Bennett
Cody Bennett@CodyBennett·
@garrettkjohnson For reference, it would look something like this. Identical to 2D with direction-major storage, except using octahedral-encoded rays and depth-aware upscaling for the extra z component. I also do a 1px trace during composite so it resolves to 1px accuracy. shadertoy.com/view/ffl3Rf
Cody Bennett tweet media
English
1
0
1
212
Matt
Matt@MrCollison·
@CodyBennett @majidmanzarpour @threejs @garrettkjohnson My intuition exactly. Also, I wondered what it meant when I saw "external example"! I will find a way to publish it, portability is gonna be the biggest challenge so just example scenes to start with. Do you know of any big outdoor+indoor scenes to stress test with? Even paid?
English
1
0
0
53
Cody Bennett retweetledi
Matt
Matt@MrCollison·
idTech 8 style Global Illumination (FAST AS HELL) in @threejs (via WebGPU) I've worked on this for 5 weeks (on and off) and it's still not there, but all the core tenets work. Next more denoising + better temporal accumulation, and some larger scale examples. (Running at 4K)
English
20
49
616
76.8K
Cody Bennett
Cody Bennett@CodyBennett·
@SheriefFYI @minitbnn Decals, screen-space mesh blending, and anything evaluating a BRDF, e.g., SSR. All rely on primary visibility and naturally benefit from a gbuffer. Many world-space GI not only use some sort of screen-space AO for missing detail (foliage, high freq) but guiding or small traces.
English
0
0
1
48
Sherief, FYI
Sherief, FYI@SheriefFYI·
@minitbnn what post effects need full g-buffers versus just color, depth, and motion vectors?
English
2
0
1
502
Sherief, FYI
Sherief, FYI@SheriefFYI·
one of my hottest takes is that deferred rendering's benefits flip sharply once you cross a certain resolution threshold as bandwidth consumption begins to choke your performance and games should have explored things like clustered forward rendering as we approach 4K.
English
14
2
102
10K
Cody Bennett
Cody Bennett@CodyBennett·
@MrCollison @threejs How do you mitigate leaking of irradiance volumes, or is it not much of an issue with DDGI-like visibility? Maybe something for Tiago but was a Surfels-like caching method or "Radiance Caching with On-Surface Caches for Real-Time Global Illumination" explored or left due to time?
Cody Bennett tweet media
English
1
0
2
515
Cody Bennett
Cody Bennett@CodyBennett·
@MrCollison @majidmanzarpour @threejs I don't think this would be tenable for Three.js to maintain as an example but rather as something external. If you publish it somehow, Three.js has incorporated external examples lately such as @garrettkjohnson's work. Or better, perhaps it could be showcased on the website.
English
1
0
3
89
Matt
Matt@MrCollison·
@majidmanzarpour @threejs Thanks Majid! I'll open source it in due course - I wanna make sure it works across a range of scenarios so people can just plug + play I'd submit a PR to @threejs but it's raw wgsl in several passes + files to piece it together, so it may be too bloated for an official example
Matt tweet media
English
1
0
14
891
Cody Bennett retweetledi
Matt
Matt@MrCollison·
This scene shows both GI & raytraced reflections clearly. It's also great for debugging noise because it's fairly flat and uses only one directional light. This scene would be basically unlit without GI, yet look at the indirect light below the fridge & the counter reflections!
Matt@MrCollison

idTech 8 style Global Illumination (FAST AS HELL) in @threejs (via WebGPU) I've worked on this for 5 weeks (on and off) and it's still not there, but all the core tenets work. Next more denoising + better temporal accumulation, and some larger scale examples. (Running at 4K)

English
3
7
136
12.3K
Cody Bennett
Cody Bennett@CodyBennett·
@dangreenheck I have implementations of their later work, and it's difficult since the presentations leave much out on lighting, and most online references are on Horizon: Zero Dawn, including the chapter. I think a physical basis like RDR2 or Unreal would go further. x.com/Cody_J_Bennett…
Cody Bennett@CodyBennett

Implementing the vertical profile of Nubis/Horizon Forbidden West volumetric clouds with a ground bounce added to the atmosphere (no atmospheric perspective). Starting to play with the noise composite. First two are the typical Perlin-Worley, last two are with alligator for wisps.

English
0
2
6
445
Dan Greenheck
Dan Greenheck@dangreenheck·
I wanted to share an update on Three.js Sky Pro development for those of you wondering why I haven't launched it yet. tl;dr: clouds are hard. For the past few weeks, I've been trying to replicate the results of the cloud systems developed by Andrew Schneider and team as Guerrilla Games for the Horizon: Zero Dawn games. This is basically the state of the art for real-time clouds. Unfortunately, I have been unable to replicate the results, despite poring over the papers, talk notes and book chapters on the topic. I can get close, but there's a lot of special sauce that isn't shared in the resources. This special sauce is what separates okay-looking clouds from "blow your socks off" clouds. I'm not going to sell something that I think sucks. My name and reputation is attached to it, and I have no interest in being known as the guy that made "okay" clouds. So I'm going to take everything I've learned and try building my own solution. I have no idea how long it will take. I have no idea if I'll be successful. But I'm excited to give this tough problem a go. Apologies if you're waiting on this, but I promise the end result will be worth the wait!
English
14
0
75
5.7K
Cody Bennett
Cody Bennett@CodyBennett·
@garrettkjohnson They are slower to trace, but faster to update is a big one. I have been slowly working on a conservative error metric for offscreen LOD selection too rather than just clipmaps and hoping shadow casters aren't prominent enough (distance from camera not conservative anymore!).
English
1
0
2
97
Garrett Johnson
Garrett Johnson@garrettkjohnson·
Unsurprisingly, keeping all meshes in a TLAS has a severe path tracer perf impact when there are lots of overlapping bounds - slower than the WebGL version with merged geometry in some cases! These images show the ray traversal cost from a 46 mesh TLAS vs pre-merged geometry.
Garrett Johnson tweet mediaGarrett Johnson tweet media
English
1
1
18
9.5K
Cody Bennett
Cody Bennett@CodyBennett·
@garrettkjohnson With Radiance Cascades, I found that a BVH2 is better than CWBVH for BLAS, as structured rays are directionally and spatially coherent. I don't see much on this online, as this would be roughly equivalent to optimizing BVH for primary visibility, which would compete with raster.
English
1
0
0
127
Cody Bennett
Cody Bennett@CodyBennett·
@garrettkjohnson Was just thinking of this after implementing CWBVH + H-PLOC. I precompute CWBVH to BLAS for my clustered ray tracer but don't stream them like I do for my rasterizer (two different DAGs). Awkwardly, I cannot specify up front for HWRT with a streaming scheme.
English
1
0
1
273
Cody Bennett
Cody Bennett@CodyBennett·
@MrCollison @kvickart @threejs This is not good. Unreal Engine is not permissively licensed, to the point where I will not look at its source code. DDGI is well understood and not complicated to implement, except maybe depth moments. Just do that or even look on to Godot's documentation on SDFGI based on DDGI.
English
1
0
3
66
Matt
Matt@MrCollison·
@kvickart @threejs I'm half wondering if Fable could - if I also pointed it to the unreal source (not sure I'm even allowed to do that) But even reading the UE source code on GitHub and handholding Opus has been hours across 3 nights to even get this far
English
2
0
2
123
Matt
Matt@MrCollison·
Implementing UE5-style Lumen lighting in @threejs ... It's going ok?? Clearly there's something very funky as the SDF reflection for the cone looks like it's suffering from axisitis Let's see where this one goes with a few more rounds of review & prompt 🫡
English
6
5
34
4.5K