21 std::cout <<std::endl<<std::endl <<
"////////////////ETAPE VERTEX SHADER////////////////"<< std::endl;
55 std::cout <<std::endl<<std::endl <<
"////////////////ETAPE PIXEL SHADER////////////////"<< std::endl;
79 for(
unsigned int i = 0 ; i < this->
lights.size() ; i++)
81 if(this->
lights.at(i)->active)
92 for(
unsigned int i = 0,u = 0 ; i < this->
lights.size() ; i++)
94 if(this->
lights.at(i)->active)
120 std::cerr <<
"Erreur Depasement Tableau acces lampe" << std::endl;
153 std::cerr <<
"Imposible d'avoir l'invertse de worls" << std::endl;
void print()
fixe la valeur du vecteur
void mul(matrice44 &M1, matrice44 &M2)
M.mul(M1,M2) multiplication de 2 matrices 4x4.
Light_Global & Light(unsigned int id)
Retourne la structure associée à la iéme lampe de la scène.
Light_Local * lightsLocal
void SetMaterial(Material &material)
Fixe le matériau utilisé par le shader.
Structure utilisée dans les shaders pour ne conserver que les lampes actives.
Math::matrice44 world
Matrice de transformation globale.
std::vector< Light_Global * > lights
void Update()
ShaderBase::Update() Fonction permetant de metre a jour le shader pour prendre en compte de nouvelle ...
Structure utilisée pour définir une lampe dans la scène.
Math::matrice44 & GetProjectionObservationMatrix()
retourne le produit des matrices de projection et d'observation
void SetWorldTransform(Math::matrice44 &mat)
Fixe la transformation globale de l'objet.
void view()
M.view(), affichage de la matrice.
Structure définissant un matériau tel que vu dans le cours (modèle de Phong).
Math::matrice44 & GetProjectionMatrix()
retourne la matrice de projection
Math::matrice44 & GetObservationMatrix()
retourne la matrice d'observation
void SetCamera(Camera *camera)
Fixe la définition de la caméra.
unsigned int nlightLocal
Nombre de lampes actives.
virtual void VertexShader(void *In, void *Out, void *Param, std::size_t Id0, std::size_t Id1)
ShaderBase::VertexShader(void *In, void *Out, void *Param, std::size_t x, std::size_t y) Fonction per...
Math::vecteur3d poscamLocal
void mul(float v)
U.mul(v) multiplie (en place) U par le scalaire v.
void AddLights(Light_Global *light)
ShaderBase::AddLights(Light_Global * light) Fonction permetant d'ajouter une lampe a la scene...
Math::vecteur3d & GetPosObservateur()
getter : valeur de pObs
bool inverse(matrice44 &M)
M.inverse(), inversion sur place de la matrice M. Renvoie true en cas de succès, false sinon...
Math::matrice44 total
Matrice de transformation globale.
rgb col
couleur de l'objet
Math::vecteur3d pos
Position de la lampe.
void zero()
M.zero(), mise à zéro de la matrice.
Math::vecteur4d pos
Coordonnées du sommet.
Math::vecteur3d col
Couleur de la lumière émise par la lampe.
structure pour les matrices 4x4
virtual void PixelShader(void *In, void *Out, void *Param, std::size_t x, std::size_t y)
ShaderBase::PixelShader(void *In, void *Out, void *Param, std::size_t x, std::size_t y) Fonction perm...
void mul(float v)
U.mul(v) multiplie (en place) U par le scalaire v.
Math::matrice44 inverseworld
Material material
Matériau de l'objet.