Raytraced Animation of Newton's Cradle


One of the projects for my computer graphics class (EECS 487 W11) was to write a raytracer and render an interesting scene.


The description from the course gallery says: I generated this animation of Newton’s cradle with 50 separately raytraced scenes. I generated the scene files with a python script that simulated Newton’s cradle, moved the camera, and controlled the moving “Go Blue” text in the background. Each frame has (24)^2 rays per pixel to generate a variety of effects, including area lights with soft shadows and motion blur. Using this many rays also helped smooth the image so successive frames looked better in sequence (early renderings had distracting artifacts where soft shadows appeared to flicker). It would have been impossible to generate this animation in the time allotted without some optimizations. Most importantly, I parallelized the raytracer so I could take advantage of my multiple processor cores. This made experimenting with different scenes much faster and also helped speed up the final render. The slowest part of rendering was almost certainly drawing the cradle, which was the only mesh in the scene. Adding a bounding sphere test and reducing the poly count dramatically improved rendering speed. This final animation was generated overnight (approx 7 hours) with 24 cores.

Back