Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
CS291A: Real-Time High Quality RenderingWinter 2019, Lingqi Yan, UC Santa Barbara
Precomputed Radiance Transfer, orReal-Time Ray Tracing
Project 2:
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
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
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
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
Enjoy!