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