Earlier quoted context omitted.
No that's wrong. You do start tracing paths at the camera. The lens usually is extremely small and the rays that do contribute are highly directional, the probability of hitting the lens is extremely low and the probability of the hitting the lens in a direction that actually contributes to the final image is even lower. On the other hand there usually are many lights in a scene with a total area that's much larger t…
One more thing that makes this possible: you actually have some room for "choice" in which way the ray goes, and so at the 'last step' you can just choose that it goes towards the sun. What do I mean? Well, most objects are largely diffuse, meaning that light is reflected in a random direction. When you hit a diffuse object, you can choose to sample light that 'randomly' bounces off in the direction of the sun. Since…
Disney's Practical Guide to Path Tracing [video]
31–39 of 39 posts
Re: Disney's Practical Guide to Path Tracing [video]
#32The video was made for this article: http://www.disneyanimation.com/technology/innovations/hyperi... If you want to learn more about rendering then here is some more info: Stanford CS348b course notes: http://candela.stanford.edu/cs348b/doku.php Cornell CS6630 course notes: http://www.cs.cornell.edu/Courses/cs6630/2012sp/schedule.stm Eric Veach's Phd thesis: http://graphics.stanford.edu/papers/veach_thesis/ Physicall…
+1 on PBRT - great textbook, and a full program to boot. Though they don't use the batching method outlined in the video - it would be interesting to see PBRT modified to do it and compare the resulting efficiency in rendering. https://github.com/mmp/pbrt-v3/
You are right though that it would be fascinating to see the speed difference. My guess is that it would be substantial.
Even compiling PBRT with Intel C++ instead of Microsoft's C++ compiler gives a %30 - %50 speedup, likely due to reordering instructions for better memory coherency on a granular level (batching rays would give better memory coherency on a very broad level).
Re: Disney's Practical Guide to Path Tracing [video]
#33The video was made for this article: http://www.disneyanimation.com/technology/innovations/hyperi... If you want to learn more about rendering then here is some more info: Stanford CS348b course notes: http://candela.stanford.edu/cs348b/doku.php Cornell CS6630 course notes: http://www.cs.cornell.edu/Courses/cs6630/2012sp/schedule.stm Eric Veach's Phd thesis: http://graphics.stanford.edu/papers/veach_thesis/ Physicall…
+1 on PBRT - great textbook, and a full program to boot. Though they don't use the batching method outlined in the video - it would be interesting to see PBRT modified to do it and compare the resulting efficiency in rendering. https://github.com/mmp/pbrt-v3/
Ptex really chokes with non-coherant texture accesses (partly due to the anisotropic filtering method it uses) in terms of thread scalability, so Disney have gone to great lengths to get around this issue. Doing such accurate texture filtering (the same goes for standard UV EWA filtering) is technically better, but is expensive, especially in a path-tracing context, where the whole point is to amortise the cost of shading over all the rays by making each intersection / shading calculation as cheap as possible.
From what I hear there are big downsides to this current implementation: the streaming of batches is pretty much off-line, so time till "first pixel" is significant, and thus you don't get interactive rendering functionality.
Re: Disney's Practical Guide to Path Tracing [video]
#34Earlier quoted context omitted.
One more thing that makes this possible: you actually have some room for "choice" in which way the ray goes, and so at the 'last step' you can just choose that it goes towards the sun. What do I mean? Well, most objects are largely diffuse, meaning that light is reflected in a random direction. When you hit a diffuse object, you can choose to sample light that 'randomly' bounces off in the direction of the sun. Since…
What you describe is next event estimation.
Re: Disney's Practical Guide to Path Tracing [video]
#35Earlier quoted context omitted.
+1 on PBRT - great textbook, and a full program to boot. Though they don't use the batching method outlined in the video - it would be interesting to see PBRT modified to do it and compare the resulting efficiency in rendering. https://github.com/mmp/pbrt-v3/
The batching that Disney is doing is a very recent direction and not something that is common - PBRT serves as a straight forward reference implementation. You are right though that it would be fascinating to see the speed difference. My guess is that it would be substantial. Even compiling PBRT with Intel C++ instead of Microsoft's C++ compiler gives a %30 - %50 speedup, likely due to reordering instructions for bet…
Re: Disney's Practical Guide to Path Tracing [video]
#36Earlier quoted context omitted.
+1 on PBRT - great textbook, and a full program to boot. Though they don't use the batching method outlined in the video - it would be interesting to see PBRT modified to do it and compare the resulting efficiency in rendering. https://github.com/mmp/pbrt-v3/
While batching (and reordering) can have a benefit overall for rendering, it can have a significant (depending on how thoroughly you do it) overhead, and Disney are primarily doing it because they use Ptex to do texturing, instead of the more conventional and more widely used UDIM texture atlasing method for assigning textures to meshes. Ptex really chokes with non-coherant texture accesses (partly due to the anisotr…
Re: Disney's Practical Guide to Path Tracing [video]
#37Earlier quoted context omitted.
The batching that Disney is doing is a very recent direction and not something that is common - PBRT serves as a straight forward reference implementation. You are right though that it would be fascinating to see the speed difference. My guess is that it would be substantial. Even compiling PBRT with Intel C++ instead of Microsoft's C++ compiler gives a %30 - %50 speedup, likely due to reordering instructions for bet…
It would be interesting to see PBRT re-written with C++ 11/14 idioms, and look at how that affects the execution speed as well.
Re: Disney's Practical Guide to Path Tracing [video]
#38The video was made for this article: http://www.disneyanimation.com/technology/innovations/hyperi... If you want to learn more about rendering then here is some more info: Stanford CS348b course notes: http://candela.stanford.edu/cs348b/doku.php Cornell CS6630 course notes: http://www.cs.cornell.edu/Courses/cs6630/2012sp/schedule.stm Eric Veach's Phd thesis: http://graphics.stanford.edu/papers/veach_thesis/ Physicall…
Wenzel Jakob's Mitsuba renderer is proper badass.
Re: Disney's Practical Guide to Path Tracing [video]
#39Earlier quoted context omitted.
Wenzel Jakob's Mitsuba renderer is proper badass.
He is now the co-author on the 3rd Edition. Expecting coverage of the Volumetric Layered Materials and Manifold Exploration. PBRT is only getting better.
They've added other cool new stuff too, such as volumetric path tracing, progressive photon mapping, hair (bezier curves with a Kaijya-Kay BSDF) and a Photon Beam Diffusion BSSRDF.