Chris Wallis

489 posts

Chris Wallis banner
Chris Wallis

Chris Wallis

@chriskwallis

Senior rendering engineer at The Coalition. Comments are my own

Seattle, WA Beigetreten Ocak 2019
158 Folgt1.9K Follower
Chris Wallis
Chris Wallis@chriskwallis·
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
English
5
50
527
35.9K
Chris Wallis
Chris Wallis@chriskwallis·
Iterating on my ray visualizer. Added arrow caps to see ray directionality and UI to tune the ray thickness. I removed the cap on 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
English
1
5
118
5.5K
Chris Wallis
Chris Wallis@chriskwallis·
@dev_esnosy Lets me easily specify the thickness of the ray visualization
English
0
0
0
29
Chris Wallis
Chris Wallis@chriskwallis·
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 to watch!
English
3
28
330
23.8K
Chris Wallis
Chris Wallis@chriskwallis·
@ohnoweknow I used a ray-cylinder intersection from shadertoy.com/view/4lcSRn. Basically I save off all the rays into an array, and then trace against them in a for-loop treating the rays as cylinders with a fixed radius size. It's brute force but good enough for a prototype
English
0
0
4
282
internetNobody
internetNobody@ohnoweknow·
@chriskwallis Always dreamt about such feature but were too lazy to implement. Havent understood ray-cylinder part, during visualization stage?
English
1
0
2
332
Chris Wallis
Chris Wallis@chriskwallis·
@Jiayin_Cao What is Mano? I'm aware there's ways you could write out strings to a UAV though I worry if stuff like that will either ruin occupancy or drastically extend shader compiler times. I guess I could only light up prints only when I need it for debugging thouvh
English
1
0
0
138
Jiayin Cao
Jiayin Cao@Jiayin_Cao·
@chriskwallis To my knowledge, there are two options to implement it. Mano has a unique way to get it working. UE has an implementation as well.
English
1
0
0
71
Chris Wallis
Chris Wallis@chriskwallis·
Put this off for too long, 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. Easy to support since everything is done through a single shader and takes less than a second to recompile.
English
2
0
43
3.3K
Chris Wallis
Chris Wallis@chriskwallis·
@Jiayin_Cao Hrmm I don't support shader print yet but maybe that should be next on my list!
English
1
0
0
105
Jiayin Cao
Jiayin Cao@Jiayin_Cao·
@chriskwallis Hot shader compilation coupled with shader print is a must have for debug rendering issues.
English
1
0
3
254
Chris Wallis
Chris Wallis@chriskwallis·
Support for subsurface material editing! I treat glass and subsurface the same. Glass is just subsurface scattering with 0 scattering events.
English
0
4
69
3.8K
Chris Wallis
Chris Wallis@chriskwallis·
@vkoskiv @yiningkarlli Yeah I've considered this before, it would be super useful. How big of an effort is something like this? How much do you have to mold your project to fit around Blenders' API?
English
1
0
1
69
Chris Wallis
Chris Wallis@chriskwallis·
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
English
3
12
181
12K
Chris Wallis
Chris Wallis@chriskwallis·
@yiningkarlli Curious to hear what you land on! Retrofitting an editor onto my code is not great, materials are "easy" but just being able to translate a single mesh around in the scene is going to be a PITA..
English
1
0
1
222
Yining Karl Li
Yining Karl Li@yiningkarlli·
@chriskwallis I avoided this for a long time too and eventually caved and decided my next-gen hobby renderer will include an editor system. So far I’ve spent a long time building out an editing framework but have yet to actually make much progress on writing the new renderer. 😅
English
1
0
2
324
Anoop Ravi Thomas
Anoop Ravi Thomas@createthematrix·
Oh hey.. just joined the blue butterfly gang under createthematrix. Who’s all there?
English
2
0
7
1.7K
Chris Wallis
Chris Wallis@chriskwallis·
@AaronMJacobs3 I'm not going to PAX but I'm in Seattle if you want to get a bite some time!
English
0
0
0
158
Chris Wallis
Chris Wallis@chriskwallis·
@ThierryCantenot Yeah I do see the CoD and Moana scene having objects being 3-4k units away. I'm not sure I'd establish a unit conversion but I could see scaling a scene so that it always fits within some unit range though. Hasn't been a huge issue...yet anyways
English
0
0
0
30
Thierry Cantenot
Thierry Cantenot@ThierryCantenot·
@chriskwallis Well without conversion, an object that is for example 100m away from the origin would be stored as being almost 4000 inches away or 4000 "engine units" in your case
English
1
0
0
47
Chris Wallis
Chris Wallis@chriskwallis·
I love seeing studios share real content like this, had to of course drop these into my path tracer and take a few renders. Exposed a few bugs in my code like the banding that I realize only happens with extreme unit scaling
Chris Wallis tweet mediaChris Wallis tweet mediaChris Wallis tweet mediaChris Wallis tweet media
Activision@Activision

The release of a new open-source data set, features the map Caldera from Call of Duty: Warzone for non-commercial use. This data set release contains near-complete geometry of Caldera and in-game character pathing. Read more 👇 bit.ly/3yhV8Ax

English
3
12
138
12.1K
Chris Wallis
Chris Wallis@chriskwallis·
@ThierryCantenot No conversion, my renderer doesnt care about what units the scene is using. My offset is a lot less intelligent, it's just offset by 0.001. I should use that article though! FYI Unreal Engine does use that same trick of shifting the world to camera space for raytracing
English
1
0
0
68
Thierry Cantenot
Thierry Cantenot@ThierryCantenot·
@chriskwallis Did you convert from inches to meters? Also what do you use for offsetting rays? I use the code from RTG: link.springer.com/content/pdf/10… For large scale rendering, I was thinking about rendering in camera-centered space (but it would mean updating the TLAS translations every frame...)
English
1
0
1
67
Chris Wallis
Chris Wallis@chriskwallis·
@createthematrix Nope I'm using their pbrt variant using github.com/ingowald/pbrt-… which is fantastic. PBRTParser can convert to a "pbf" (binary rather than text based) which takes the load time from 30 minutes to seconds For the Call of Duty USD scene I use Blender to open it and export to gltf
English
1
0
3
185
Anoop Ravi Thomas
Anoop Ravi Thomas@createthematrix·
@chriskwallis How are you loading up this scene? As USD? If so can you let me know your process?
English
1
0
0
147
Chris Wallis
Chris Wallis@chriskwallis·
Every few months I try and see if I can get the Moana island scene to fit in my path tracer only to give up a few weeks later because it's too damn big. Let's see how far we get this time..
Chris Wallis tweet media
English
3
0
31
2.8K
Chris Wallis
Chris Wallis@chriskwallis·
@Jiayin_Cao I'm not sure yet. I haven't even gotten to textures, Im still trying to figure out how to get the meshes to fit!
English
0
0
0
184