University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3
- Liang Peng
- Tested on: Windows 10, i7-6700HQ @ 2.6GHz 2.6GHz 8GB, GTX 960M (Personal Laptop)
- Ray Scattering
- Diffuse
- Refraction
- Specular Reflection
- Glossy Reflection
- Depth of Field
- Stratified Antialiasing
- Performance Analysis
The image is rendered by a path tracer on GPU, with trace depth 8 and 5000 samples per pixel. Features include diffuse, glossy, specular reflection, refraction, depth of field, and stratified antialiasing. The image is produced by averaging the results of all large amount of iterations. In each iteration, the camera will shoot a ray through each pixel and intersect with the scene objects. Based on the material at the intersection point, each ray will change color and be reflected towards certain direction and continue tracing. As a ray reaches it trace depth, its color will be accumulated to compute the final color.
- Lambert Diffuse
- Refraction
Refraction 1, SPP 1000 | Refraction 2, SPP 5000 |
---|---|
observation Since large amount of paths are traced, caustics produced by refraction are free. |
- Specular Reflection
Trace Depth 2, SPP 1000 | Trace Depth 8, SPP 1000 |
---|---|
- Glossy Reflection
- Trace Depth
Depth | 1 | 2 | 3 |
---|---|---|---|
Time | 38 ms | 70 ms | 93 ms |
Image | |||
Depth | 4 | 5 | 6 |
Time | 110 ms | 120 ms | 140 ms |
Image | |||
Depth | 7 | 8 | 9 |
Tim3 | 148 ms | 156 ms | 160 ms |
Image |
Observation Apparently, as trace depth increases, image quality becomes better. Interestingly, time spent on 1 iteration increases with decreasing rate, that is probably due to the fact that as a ray traces deeper, it is more likely to hit nothing or terminated, thus need no more calculation.