My Project
rayLight.h
1 #ifndef RAY_LIGHT_INCLUDED
2 #define RAY_LIGHT_INCLUDED
3 #include "rayShape.h"
4 
7 class RayLight{
8 public:
11 
13  virtual int read(FILE* fp)=0;
15  virtual void write(FILE* fp=stdout)=0;
16 
17 
19  // Ray-Tracing stuff //
21 
25  virtual Point3D getDiffuse(Point3D cameraPosition,struct RayIntersectionInfo& iInfo)=0;
26 
32  virtual Point3D getSpecular(Point3D cameraPosition,struct RayIntersectionInfo& iInfo)=0;
33 
37  virtual int isInShadow(struct RayIntersectionInfo& iInfo,class RayShape* shape)=0;
43  virtual Point3D transparency(struct RayIntersectionInfo& iInfo,class RayShape* shape,Point3D cLimit)=0;
44 
45 
47  // OpenGL stuff //
49 
52  virtual void drawOpenGL(int index)=0;
53 
54 };
55 #endif // RAY_LIGHT_INCLUDED
56 
57 
virtual Point3D getDiffuse(Point3D cameraPosition, struct RayIntersectionInfo &iInfo)=0
virtual int isInShadow(struct RayIntersectionInfo &iInfo, class RayShape *shape)=0
virtual Point3D getSpecular(Point3D cameraPosition, struct RayIntersectionInfo &iInfo)=0
Definition: rayScene.h:16
Definition: geometry.h:81
virtual void drawOpenGL(int index)=0
virtual void write(FILE *fp=stdout)=0
Definition: rayShape.h:9
virtual Point3D transparency(struct RayIntersectionInfo &iInfo, class RayShape *shape, Point3D cLimit)=0
virtual int read(FILE *fp)=0
Definition: rayLight.h:7
Point3D color
Definition: rayLight.h:10