In this assignment you will implement a ray tracer that can handle different types of geometric objects and global illumination features, and demonstrate its capability in enhancing the visual realism of a rendered scene.
- The Basic Ray Tracer (Max. marks: 10)
In labs 6, 7, you will develop a simple ray tracer that can handle scenes containing planes and spheres. You will also implement methods for generating shadows and reflections. This assignment builds upon that ray tracer. As a minimum, your ray tracer should include the following features/objects.
(a) A good and meaningful spatial arrangement of a set of scene objects such as spheres and planes.
(b) At least one transparent object such as a hollow sphere. (Note: A transparent object should not be modelled as a special case of a refractive surface with 1 = 2 = 1. )
(c) Objects must cast shadows. Transparent and refractive objects must have lighter shadows.
(d) The scene must include at least one object constructed using a set of planes(e.g. box, tetrahedron, pyramid, octahedron).
(e) At least one planar surface in the scene must have a chequered pattern. The method used for generating a stripe pattern in Lab-7 may be extended for this.
OpenGL functions should be used only for the final rendering of the ray traced image.
- Extensions (Max. marks: 7)
This assignment will be marked out of 20, with 17 marks for the ray tracer and 3 marks for a report (see below). With just the basic features listed in Section 1, your ray tracer would earn at most 10 marks out of 17, and the report 2 marks out of 3. To get more than that, you need to implement a few additional features. Some possible features, and the approximate marks they would each gain if implemented correctly (up to a maximum of 7 marks for extra features) are given below.
- Objects other than a plane or a sphere: cone (1 mark), cylinder (1 mark),torus (2-3 marks).
- Refraction of light through an object (e.g. a refractive sphere) : 1 mark
- Multiple light sources including multiple shadows and multiple specular highlights generated by them: 1 mark
- Spotlight: 1 mark
- Anti-aliasing: 1-2 marks
- A non-planar object textured using an image: 1 mark
- A procedural pattern generated on any surface. The pattern must be more complex than stripes and checks. A pattern may also be generated using mathematical formulae: 1-2 marks
- Fog: 1 mark
The marks associated with each feature should be taken to be indicative of the time and/or effort required to implement that a feature. The 10 marks for the minimum requirements are relatively easy to get when compared to the marks gained for some of the extension features. The above list should not be taken as a list of the only features that can be implemented.