Pipeline graphique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros
Fonctions membres publiques | Attributs protégés
Référence de la classe ShaderBase

#include <ShaderBase.h>

Graphe d'héritage de ShaderBase:
Inheritance graph
Graphe de collaboration de ShaderBase:
Collaboration graph

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::vecteur3dgetPosCamera ()
 
Light_GlobalpointLight (unsigned int id)
 
Light_GlobalLight (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_LocallightsLocal
 
Cameracamera
 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
 

Description détaillée

Définition à la ligne 14 du fichier ShaderBase.h.

Documentation des constructeurs et destructeur

ShaderBase::ShaderBase ( )

Destructeur.

Définition à la ligne 2 du fichier ShaderBase.cpp.

Références debug, lightsLocal, et nlightLocal.

virtual ShaderBase::~ShaderBase ( )
inlinevirtual

Définition à la ligne 35 du fichier ShaderBase.h.

Documentation des fonctions membres

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.

Voici le graphe des appelants de cette fonction :

unsigned int ShaderBase::getNbLight ( )
inline

Définition à la ligne 43 du fichier ShaderBase.h.

Voici le graphe des appelants de cette fonction :

Math::vecteur3d& ShaderBase::getPosCamera ( )
inline

Définition à la ligne 44 du fichier ShaderBase.h.

Références Camera::GetPosObservateur().

Voici le graphe d'appel pour cette fonction :

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.

Renvoie
Reference vers une lampe

Définition à la ligne 116 du fichier ShaderBase.cpp.

Références lights.

void ShaderBase::PixelShader ( void *  In,
void *  Out,
void *  Param,
std::size_t  x,
std::size_t  y 
)
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.

Paramètres
INPointeur vers une structure d'entré du pixel
OutPointeur vers une structure de sortie du pixel shader
Parampointeur vers une structure de parametrage du pixel shader(pas utiliser)
xEnvoie de parametre au pixel shader(pas utiliser)
yEnvoie 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().

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

Light_Global* ShaderBase::pointLight ( unsigned int  id)
inline

Définition à la ligne 45 du fichier ShaderBase.h.

Voici le graphe des appelants de cette fonction :

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.

Voici le graphe des appelants de cette fonction :

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.

Voici le graphe des appelants de cette fonction :

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().

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

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.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void ShaderBase::VertexShader ( void *  In,
void *  Out,
void *  Param,
std::size_t  Id0,
std::size_t  Id1 
)
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.

Paramètres
INPointeur vers une structure d'entré du sommet
OutPointeur vers une structure de sortie du vertex shader
Parampointeur vers une structure de parametrage du pixel shader(pas utiliser)
Id0Envoie de parametre au pixel shader: ici le numero du sommet d'entrer a transformer
Id1Envoie 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.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

Documentation des champs

Camera* ShaderBase::camera
protected

Caméra.

Définition à la ligne 21 du fichier ShaderBase.h.

bool ShaderBase::debug
protected

Définition à la ligne 29 du fichier ShaderBase.h.

Math::matrice44 ShaderBase::inverseworld
protected

Définition à la ligne 28 du fichier ShaderBase.h.

std::vector<Light_Global *> ShaderBase::lights
protected

Définition à la ligne 18 du fichier ShaderBase.h.

Light_Local* ShaderBase::lightsLocal
protected

Définition à la ligne 19 du fichier ShaderBase.h.

Material ShaderBase::material
protected

Matériau de l'objet.

Définition à la ligne 26 du fichier ShaderBase.h.

unsigned int ShaderBase::nlightLocal
protected

Nombre de lampes actives.

Définition à la ligne 17 du fichier ShaderBase.h.

Math::vecteur3d ShaderBase::poscamLocal
protected

Définition à la ligne 22 du fichier ShaderBase.h.

Math::matrice44 ShaderBase::total
protected

Matrice de transformation globale.

Définition à la ligne 24 du fichier ShaderBase.h.

Math::matrice44 ShaderBase::world
protected

Matrice de transformation globale.

Définition à la ligne 25 du fichier ShaderBase.h.


La documentation de cette classe a été générée à partir des fichiers suivants :