1 #ifndef _DEF_SHADERBASE
2 #define _DEF_SHADERBASE
38 virtual void VertexShader(
void *In,
void *Out,
void *Param, std::size_t Id0, std::size_t Id1) ;
39 virtual void PixelShader(
void *In,
void *Out,
void *Param, std::size_t x, std::size_t y) ;
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.
Light_Global * pointLight(unsigned int id)
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.
void SetWorldTransform(Math::matrice44 &mat)
Fixe la transformation globale de l'objet.
Structure définissant un matériau tel que vu dans le cours (modèle de Phong).
unsigned int getNbLight()
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 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
Math::matrice44 total
Matrice de transformation globale.
Math::vecteur3d & getPosCamera()
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...
Math::matrice44 inverseworld
Material material
Matériau de l'objet.