
//=============================================
// 
// Mercredi 12 decembre 2001
//  
// Arash Habibi
// 
// Phong.h
//
//============================================


#ifndef _PHONG_H_
#define _PHONG_H_

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include "Vecteur.h"
#include "Couleur.h"

typedef struct
{
  couleur_t coef_diffus, coef_speculaire, coef_ambiant; 
  int brillance; 
  unsigned char miroir, dioptre; 
  float indice; 
} surface_t; 

void PH_Check(surface_t s, char *commentaire); 

void PH_Set(surface_t *s, couleur_t diffus, couleur_t speculaire, couleur_t ambiant, int billance, unsigned char miroir, unsigned char dioptre, float indice);

couleur_t PH_CouleurReflechie(surface_t s, vecteur_t normal, vecteur_t intersect, vecteur_t source, vecteur_t obs, couleur_t incident, couleur_t ambiant); 

vecteur_t PH_Miroir(surface_t s, vecteur_t normal, vecteur_t incident); 

vecteur_t PH_Dioptre(vecteur_t normal, vecteur_t incident, float indice); 

#endif
