9 #include "lambertian.h" 11 #include "dielectric.h" 55 virtual void Render(
const std::string &strFileName);
56 virtual int clRender(
const std::string &strFileName);
66 #endif // RAY_TRACER_H virtual void OpenImage()
Definition: ray_tracer.cpp:106
RayTracer(const SDim &dims, const int iRaysPerPixel=100)
Definition: ray_tracer.h:40
virtual void RandomScene()
Definition: ray_tracer.cpp:37
const SDim m_dims
Struct containing the dimensions of the desired output image {x, y} (in pixels)
Definition: ray_tracer.h:61
Camera m_camera
Camera object specifying the desired perspective of the output image.
Definition: ray_tracer.h:63
virtual Vector3D Color(const Ray &r, int iDepth)
Definition: ray_tracer.cpp:115
vList m_list
Vector list of objects to be rendered.
Definition: ray_tracer.h:58
RayTracer(const SDim &dims, const int iRaysPerPixel, Camera &cam)
Definition: ray_tracer.h:47
Definition: ray_tracer.h:24
virtual void ClearItems()
Definition: ray_tracer.cpp:82
virtual void ShowPerformance()
Definition: ray_tracer.cpp:95
virtual void SetCamera(Vector3D lookFrom, Vector3D lookAt=Vector3D(0), Vector3D viewUp=Vector3D(0, 1, 0), double aperture=.1, double Fov=40)
Definition: ray_tracer.cpp:19
virtual void Render(const std::string &strFileName)
Definition: ray_tracer.cpp:150
int m_iRaysPerPixel
Number of anti-aliasing samples to take per pixel.
Definition: ray_tracer.h:62
virtual void AddItem(Object *object)
Definition: ray_tracer.cpp:28
virtual int clRender(const std::string &strFileName)
Definition: ray_tracer.cpp:185