Assignment 5 Proposal
Students: Shantanu Das, Pepin Hazan
For our assignment, we are considering two different extensions of Scotty3D. We’re not sure which is more appropriate for this assignment, so we’d appreciate any feedback in that regard. Please let us know what you think!
Improve Performance of BVH using Approximate Agglomerative Clustering
We will write a function that computes Morton code for each primitive.
We will write a function that uses radix sort to sort the primitives based on their Morton codes, constructing the implicit constraint tree.
Write a build tree function
Partition function - Partitions based on Morton Code.
Find P_Left and P_Right through binary search
Write a CombineCluster function that takes in a set of clusters x and reduce the number of clusters based on a function f.
f(x) = cx^α for 0 ≤ α ≤ 1
Improve performance through pre-computation and parallelization of operations on subtrees.
Questions and Concerns:
- Can this algorithms benefit from offloading to GPU vs. parallel CPU?
Irradiance Caching, using the scheme described here as reference...
We will add basic irradiance caching to Scotty 3D.
We will add the ability for the user to set the threshold weight under which cache entries are not used.
We will add visualization of cache entry positions as shown here:
- We will also add rotational (and possibly translational) irradiance gradients--with ability to enable/disable.
- Practical Global Illumination with Irradiance Caching (SIGGRAPH class)
- Two-part Series on Irradiance Caching
- Irradiance Caching in The Witness