University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3
- Xinyu Lin Linkedin
- Tested on: Windows 10, Intel(R) Core(TM) i7-6700HQ CPU@2.60GHz, 16GB, GTX960M(Private Computer)
- Basic features
- A shading kernel with BSDF evaluation for:
- Ideal diffuse shader.
- perfect specular reflective surface.
- Stream compaction for terminating unwanted thread from thread pool using thrust::partition
- material sorting using thrust::sort_by_key
- caching first bounce information for future iteration use
- A shading kernel with BSDF evaluation for:
- Advanced features
- refreaction with Frensel effects using Schlick's approximation
- physically based depth of field
- stochastic sampled antialiasing
- Arbitrary mesh loading and rendering
Diffuse | Specular | Glass |
---|---|---|
![]() |
![]() |
![]() |
- 5000 iterations
- 3000 iterations
- 10000 iterations
time cost to 5000 iterations
time(secs) | sort by material id | store first intersections | stream compaction | Time |
---|---|---|---|---|
Diffuse | 0 | 0 | 1 | 6m54s |
Diffuse | 1 | 0 | 1 | 12m11s |
Diffuse | 0 | 1 | 1 | 5m33s |
- ConcentricSampleDisk function
- GPU gem3
- Schlick's approximation wiki
- some iterative solutions for binary search tree