Commit 2299fa40 authored by axel's avatar axel
Browse files

No commit message

No commit message
parent f525df46
Loading
Loading
Loading
Loading
+29 −26
Original line number Diff line number Diff line
@@ -30,10 +30,8 @@
 * 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 :

    /**
@@ -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,13 +72,17 @@ 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);

@@ -93,6 +95,8 @@ class LrSceneRayTracing : public LrScene
    /**
    * @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,12 +104,11 @@ 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