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!

Proposal 1

  • 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?

Proposal 2

  • 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: