Combining Reprojection and Adaptive Sampling for Real-time Path Tracing on the GPU
|A research project by O. Schalk|
|Conducted at Utrecht at the Master Game and Media Technology program|
|Under supervision of Jacco Bikker, Marc Kreveld, H. van Summeren|
Real-time path tracing becomes more and more realistic and is usable for all kinds of graphical applications. Still most implementations of a path tracer tend to see each pixel as equal and they discard all the received results when there is a movement or change in the scene. With our adaptive sampling method, we show that each pixel can be treated differently, based on the variance per pixel received by the path tracer. By using a probability, which indicates how complex a pixel is compared to others, we distribute samples across all the pixels in the screen. Our reprojection method can reuse pixels from previous frames. Not all pixels can be reused, because of material properties, which are dependent on the view position. Therefore, we created an error function, based on the material property and the incoming light energy, which can determine if a reprojection will exceed a specified maximum error. By combining both the methods we can give more priority to pixels with fewer samples and to pixels that are more complex. We demonstrate that our methods can improve a default implementation of a path tracer within the first milliseconds, which is an advantage for real-time applications.
|Path Tracing, Graphics, Real-time, Reprojection, Adaptive Sampling|
Link to website