Phongo Clap RT
1.0
Simple Raytracing Renderer
|
▼ FinalSubmission | |
▼ include | |
Camera.h | Implements camera functionability, no transformations, just explicit definition |
Film.h | All the operations regarding to file output and file input belong to this class. It abstracts the idea of a film as the camera sensor chip which collects the incoming light and prints it into digital format |
Light.h | A class for the lights in the scene. There is no sepparate .cpp file due to its simplicity |
Material.h | This will be used to return the colour when queried from the Shape derived classes |
Parser.h | Parses a text file that user passes as an argument when executing the program |
Plane.h | Implements the interface for creating a plane shape and the methods for finding its intersections |
Ray.h | This class handles the implementation of ray: an object with an origin and a direction |
Renderer.h | This class is the heart of my raytracer. It is the core, where all the camera rays are calculated and sent to the raytrace algorithm which takes them as primary and handles the recursion. It is also responsible for shading taking into account all the reflection colours refraction colours and diffuse that have been stacked. I used and adapted the Phong model and did some tweaks to it to make things look nicer |
Scene.h | This hold all the objects and lights that the parser interpred and later pushed into the scene |
Shape.h | |
Singleton.h | Makes sure that no object is instanciated twice |
Sphere.h | A class for implicit sphere definitions |
Vec.h | Definitions for the extended ngl::Vec3 |
▼ src | |
Camera.cpp | |
Film.cpp | Implementation for Camera class |
main.cpp | The program starts here |
Material.cpp | Definitions for the Material class |
Plane.cpp | Implementation files for Plane class |
Ray.cpp | Implementation files for Ray class |
Renderer.cpp | Where all the calculations happen |
Scene.cpp | Definitions for Scene class |
Sphere.cpp | Implementation files for Sphere class |
Vec.cpp |