6
CS291A: Real-Time High Quality Rendering Winter 2019, Lingqi Yan, UC Santa Barbara Precomputed Radiance Transfer, or Real-Time Ray Tracing Project 2:

Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

CS291A: Real-Time High Quality RenderingWinter 2019, Lingqi Yan, UC Santa Barbara

Precomputed Radiance Transfer, orReal-Time Ray Tracing

Project 2:

Page 2: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara

Description• In this project, you’re going to implement

Precomputed Radiance Transfer (PRT), orReal-Time Ray Tracing (RTRT)

• For PRT, all you need to do, is to render a diffuse object under environment lighting

• For RTRT, all you need to do, is to denoise a sequence of noisy images

!2

Page 3: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara

Some Useful Tips

• For simplicity, you can just use theta-phi parameterized environment maps: https://www.hdri-hub.com/free-hdri-environments-for-download

• To generate the visibility function at each vertex v, you don’t need to implement ray tracing. Just rasterize the entire scene and project it as if seen from a camera at v.

• If the projection to Spherical Harmonics is difficult, you can use a set of fixed Spherical Gaussians instead.

!3

for PRT

Page 4: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara

Some Useful Tips• In this project, you don’t have to make everything real-time. You can pre-generate

a set of 1SPP images along with the G-buffers and the motion vectors.

• You don’t have to implement ray tracing (specifically, 1 SPP path tracing) yourself. You can just use NVIDIA OptiX (e.g. the optixPath example from its SDK) or any other tool that performs ray tracing for you.

• You don’t have to accurately calculate the motion vectors (but you can!). Instead, you can find any Computer Vision tool that calculates optical flow for you.

• You can just use a 21x21 cross bilateral filter for spatial filtering.

• The final value of a pixel = alpha * filtered value + (1 - alpha) * prev value, and you can choose alpha = 0.1 - 0.2

!4

for RTRT

Page 5: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara

Due and Submission• This project is due Feb 27

• Your submission should include

- A short video (< 1 min) of screen recording with or without voiceover.

- Your code, but only the core code files. Don’t include the entire project.

- A simple PDF document (< 1 page) to summarize what you did, what references / external resources you used, and what you’ve learned.

• All other information can be found in lecture 5-8 slides, as well as on the course website

!5

Page 6: Project 2 - UCSBlingqi/teaching/resources/Project_2.pdf · CS291A, Winter 2019 Lingqi Yan, UC Santa Barbara Some Useful Tips • In this project, you don’t have to make everything

Enjoy!