~
Welcome to our showcase for the insane raytracer. This raytracer is a project for the course Computer Graphics - CS440 at Habib University.
We have implemented Babar Azam in our raytracer. He is the best batsman in the world and we wanted to show him in the best light possible. Behind him are signs of a revolution in cricket. Babar Azam will bring yellow and green ball test cricket to reality. Primitive Count: 49,778 Resolution: 400x400 Time Taken to Render: 3.59 seconds
This is an image of resolution: 1920x1920 and the time taken to render was 73.70 seconds
We used the Bounding Volume Hierarchy (BVH) and Grid Space Partitioning. They inherits from an abstract Acceleration class. We compared runtimes with and without the acceleration structure and got the following results. Each column displays the runtime in seconds. The overhead time is the initial time it takes to build the required structure over the primitives. The second column mentions the time taken to raytrace the scene.
Different features that we implemented to make the renders fun
Our raytracer supports parallel and perspective projection of camera
Our Raytracer implements the three basic primitives: Sphere, Triangle and Plane
We have implemented point lights and spot lights on top of the basic ambient lighting
Our raytracer supports two additional materials on top of basic cosine one. One being Matte which has no specular component and the other being Phong.
Our rays sampler supports Jittered sampling to reduce aliasing. Regular and random sampling is also implemented.
We have two types of tracers implemented. One is the basic ray tracer and the other is the shadow which supports shadows.
Acceleration
We have implemented Grid and BVH acceleration structures to speed up the ray tracing process.