Pipeline graphique
|
#include <ShaderBase.h>
Fonctions membres publiques | |
ShaderBase () | |
Destructeur. Plus de détails... | |
virtual | ~ShaderBase () |
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 permetant d'effectuer les tranbsformation sur les sommet Les trasnformation sont : repere local -> repere global -> repere l'observateur -> mise en perspective. Plus de détails... | |
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 permetant de renvoiyer une couleur dans un pixel pas d'ombrage ni lumiere. Plus de détails... | |
unsigned int | getNbLight () |
Math::vecteur3d & | getPosCamera () |
Light_Global * | pointLight (unsigned int id) |
Light_Global & | Light (unsigned int id) |
Retourne la structure associée à la iéme lampe de la scène. Plus de détails... | |
void | SetMaterial (Material &material) |
Fixe le matériau utilisé par le shader. Plus de détails... | |
void | SetCamera (Camera *camera) |
Fixe la définition de la caméra. Plus de détails... | |
void | SetWorldTransform (Math::matrice44 &mat) |
Fixe la transformation globale de l'objet. Plus de détails... | |
void | AddLights (Light_Global *light) |
ShaderBase::AddLights(Light_Global * light) Fonction permetant d'ajouter une lampe a la scene, elle sera ajouter dans le vecteur contenant toute les lampe. Plus de détails... | |
void | Update () |
ShaderBase::Update() Fonction permetant de metre a jour le shader pour prendre en compte de nouvelle information: Mise en memoire des Lumiere local World-1* poslamp Mise a jour de la position Local de la camera world-1*posobservateur. Plus de détails... | |
Attributs protégés | |
unsigned int | nlightLocal |
Nombre de lampes actives. Plus de détails... | |
std::vector< Light_Global * > | lights |
Light_Local * | lightsLocal |
Camera * | camera |
Caméra. Plus de détails... | |
Math::vecteur3d | poscamLocal |
Math::matrice44 | total |
Matrice de transformation globale. Plus de détails... | |
Math::matrice44 | world |
Matrice de transformation globale. Plus de détails... | |
Material | material |
Matériau de l'objet. Plus de détails... | |
Math::matrice44 | inverseworld |
bool | debug |
Définition à la ligne 14 du fichier ShaderBase.h.
ShaderBase::ShaderBase | ( | ) |
Destructeur.
Définition à la ligne 2 du fichier ShaderBase.cpp.
Références debug, lightsLocal, et nlightLocal.
|
inlinevirtual |
Définition à la ligne 35 du fichier ShaderBase.h.
void ShaderBase::AddLights | ( | Light_Global * | light | ) |
ShaderBase::AddLights(Light_Global * light) Fonction permetant d'ajouter une lampe a la scene, elle sera ajouter dans le vecteur contenant toute les lampe.
Définition à la ligne 107 du fichier ShaderBase.cpp.
Références lights.
|
inline |
|
inline |
Définition à la ligne 44 du fichier ShaderBase.h.
Références Camera::GetPosObservateur().
Light_Global & ShaderBase::Light | ( | unsigned int | id | ) |
Retourne la structure associée à la iéme lampe de la scène.
ShaderBase::Light(unsigned int id) Fonction permetant de recuperer une référence vers une lampe.
Définition à la ligne 116 du fichier ShaderBase.cpp.
Références lights.
|
virtual |
ShaderBase::PixelShader(void *In, void *Out, void *Param, std::size_t x, std::size_t y) Fonction permetant de renvoiyer une couleur dans un pixel pas d'ombrage ni lumiere.
IN | Pointeur vers une structure d'entré du pixel |
Out | Pointeur vers une structure de sortie du pixel shader |
Param | pointeur vers une structure de parametrage du pixel shader(pas utiliser) |
x | Envoie de parametre au pixel shader(pas utiliser) |
y | Envoie de parametre au pixel shader(pas utiliser) |
Réimplémentée dans ShaderGoureau, et ShaderPhong.
Définition à la ligne 52 du fichier ShaderBase.cpp.
Références Material::col, pixelOUT::col, debug, material, pixelIN::print(), et pixelOUT::print().
|
inline |
void ShaderBase::SetCamera | ( | Camera * | camera | ) |
Fixe la définition de la caméra.
ShaderBase::SetCamera(Camera *camera) Fonction permetant de définir une camera pour le shader.
Définition à la ligne 138 du fichier ShaderBase.cpp.
Références camera.
void ShaderBase::SetMaterial | ( | Material & | material | ) |
Fixe le matériau utilisé par le shader.
ShaderBase::SetMaterial(Material &material) Fonction permetant de définir un materiaux pour le shader.
Définition à la ligne 130 du fichier ShaderBase.cpp.
Références material.
void ShaderBase::SetWorldTransform | ( | Math::matrice44 & | mat | ) |
Fixe la transformation globale de l'objet.
ShaderBase::SetWorldTransform(Math::matrice44 &mat) Fonction permetant de définir une matrice de transformation pour l'object.
Définition à la ligne 146 du fichier ShaderBase.cpp.
Références camera, Camera::GetProjectionObservationMatrix(), Math::matrice44::inverse(), inverseworld, Math::matrice44::mul(), total, Math::matrice44::view(), world, et Math::matrice44::zero().
void ShaderBase::Update | ( | ) |
ShaderBase::Update() Fonction permetant de metre a jour le shader pour prendre en compte de nouvelle information: Mise en memoire des Lumiere local World-1* poslamp Mise a jour de la position Local de la camera world-1*posobservateur.
Définition à la ligne 75 du fichier ShaderBase.cpp.
Références camera, Light_Local::col, Camera::GetPosObservateur(), Light_Local::intensiter, inverseworld, lights, lightsLocal, Math::vecteur3d::mul(), nlightLocal, Light_Local::pos, poscamLocal, et world.
|
virtual |
ShaderBase::VertexShader(void *In, void *Out, void *Param, std::size_t x, std::size_t y) Fonction permetant d'effectuer les tranbsformation sur les sommet Les trasnformation sont : repere local -> repere global -> repere l'observateur -> mise en perspective.
IN | Pointeur vers une structure d'entré du sommet |
Out | Pointeur vers une structure de sortie du vertex shader |
Param | pointeur vers une structure de parametrage du pixel shader(pas utiliser) |
Id0 | Envoie de parametre au pixel shader: ici le numero du sommet d'entrer a transformer |
Id1 | Envoie de parametre au pixel shader(pas utiliser) |
Réimplémentée dans ShaderGoureau.
Définition à la ligne 18 du fichier ShaderBase.cpp.
Références camera, debug, Camera::GetObservationMatrix(), Camera::GetProjectionMatrix(), Math::vecteur4d::mul(), Sommet::pos, Sommet::print(), Math::vecteur4d::w, world, Math::vecteur4d::x, Math::vecteur4d::y, et Math::vecteur4d::z.
|
protected |
Caméra.
Définition à la ligne 21 du fichier ShaderBase.h.
|
protected |
Définition à la ligne 29 du fichier ShaderBase.h.
|
protected |
Définition à la ligne 28 du fichier ShaderBase.h.
|
protected |
Définition à la ligne 18 du fichier ShaderBase.h.
|
protected |
Définition à la ligne 19 du fichier ShaderBase.h.
|
protected |
Matériau de l'objet.
Définition à la ligne 26 du fichier ShaderBase.h.
|
protected |
Nombre de lampes actives.
Définition à la ligne 17 du fichier ShaderBase.h.
|
protected |
Définition à la ligne 22 du fichier ShaderBase.h.
|
protected |
Matrice de transformation globale.
Définition à la ligne 24 du fichier ShaderBase.h.
|
protected |
Matrice de transformation globale.
Définition à la ligne 25 du fichier ShaderBase.h.