Ray Traced Scene



Ray Traced Scene

This is a class project aiming at building a ray-tracer in Python from scratch, and use it to render a complex 3D scene. I choose to render a man sitting on the moon, which contains more than 28850 pieces for the man and a sphere for the moon with both normal mapping and diffuse mapping applied.

I implemented the camera model, ray interactions and reflections for different surfaces, and enable different shading effects such as shadow, specular shading, and mirror reflection. Normal mapping and diffuse mapping are implemented for textures to make the rendered Moon looks real.

Bounding Box algorithm is utilized to speed up the rendering. The scene contains 28850 triangles, which is rendered into a 1024*576 graph within 15 minutes when the ray tracer runs on CPU.