This project is an app to create images using a phong model.
some image that we ceate:
A component that simulates our point of view towards the body (elements::camera) from which emerge the rays that create the image by pixels.
All the effects of lighting in an image are created by light sources (elements::pointLight ,directionalLight ,spotLight ,superSpotlight).
A scene class that contains all the data in the image such as: the bodies (geometries ,primitives), the light sources in the image, the background of the image, the name ...
A class that renders and is responsible for running the ray trace per pixel and calculates its color.
A component that tracks rays (render::rayTraceBasic) and calculates the points of impact on the bodies in the scene and thereby using the pong model returns the color at the point hit by the ray.
In order to enhance the beauty and visibility of the image we have added super sampling which takes a certain pixel range for each pixel and a muted computer for the color of the pixel and thus the edges of the image come out more realistic.
In order to improve the speed of the image run time used adaptive super sampling which shortened processes for pixels taking 4 random points on them which are divided into areas and the middle is equal in color and only for the different pixels kept going in depth.
We performed all the bonuses of Exercise 2 Exercise 3 as well as the bonus of moving the camera of Exercise 4 as well as all the bonuses of Exercise 6 and 2 out of the 3 bonuses of Exercise 7.