Chris Wallis's Avatar

Chris Wallis

@chriskwallis.bsky.social

Rendering Engineer at The Coalition. Opinions are my own

744 Followers  |  144 Following  |  19 Posts  |  Joined: 21.10.2024  |  1.9168

Latest posts by chriskwallis.bsky.social on Bluesky

Oh yeah I've seen this but completely forgot about it, yeah this is such a great video for people outside of rendering ๐Ÿ˜

29.12.2024 19:03 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Added the ability to watch the rays in my path tracer bounce around as an animation. I'm excited about this more from an education POV, I think it helps explain how path tracing works far more easily than I could describe in words

29.12.2024 04:30 โ€” ๐Ÿ‘ 112    ๐Ÿ” 24    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Video thumbnail

Iterating on my ray visualizer. Added arrow caps to see ray directionality and UI to tune the ray thickness. I removed the cap on visualizer ray count in the bathroom scene and it gets a little crazy.

Green = first bounce
Yellow = all other bounces
Blue = Next event estimation shadow rays

28.12.2024 17:55 โ€” ๐Ÿ‘ 10    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

First prototype of visualizing rays. Fairly simple implementaton: store rays in UAV, then do ray-cylinder intersections in a CS.

First bounce is green, second yellow, red for the rest. Shows how dumb my tracer is with very little importance sampling, but it's fun watching the web of rays!

24.12.2024 01:48 โ€” ๐Ÿ‘ 43    ๐Ÿ” 5    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

In this case I'd probably rather have it take perspective into account. For something like wire frame though that makes more sense

21.12.2024 06:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Didn't know that was a thing, thanks!

21.12.2024 06:12 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

True I could do that, I was thinking just generating cylinders on the fly but that sounds more fun

21.12.2024 06:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

So if I want to visualize the rays I'm firing for a path tracer, how do folks draw the lines for rays?

The obvious answer is rasterize the lines, but then you need a raster path that lines up directly with the path traced results

Is it crazy to raytrace against the lines in a composition pass?

21.12.2024 04:53 โ€” ๐Ÿ‘ 6    ๐Ÿ” 1    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Rendering Tiny Glades With Entirely Too Much Ray Marching
YouTube video by Graphics Programming Conference Rendering Tiny Glades With Entirely Too Much Ray Marching

Here's a recording of my Tiny Glade presentation from the Graphics Programming Conference 2024:

www.youtube.com/watch?v=jusW...

It's an any% speedrun of our GPU-driven rendering, shadows, global illumination, water, and DoF, involving a few weird tricks.

05.12.2024 02:19 โ€” ๐Ÿ‘ 452    ๐Ÿ” 108    ๐Ÿ’ฌ 16    ๐Ÿ“Œ 9

By cache I suppose you're caching the DXIL with some hash to avoid calling the compiler if you don't need to?

17.11.2024 07:04 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Hrmm sounds interesting, might have to try this and write a part 2 to my blog post ๐Ÿ˜

16.11.2024 22:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Oh nice, will take a look at that, sounds like a good approach!

16.11.2024 20:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ah hah yeah maybe that's good enough for me too

16.11.2024 19:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Would love to do something similar, how do you handle includes?

16.11.2024 19:32 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Post image

Quick and dirty post on implementing hot shader reload with DXC: wallisc.github.io/rendering/20...

16.11.2024 19:13 โ€” ๐Ÿ‘ 46    ๐Ÿ” 10    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Hmm probably! I'd love to think of a way where it could autodetect based on whether files have been modified. I think the tough part is handling the chain of includes but maybe there's some helpers in DXC that make extracting that easy. Brute force recompiling would definitely be less of a headache

16.11.2024 19:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Video thumbnail

Put this off for too long, added hot reload of shaders. Super useful for debugging, using it here to shut off albedo to see indirect lighting in isolation and then preview UVs. Fairly easy to support since everything is done through a single shader and takes less than a second to recompile.

16.11.2024 17:17 โ€” ๐Ÿ‘ 28    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Support for subsurface material editing! I treat glass and subsurface the same. Glass is just subsurface scattering with 0 scattering events.

14.11.2024 04:48 โ€” ๐Ÿ‘ 16    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

I've avoided making my path tracer an editor for simplicity sake but recently realized how much easier debugging would be with some limited functionality. So here we go, first prototype of material editing

11.11.2024 19:48 โ€” ๐Ÿ‘ 27    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image Post image

Hey, I'm Chris! I'm a rendering engineer working on the Gears of War series. Sometimes I post about it, but usually I just talk about my GPU path tracer or ShaderToy

Blog of my random graphics stuff here: wallisc.github.io

22.10.2024 03:46 โ€” ๐Ÿ‘ 19    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@chriskwallis is following 20 prominent accounts