Commit 2299fa40 authored by axel's avatar axel

--no commit message

--no commit message
parent f525df46
......@@ -30,12 +30,10 @@
* Cette classe est une classe permettant la génération de scènes en utilisant
* la technique de lancer de rayons.
*/
class LrSceneRayTracing : public LrScene
{
public :
public :
/**
* @brief Constructeur par défaut de LrSceneRayTracing.
*/
......@@ -47,17 +45,17 @@ class LrSceneRayTracing : public LrScene
*/
LrSceneRayTracing(const LrSceneRayTracing &source);
/**
* @brief Méthode de clonage de LrSceneRayTracing.
* @return LrScene object.
*/
LrSceneRayTracing * clone() const;
/**
* @brief Constructeur personnel de LrSceneRayTracing.
* @param entities Liste de pointeurs vers des objets LrEntity.
* @param lights Liste de pointeurs vers des objets LrEntityLight.
* @param binder Pointeur vers la structure accéleratrice LrBinder.
* @param image Reference sur un objet LrImage.
* @param camera Reference sur un objet LrCamera.
* @param nbRebonds nombre de rebonds apres impact
* @param antialiasing Pointeur vers le type d'antialiasing a appliquer
* a la scene
* @param nbRebonds le nombre de rebonds a renvoyer lorsque il y a une
* intersection avec un objet
*/
LrSceneRayTracing(const LrEntityList &entities,
const LrEntityList &lights,
......@@ -74,25 +72,31 @@ class LrSceneRayTracing : public LrScene
/**
* @brief Operateur d'assignement.
* @param source Le modele LrSceneRayTracing
* @return La nouvelle Scene
*/
LrSceneRayTracing & operator = (const LrSceneRayTracing &source);
/**
* @brief Methode pour la génération des images utilisant
* @brief la techniques du lancer de rayons.
* @brief Methode abstraite pour la génération des images.
* @brief Genere une partie de l'image
* @lOffset entier correspondant a ligne de depart
* @lNb entier correspondant au nombre de lignes a calculer
*/
virtual void generateImagePart(int lOffset, int lNb);
/**
* @brief Phase préparatoire à tout calcul.
*/
virtual void initialize();
/**
* @brief Lance un rayon et calcule l'énergie lumineuse remontant ledit rayon
* @param ray Reference sur un objet LrRay.
* @param nbRebonds le nombre de rebonds que va faire le rayon
* @return La couleur LrColor du rayon
*/
LrColor computeImageRay(const LrRay &ray, int nbRebonds);
......@@ -100,19 +104,18 @@ class LrSceneRayTracing : public LrScene
* @brief Calcul l'influence des sources lumineuses
* @param ray Reference sur un objet LrRay.
* @param hit Reference sur un objet LrHit.
* @return La couleur LrColor de l'influence des sources lumineuses
*/
LrColor computeFromSource(const LrRay &ray, LrHit &hit);
private :
// pour un acces direct aux sources de lumiere
LrEntityList m_lights;
//L'AntiAliasing a appliquer a la scene
LrAntiAliasing *m_antialiasing;
//nombre de rebonds
int m_nbRebonds;
private :
// pour un acces direct aux sources de lumiere
LrEntityList m_lights;
//L'AntiAliasing a appliquer a la scene
LrAntiAliasing *m_antialiasing;
//nombre de rebonds
int m_nbRebonds;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment