University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3
- Yalun Hu
- Tested on: Windows 10, i7-6700HQ CPU @ 2.60GHz 32GB, GTX 1070 8192MB (Personal computer)
- A shading kernel with BSDF evaluation for Ideal Diffuse surfaces and Perfectly specular-reflective surfaces
- Path continuation/termination using Stream Compaction
- Sort pathSegments/intersections by material type
- Cache the first bounce intersections for re-use across all subsequent iterations.
A Moving sphere.
Refer to PBRT. For a material mixed having both BTDF and BRDF, just randomly choose a BxDF. But there are some white spots in the scene, and the interior of the sphere looks dark.
Added a virtual lens with focalDistance 15.5, lensRadius 20.0. Nearclip is set to 0.1, and farclip is set to 100.
- Stream compaction
- Open Scene vs. Close Scene
- Sort by material type
- Cache the first bounce intersections
- Performance impact:will not affect performance.
- CPU VS. GPU:no difference.
- Future optimization:cache the scene for each frame instead of reading the scene from the file.
- performance impact:slightly slower in scatterRay function. Because there will be more if branches.
- CPU VS. GPU:no difference for a single thread.
- Future optimization:make the interior of the object more realitic, fix the bugs.
- performance impact:slightly slower in generateRayfromCamera, because we should compute the rays generated from the virtual lens.
- CPU VS. GPU:no difference.
- Future optimization modify and find the optimized parameters of the lens to make the scene more realistic.








