2
\$\begingroup\$

In the sense that you currently have algorithms like HDR, shadows, reflections, caustics, motion blur and so on, does complete path tracing take care of all these effects, or would you still have to implement these effects separately?

\$\endgroup\$
  • \$\begingroup\$ yes, but not pathtracing alone. It think it will be hibird system. Also it will take more time for the processing power to get up to speed for this stuff to be viable in a echonomical probject. Pathtracing will handle illumination, raytracing will solve reflections and refractions, and the rest of the effects can still be done with the classic approach \$\endgroup\$ – Raxvan Feb 4 '14 at 12:51
  • \$\begingroup\$ @user12979 If your question was phrased differently, e.g. "will tray-tracing based techniques replace rasterization for lighting evaluation" the answer would be a definitive yes. \$\endgroup\$ – TravisG Feb 4 '14 at 16:22
  • \$\begingroup\$ @TravisG I won't be so sure about this. Especially that companies like Nvidia are pushing their rasterization hardware. I belive they will co-exist. Anyway it's somehow subjective. \$\endgroup\$ – concept3d Feb 4 '14 at 17:06
3
\$\begingroup\$

Firs of all I want to point out that Global Illumination is a general group of algorithms that deal with simulating realistic lighting, it takes into consideration indirect illumination. Path tracing is just one way to achieve Global illumination (and btw it doesn't take into account all the effects you mentioned).

Path tracing uses a rendering method similar to ray tracing with a fundamental difference that the cast rays are chosen at random, and at each intersection with a diffuse object in the scene a new reflection ray is picked at random. Path tracing is also not great when it comes to performance concerns where it needs to sample each pixle hundreds of times in order to get a better quality images, which makes it a poor choice for real time rendering. On the other hand Path tracing is not the only method to achieve global illumination, photon mapping is a valid alternative, here is a list of other methods that can produce global illumination.

enter image description here

Unfortunately there will never be solution that fits everything, as a conclusion, these are the basic points why path tracing will never be 100%

  • For instance Path tracing doesn't have an out of the box hardware support like rasterization which makes algorithms like shadow mapping exists that are more suitable for the current hardware.
  • Even with hardware acceleration Path Tracing is still considerably slower than other methods. Even ray tracing.
  • Hybrid rendering approaches exists, And it will continue to exist because of different requirements.
  • There are alternative algorithms even for off-line rendering and the use highly depend on the scene and the requirements each can do several effects better than the others.
\$\endgroup\$
3
\$\begingroup\$

In principle, yes, path tracing can do all the things you mentioned.

  • HDR is just about using realistic light intensities in your scene, plus tone-mapping the result for display. It's not dependent on a specific rendering technology.
  • Shadows and reflections are a strong point of raytracing methods.
  • Motion blur can be done by distributing your sample rays over time as well as space. It does mean you have to be able to do intersection tests with rays at any time within the frame interval, so there are some nontrivial implications for how you represent geometry, BVHs, etc.
  • Caustics are bad for "vanilla" path tracing because working from the eye toward the lights, the probability of generating paths that are part of caustics is very low. But other algorithms in the path tracing / photon mapping family (e.g. bidirectional path tracing, Metropolis, VCM) can handle caustics pretty well.

If the question is will path tracing replace all other algorithms, I doubt it. Path tracing is elegant, but elegantly simple algorithms turn into more complex ones when you want them to run fast. Witness the aforementioned family of path tracing / photon mapping algorithms—many of them are quite complex, and they are all basically designed to shore up path tracing in scenarios where it performs badly.

Moreover, for highly ordered sets of rays, like primary rays from the camera and light rays from small sources, rasterization has definite advantages over raytracing for finding intersections with a polygonal scene. And people have done work on generalizing rasterization to handle correct depth of field and motion blur (not postprocessing fakery)—which was long seen as the province of raytracing alone.

My guess is we will continue to see hybrid strategies in real-time graphics—games today already use forms of raytracing, like screen-space reflections. We'll see more raytracing used on the lighting and shading side of things, but rasterization will continue to be king for finding intersections in the primary view. Smart caching and filtering strategies are also important, since the memory/compute gap is still growing and brute-forcing huge numbers of pixels/rays is bad.

\$\endgroup\$
  • \$\begingroup\$ +1 I have to upvote this because of practical experience. \$\endgroup\$ – concept3d Feb 5 '14 at 7:23
  • \$\begingroup\$ still am not sure path tracing basic algorithm can take into account all the effects you mentioned? \$\endgroup\$ – concept3d Feb 5 '14 at 7:24
  • 1
    \$\begingroup\$ @concept3d In principle it can, but it will have a really hard time with caustics - it will produce a huge amount of variance there and require a really insane number of samples (like millions per pixel) to get the caustics smooth. That's one reason other algorithms like photon mapping and bidirectional path tracing were invented. \$\endgroup\$ – Nathan Reed Feb 5 '14 at 17:56
  • \$\begingroup\$ Thanks for the info. since I am investigating how to implement a path tracer right now, that's a good piece of info. \$\endgroup\$ – concept3d Feb 5 '14 at 18:08
  • \$\begingroup\$ Actually a path tracer also does free occlusion culling for you. This is something you'd have to manually implement in a rasterizer. \$\endgroup\$ – Tara Aug 1 '16 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.