Name: Liu Lu
IRC: Lulu_athena
Email: luluathena@gmail.com
Motion blur is the blurring or smearing along the direction of relative motion of any object moving with respect to the camera. It adds realism not only to still renders, but to animations as well. There are several approaches to reproduce motion blur in raytracing. But many of them need too many samples. "Frequency Analysis and Sheared Reconstruction for Rendering Motion Blur"[1] proposed by Fredo Durand presents a rendering algorithm that computes a sheared reconstruction filter per pixel, without any intermediate Fourier representation. This often permits synthesis of motion-blurred images with far fewer rendering samples than standard techniques require.
Motion blur is important for creating synthetic images that match physical cameras, and for eliminating temporal aliasing in animations.
The standard methods use axis-aligned pixel filter at each pixel, as the velocity increases, more samples are usually required to render motion-blurred images. This is frustrating since the complexity and spatial frequencies in the final image actually decrease due to the blurring or filtering from motion.
By using a combination of adaptive sampling and a new sheared filter, we can accelerate the rendering of motion-blurred scenes. Even the samples are sparse; the result still has no aliasing.
This method contains three steps mainly:
1. Compute bounds for signal speeds
First, sample the scene with N samples per pixel(N can be 2). Only velocity information is required from the samples. At each sample, compute the image space signal direction, velocity bounds and signal bandlimit.
2. Compute filter shapes and sampling rates
Based on the initial sampling in step 1, we can compute sheared reconstruction filters and sampling densities for each pixel. For each pixel, first compute the widest possible reconstruction filter, and then determine the lowest possible sampling rate that avoids aliasing.
3. Render samples and reconstruct image
Send the computed space-time sample locations to the renderer for processing, and read back the shaded results for each sample.The reconstruct the MB image using the sheared filters computed in step 2.
User has to offer the velocity of the object, and the velocity of light, if necessary. And user has to offer the frequency of shutter.
There are some parameters for user to adjust, which will affect the result of MB. But notice that the adaptive sampling rates is computed by the algorithm.
|
Match 29 - Match 31 |
Read "Frequency Analysis and Sheared Reconstruction for Rendering Motion Blur" |
|
April 1 - April 24 |
Read some other documents about ray tracing and motion blur Learn the source code of "Frequency Analysis and Sheared Reconstruction for Rendering Motion Blur" |
|
April 25 - May 4 |
Read the document of yafaray Vacation time: May 1-May 3 |
|
May 4 - May 19 |
Study with the source code of yafaray to understand how dose it work with MB Discuss with mentor about the project |
|
May 20 - May 31 |
Make a design document about the algorithm and so on |
|
June 1 - August 8 |
Start coding, and discuss with mentor Vacation time: I need two weeks for homeworks |
|
August 9 - August 15 |
Scrub code, write tests, improve documentation |
|
August 16 |
Submit |
I’m a graduate student in Zhejiang University in China. It’s my first year and my major is Computer Graphics.
I have learned C, C++, C#. Now I use C++ mainly. I have finished some courses about CG, and completed some small programs, using OPENGL and QT. Recently I’m doing something about physic simulation on cloth, and something about ray tracing and photon mapping.
Here is a link of some screenshot of my CG programs:
http://hi.baidu.com/luluathena/album/Coding%20Life
I want to participate in GSoC and I’m interested in “Raytraced Motion Blur”. I’m just learning ray tracing now. Reproducing motion blur in ray tracing sounds interesting to me. Since I have some knowledge and experience in 3D, I think it’s a good work for me.