gKitGL
Classes | Typedefs | Functions
representation de points, vecteurs, normales, couleurs, etc.

Classes

class  gk::Point2
 point en dimension 2, utilise pour representer les coordonnees de textures d'un sommet, par exemple. More...
class  gk::Vector
 vecteur en dimension 3. More...
class  gk::Color
 represente une quantite d'energie, un tuple <rgba>. More...
class  gk::Point
 representation d'un point de dimension 3. More...
class  gk::HPoint
 representation d'un point homogene de dimension 4, transformation d'un Point par une projection (cf Perspective() et Transform). More...
class  gk::Normal
 representation d'une normale de dimension 3, cf. Vector pour la description des operations. More...
struct  gk::BasicRay
 representation minimale d'un rayon. More...
struct  gk::Ray
 representation 'pre-calculee' d'un rayon. More...
struct  gk::Hit
 representation d'un point d'intersection rayon / objet. More...
class  gk::BBox
 representation d'une boite englobante alignee sur les axes (aabox). More...

Typedefs

typedef Vector gk::Vector3
 par habitude, declare le type Vecteur3
typedef Color gk::Energy
 declare une couleur, un tripet <rgb> comme une couleur.
typedef Normal gk::Tangent
 une tangente se transforme de la meme maniere qu'une normale.

Functions

float gk::Clamp (const float value, const float low, const float high)
 limite une valeur entre un min et un max.
std::ostream & gk::operator<< (std::ostream &os, const Vector &v)
Vector gk::operator* (float f, const Vector &v)
 scalaire * vecteur.
float gk::Dot (const Vector &v1, const Vector &v2)
 produit scalaire de 2 vecteurs.
float gk::AbsDot (const Vector &v1, const Vector &v2)
 valeur absolue du produit scalaire de 2 vecteurs.
float gk::ZeroDot (const Vector &v1, const Vector &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
Vector gk::Cross (const Vector &v1, const Vector &v2)
 produit vectoriel de 2 vecteurs.
Vector gk::Cross (const Vector &v1, const Normal &v2)
 produit vectoriel d'un vecteur et d'une normale.
Vector gk::Cross (const Normal &v1, const Vector &v2)
 produit vectoriel d'une normale et d'un vecteur.
Vector gk::Normalize (const Vector &v)
 renvoie un vecteur de longueur 1 de meme direction que v.
void gk::CoordinateSystem (const Vector &v1, Vector *v2, Vector *v3)
 construit un repere orthogonal dont la normale est aligne sur un vecteur v1, v2 et v3 sont les 2 tangentes.
float gk::Distance (const Point &p1, const Point &p2)
 renvoie la distance entre 2 points.
float gk::DistanceSquared (const Point &p1, const Point &p2)
 renvoie le carre de la distance entre 2 points.
Point gk::operator* (float f, const Point &p)
 scalaire * point.
Normal gk::operator* (float f, const Normal &n)
 scalaire * normale.
Normal gk::Normalize (const Normal &n)
 renvoie une normale de meme direction, mais de longeur 1.
float gk::Dot (const Normal &n1, const Vector &v2)
 produit scalaire d'une normale et d'un vecteur.
float gk::Dot (const Vector &v1, const Normal &n2)
 produit scalaire d'un vecteur et d'une normale.
float gk::Dot (const Normal &n1, const Normal &n2)
 produit scalaire de 2 normales.
float gk::AbsDot (const Normal &n1, const Vector &v2)
 valeur absolue du produit scalaire d'une normale et d'un vecteur.
float gk::AbsDot (const Vector &v1, const Normal &n2)
 valeur absolue du produit scalaire d'un vecteur et d'une normale.
float gk::AbsDot (const Normal &n1, const Normal &n2)
 valeur absolue du produit scalaire de 2 normales.
float gk::ZeroDot (const Normal &v1, const Vector &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
float gk::ZeroDot (const Vector &v1, const Normal &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
float gk::ZeroDot (const Normal &v1, const Normal &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
std::ostream & gk::operator<< (std::ostream &os, const Normal &v)
std::ostream & gk::operator<< (std::ostream &os, const BBox &b)
float gk::Lerp (const float t, const float v1, const float v2)
 interpolation lineaire entre 2 reels, x= (1 - t) v1 + t v2
int gk::Clamp (const int value, const int low, const int high)
 limite une valeur entre un min et un max.
float gk::Radians (const float deg)
 conversion degres vers radians.
float gk::Degrees (const float rad)
 conversion radians vers degres.
Vector gk::SphericalDirection (float sintheta, float costheta, float phi)
 renvoie un vecteur dont la direction est representee en coordonness polaires.
Vector gk::SphericalDirection (float sintheta, float costheta, float phi, const Vector &x, const Vector &y, const Vector &z)
 renvoie les composantes d'un vecteur dont la direction est representee en coordonnees polaires, dans la base x, y, z.
float gk::SphericalTheta (const Vector &v)
 renvoie l'angle theta d'un vecteur avec la normale, l'axe Z, (utilisation dans un repere local).
float gk::SphericalPhi (const Vector &v)
 renvoie l'angle phi d'un vecteur avec un vecteur tangent, l'axe X, (utilisation dans un repere local).
 gk::Vector::Vector (const Point &p)
 construit un vecteur a partir des coordonnees d'un point.
 gk::Vector::Vector (const Point &p, const Point &q)
 construit le vecteur pq, origine p, direction q - p.
 gk::Vector::Vector (const Normal &n)
 construit un vecteur a partir des coordonnees d'une normale.
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends