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?
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.
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.
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.