Starting from:

$25

COSC363-Assignment 2 Ray Tracer That Can Handle Different Types of Geometric Objects Solved

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.

1.  The Basic Ray Tracer
In labs 7, 8, 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 08 may be extended for this.

OpenGL functions should be used only for the final rendering of the ray traced image.

2.    Extensions
Some possible features are as follows.

•             Objects other than a plane or a sphere:  cone , cylinder , torus

•             Refraction of light through an object (e.g. a refractive sphere) :

•             Multiple light sources including multiple shadows generated by them:

•             Spotlight:

•             Anti-aliasing:

•             A non-planar object textured using an image:

•             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:  

•             Fog:  

3.    Report  
The report should describe your ray tracer, including both its successes and its failures. It should include at least one image showing the ray tracer’s capabilities. You may include additional images demonstrating various features of your implementation. The report should clearly outline both the mathematical and the implementation aspects of all extra features you have implemented in the ray tracer, other than those listed as minimum requirements. For example, if you have implemented anti-aliasing in your ray tracer, you should describe its purpose, the effect it produces on the output (include figures showing the rendering with and without anti-aliasing), and how it is implemented. Similarly, if you have used procedural textures, provide the mathematical equations used for mapping coordinates to colour values. All resources and references used in your work must be cited in the report.   

You must also give an estimate of the time taken by your program to generate the output on your computer/virtual machine. Ray tracing can be computationally very expensive. The time taken to ray trace an image using a simple “brute force” algorithm is proportional to the number of pixels times the number of scene objects.  To keep run times to a minimum, you should do most of your development with small images (approx 500x500 pixels), simple scenes, and low levels of recursion.

Use of any code segments, data or images from the Internet or other resources should be acknowledged in the report. Please include the details of the build process. You may also (optionally) include a list of references.

More products