Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 1.2 KB

README.md

File metadata and controls

5 lines (3 loc) · 1.2 KB

ABSTRACT

This project implements the popular technique of “Ray-tracing”, which is a widely used image rendering technique in computer graphics. The idea of ray-tracing is that an observer sees a point on a surface as a result of that surface interacting with rays of light emanating from elsewhere in the environment. This project is an attempt to implement a simple ray-tracing algorithm in the C++ programming language.

The project focuses on the various data structures used in the code to store the object information in the input view. All the objects in the view are in the form of triangulated data and the data structures are appropriately designed so as to maintain the required face-edge-vertex adjacencies. Techniques to obtain smooth shading of objects are employed by averaging the facet normals. Finally there is a description of the lighting models used in the scenes that help imitate realistic lighting phenomena like those of shadows, reflection and refraction. These are essential features of a typical ray-tracing algorithm that are also implemented in the code. An additional feature of coloured lights has been included in the application and the images rendered have been critically observed.