#ifndef SCENE_H_INCLUDED #define SCENE_H_INCLUDED #include #include #include #include #include #include class Scene { public: Scene( void ); ~Scene( void ); Pixel pointSample( double x, double y ); void adaptiveSample( Pixel *output, int w, int h, int depth ); void superSample( Pixel *output, int w, int h, int depth ); void pointSample( Pixel *output, int w, int h ); private: vector objects; vector lights; Vector3 eye; Vector3 up; Vector3 right; Vector3 forward; double fov; Matrix4x4 viewtoworld; double screendist; Pixel lightPositionPhong( Vector3 pos, Vector3 norm, BaseObject *object ); bool traceRay( Vector3 *intersect, Vector3 *normal, BaseObject **object, double *reflectivity, Vector3 *reflectionpos, Vector3 *reflectiondir, Vector3 origin, Vector3 direction ); Pixel adaptivePoint( double x, double y, int depth, double w, double h, int maxdepth ); Pixel superPoint( double x, double y, int depth, double w, double h, int maxdepth ); }; #endif // SCENE_H_INCLUDED