Sélectionner une révision Git
-
Christian Paul a rédigéChristian Paul a rédigé
scene.h 948 o
#ifndef SCENE_H
#define SCENE_H
#include "camera.h"
#include "shape.h"
/*!
* \file scene.h
* \brief Représentation de la scène
*/
/*!
* \class Scene
* \brief Classe permettant le rendu de la scène
*
* Contient toutes les informations pour pouvoir faire le rendu: la camera, la lumière, et la liste des pointeurs sur les formes
*/
class Scene
{
Camera camera_;
Shape* *shapes_;
Ray3f source_;
public:
Scene(Camera camera, Shape* *shapes, Ray3f source);
Scene(const Scene & s);
//~Scene();
Camera camera() const;
Shape* *shapes() const;
Ray3f source() const;
void render(int width, int height, int nb_pixel_row, int nb_pixel_col, int nb_shapes, char* filename);
int closer(int nb_shapes, Ray3f start);
int nb_reflected(Ray3f **ray, int nb_shapes, int ref_max, float* shine);
void coeff(float* shine, float* coef, int ref_max);
};
//std::ostream & operator<<(std::ostream & st, const Scene & s);
#endif