18
double *red, *green, *blue, *trans;
28
void RayTrace(Image &result);
30
void AddShape(Shape* pShape);
31
void AddLight(Light* pLight);
33
void BackgroundColor(const Color& rBackgroundColor);
34
void EyePoint(const Point& rEyePoint);
35
void AmbientColor(const Color& rAmbient);
36
void AmbientIntensity(double vAmbientIntensity);
40
Color Render(const Ray& rRay, bool vIsReflecting = false, const Shape* pReflectingFrom = 0 ); // vEyeRay should be true if the ray we are tracing is a ray from the eye, otherwise it should be false
41
Shape* QueryScene(const Ray& rRay, Point& rIntersectionPoint, bool vIsReflecting = false, const Shape* pReflectingFrom = 0);
42
double Shade(const Shape* pShapeToShade, const Point& rPointOnShapeToShade);
43
double Specular(const Shape* pShapeToShade, const Point& rPointOnShapeToShade, const Light* pLight);
45
Color mBackgroundColor;
49
double mAmbientIntensity;