12 inline void set(
float v) { r=g=b=v; a=1.f; };
13 inline void set(
float vr,
float vg,
float vb ) { r=vr; g=vg; b=vb; a=1.f; };
15 float Distance(COLOR &col1, COLOR &col2);
30 inline void set(
float _x,
float _y,
float _z) { x=_x; y=_y; z=_z; };
32 inline void zero(
void) { x=y=z=0.f; };
33 inline float norm(
void) {
return sqrt(x*x+y*y+z*z); };
34 inline void normalize(
void) {
float norm2 = x*x+y*y+z*
z;
if (norm2==0.f)
return;
float inorm=1.f/sqrt(norm2); x*=inorm; y*=inorm; z*=inorm; };
70 bool LoadMesh(
const char *fname,
bool invface);
namespace pour la lecture de .mesh (g�om�trie) et .medit (materiau)
int getStride(void)
renvoit la table des mat�riaux, et le nombre de mat�riaux en param�tre
BOUNDINGBOX GetBoundingBox(void)
normalisation de l'objet ([-1;+1] x [-1;+1] x [-1;+1])
INDICE * getIndices(int &_nFaces)
renvoit la table des sommets, et le nombre de sommets en param�tre
void Interpolate(int n1, MATERIAL &mat1, int n2, MATERIAL &mat2)
exposant sp�culaire
void CompressAttributeTable(float)
met la table des mat�riaux � 0 (m�me mat�riau pour toutes les faces)
Object()
calcul des normales � partir de la g�om�trie de l'objet
void add(VECTOR &v)
fixe � la diff�rence entre 2 vecteurs
int * Attribute
tableau des indices (3 indices cons�cutifs = 1 face)
MATERIAL * Material
tableau des attributs (Attribute[i] = indice j du mat�riau � utiliser pour la i�me face) ...
void set(float _x, float _y, float _z)
position d'un vecteur
void set(VECTOR P)
fixe la valeur du vecteur
distance entre 2 couleurs
bool LoadMesh(const char *fname, bool invface)
reduit le nombre de mat�riaux dans la table (param�tre=distance entre 2 mat�riaux pour les amalgam...
void normalize(void)
norme du vecteur
void Interpolate(float u1, COLOR &col1, float u2, COLOR &col2)
rouge, vert, bleu, alpha
float Power
couleurs diffuses, ambiante, sp�culaire et �missive
structure de sommet (position+normale)
VERTEX * Vertex
nombre de sommets, de faces et de mat�riaux
float Distance(COLOR &col1, COLOR &col2)
MATERIAL * getMaterials(int &_nMaterials)
renvoit la table des attributs, et le nombre de faces en param�tre
structure pour la gestion des couleurs
INDICE * Indice
tableau de sommets
VERTEX * getVertex(int &_nVertex)
affiche les 10 premiers mat�riaux
void Normalize(void)
destructeur
void MaterialInfo(int=0)
affiche les 10 premi�res faces
void FlattenAttributeTable(void)
calcule et retourne la boite englobante
void set(float v)
interpolation entre 2 couleurs
distance entre 2 mat�riaux
bool LoadMaterial(const char *, bool skip0)
charge un objet g�om�trique .mesh dans l'objet (invface = inverser l'ordre des faces (false = ...
int * getAttributes(int &_nFaces)
renvoit la table des indices, et le nombre de faces en param�tre
void vecprod(VECTOR &v1, VECTOR &v2)
ajoute un vecteur au vecteur courant
void FacesInfo(int=0)
affiche les 10 premiers sommets
float norm(void)
fixe le vecteur � null
void diff(VECTOR &v1, VECTOR &v2)
normalise le vecteur
void ComputeNormals(void)
tableau des mat�riaux
unsigned int INDICE
indice des sommets
void set(float vr, float vg, float vb)
fixe un niveau de gris
void VertexInfo(int=0)
charge un table de mat�riau .medit dans l'objet (skip0 = ne pas utiliser le mat�riau 0 - faux en gï¿...
structure pour la gestion d'un objet 3D