gKitGL
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
gk Namespace Reference

namespace pour regrouper les types et les fonctions. More...

Namespaces

namespace  OBJ
 

namespace prive.


Classes

struct  AppSettings
 parametres de creation du contexte openGL. More...
class  App
 application de base SDL + openGL. More...
class  Brdf
 representation d'une brdf blinn phong, comportements diffus + lobe glossy More...
class  Camera
 camera generique. More...
class  PerspectiveCamera
 camera perspective. More...
class  FirstPersonCamera
 camera first person. More...
class  OrthographicCamera
 camera orthographique. More...
class  Cdf
 construction d'une fonction de repartition et choix aleatoire d'un element en fonction de la fonction de repartition. More...
class  CLManager
 manager pour les ressources openCL crees directement par l'application. More...
class  CLResource
 classe de base des resources openCL, referencees par l'application, proprietes du contexte openCL. cf CLResource, gestion des objets openCL. More...
class  Effect
 charge un fichier texte decoupe en sections (nommees). More...
class  EffectIO
 manager pour importer des effets / scripts. More...
class  EffectShaderManager
 creation simplifiee d'un shader program a partir d'un script. More...
class  Point2
 point en dimension 2, utilise pour representer les coordonnees de textures d'un sommet, par exemple. More...
class  Vector
 vecteur en dimension 3. More...
class  Color
 represente une quantite d'energie, un tuple <rgba>. More...
class  Point
 representation d'un point de dimension 3. More...
class  HPoint
 representation d'un point homogene de dimension 4, transformation d'un Point par une projection (cf Perspective() et Transform). More...
class  Normal
 representation d'une normale de dimension 3, cf. Vector pour la description des operations. More...
struct  BasicRay
 representation minimale d'un rayon. More...
struct  Ray
 representation 'pre-calculee' d'un rayon. More...
struct  Hit
 representation d'un point d'intersection rayon / objet. More...
class  BBox
 representation d'une boite englobante alignee sur les axes (aabox). More...
class  GLManager
 manager pour les ressources openGL crees directement par l'application. More...
class  GLResource
 classe de base des resources openGL, referencees par l'application, proprietes du contexte openGL. cf Gestion des objets openGL, gestion des objets openGL. More...
class  GLTexture2DIO
 manager pour importer des GLColorTexture / GLHDRTexture. More...
struct  Pixel
 representation d'un pixel 'classique' rgba. More...
struct  HDRPixel
 representation d'un pixel 'hdr' rgba. More...
class  TImage
 utilisation interne. More...
class  TImageArray
class  TImageCube
class  ImageIO
 operations d'entree/sortie sur les formats standards, jpg, bmp, png, tiff, etc. More...
class  HDRImageIO
 operations d'entree/sortie sur une image .hdr. More...
class  IOFile
 representation interne de l'etat (taille + date) d'un fichier charge par l'application. More...
class  IOFileInfo
 descripteur de fichier charge par l'application. More...
class  IOFileManager
 representation de l'ensemble de fichiers ouverts par l'application. More...
struct  IOInfo
 representation des informations sur un fichier. More...
struct  IOFileSystem
class  IOManager
 manager pour les 'objets' importes a partir d'un fichier. More...
class  IOName
 utilisation interne. nom + infos pour un objet importe par un IOManager. More...
class  IOResource
 classe de base des resources importees depuis un fichier, referencees par l'application, proprietes du gk::IOManager. More...
class  Log
 affiche une seule fois chaque message. More...
struct  SubMesh
 representation d'une partie d'un maillage associee a une matiere unique identifiee par son indice 'material_id'. More...
struct  MeshBuffer
 representation d'un ensemble d'attributs generiques des sommets du maillage. equivalent a un GLBuffer. More...
struct  MeshTriangle
 representation indexee des sommets d'un triangle. More...
class  Mesh
 representation d'un maillage triangule. More...
class  MeshIO
 manager pour importer des maillages. More...
struct  MeshMaterial
 representation d'une matiere. More...
class  MeshMaterialIO
 manager pour importer des matieres. More...
class  Name
 representation d'un identifiant par une chaine de caracteres et / ou un index. More...
class  Orbiter
 place et oriente un objet, construit une transformation XYZT. More...
struct  PNTriangle
 representation d'un triangle position + normale. More...
class  ProfilerClock
 horloge systeme, duree mesuree en micro secondes. More...
class  IStatsUserData
 classe de base des donnees utilisateur associees a un historique de valeurs / cf StatsCounter. More...
class  StatsCounter
 stocke un historique de valeurs. More...
class  StatsCounterIO
 manager de compteurs : conserve l'ensemble des compteurs crees par l'application et ecrit leur historique dans des fichiers textes portant le nom es compteurs. More...
class  ScopedTimer
 mesure le temps d'execution d'un bloc et enregistre la mesure dans un compteur nomme. More...
class  ScopedCounter
 creation / acces simplifie a un compteur nomme, gk::StatsCounter. More...
class  TimerSummary
 retrouve un compteur gk::StatsCounter et renvoie un resume des mesures du compteur. les mesures sont interpretees comme des durees en micro-secondes. More...
class  CounterSummary
 retrouve un compteur et renvoie un resume des mesures du compteur. les mesures ne sont pas "interpretees", cf TimerSummary More...
struct  PTNTriangle
 representation d'un triangle position + coordonnees de texture + normale. More...
struct  RTTriangle
 representation d'un triangle pour l'intersecteur rayon / triangle. More...
class  Sampler
 representation d'un generateur aleatoire ... simpliste, voire inutile More...
struct  Vec4Value
 representation d'un vec4, valeur associee a une cle, cf. TextKey et TextFile. More...
struct  Vec3Value
 representation d'un vec3, valeur associee a une cle, cf. TextKey et TextFile. More...
struct  Vec2Value
 representation d'un vec2, valeur associee a une cle, cf. TextKey et TextFile. More...
struct  FloatValue
 representation d'un float, valeur associee a une cle, cf. TextFile More...
struct  IntValue
 representation d'un int, valeur associee a une cle, cf. TextFile. More...
struct  StringValue
 representation d'une chaine de caracteres, valeur associee a une cle, cf. TextFile. More...
struct  FileValue
 representation d'un nom de fichier, valeur associee a une cle, cf. TextFile. More...
struct  NameValue
 representation d'un nom de variable, de section, etc. valeur associee a une cle, cf. TextFile. More...
class  TextValue
 representation d'une valeur (non interpretee, texte) associee a une cle, cf. TextKey et TextFile. More...
struct  TextSection
 representation d'une section d'un fichier texte / d'un fichier effet .gkfx. More...
class  TextDefinitions
 ensemble de definitions, #define what value More...
class  TextFile
 representation d'une section de fichier effet (.gkfx), d'un texte, d'un source de shader, etc. More...
class  TextFileIO
 manager pour importer des ficheirs textes, sources, shaders, etc. More...
struct  Matrix4x4
 representation d'une matrice homogene 4x4. More...
class  Transform
 representation d'une transformation == un changement de repere, du repere '1' vers le repere '2'. More...
struct  Triangle
 representation d'un triangle 'geometrique'. More...
struct  TriangleBox
 representation d'un triangle pour la construction efficace d'une partition sah l'operation la plus frequente est l'obtention de la boite englobante du triangle et de son centre, pMin, pMax representent les points extremes de la bbox, et p stocke les autres coordonnees, shuffle indexe pour chaque sommet dans quel point (pMin, pMax, p) se trouve chaque composante More...
class  GLQuery
 utilisation interne. representation d'un objet requete. More...
class  GLTimer
 temps gpu necessaire a l'execution des commandes entre begin() et end(). More...
class  GLOcclusion
 nombre de fragments ecrits entre begin() et end(). More...
class  GLPrimitivesGenerated
 nombre de primitives emises en sortie du vertex shader, ou du geometrie shader, s'il existe. More...
class  GLFeedbackPrimitives
 nombre de primitives ecrites dans les feedback buffers. More...
class  GLShaderObject
 utilisation interne. abstraction d'un shader object, ressource openGL. More...
class  GLVertexShader
 representation d'un vertex shader object, objet openGL. More...
class  GLFragmentShader
 representation d'un fragment shader object, objet openGL. More...
class  GLGeometryShader
 representation d'un geometry shader object. objet openGL. More...
class  GLControlShader
 representation d'un tesselation control shader object. objet openGL. More...
class  GLEvaluationShader
 representation d'un tesselation evaluation shader object. objet openGL. More...
class  TShaderIO
struct  gvec2
struct  gvec3
struct  gvec4
struct  gscalar
class  GLStreamQuery
 utilisation interne. representation d'un objet requete. More...
class  GLStreamPrimitivesGenerated
 nombre de primitives emises en sortie du vertex shader, ou du geometry shader, s'il existe. More...
class  GLStreamFeedbackPrimitives
 nombre de primitives ecrites dans les feedback buffers. More...
class  GLBufferArray
 representation d'un VertexArray openGL. ensemble de buffers permettant de dessiner un objet. More...
class  GLBuffer
 utilisation interne. representation d'un buffer openGL. More...
class  GLAttributeBuffer
 representation d'un buffer d'attribut. More...
class  ScopedMapAttributeBuffer
class  GLIndexBuffer
 representation d'un buffer d'indexation. More...
class  ScopedMapIndexBuffer
struct  BufferLayout
 organisation des donnees (attributs/indices) dans un buffer More...
struct  BufferRange
 organisation d'uniforms dans un buffer More...
class  GLVertexArray
 representation d'un vertex attrib array, necessaire en core profile pour stocker l'association des attributs du shader program et du contenu des vertex buffers. More...
struct  RenderbufferFormat
 representation du format des pixels d'une texture More...
class  GLRenderbuffer
 representation interne. representation d'un renderbuffer / utiliser une texture plutot qu'un renderbuffer. More...
class  GLRenderbuffer2D
class  GLRendertarget
 utilisation interne. representation d'un framebuffer. More...
class  GLFramebuffer
 representation d'un (draw) framebuffer. More...
class  GLReadFramebuffer
 representation d'un (read) framebuffer. More...
class  ProgramName
 utilisation interne. identifiant generique. More...
class  ProgramInterface
 identifiant d'un uniform block / interface. More...
class  GLSampler
class  GLNearestSampler
class  GLLinearSampler
class  GLAnisotropicSampler
class  GLDepthSampler
class  GLShaderProgram
 representation d'un shader program openGL. More...
struct  TextureFormat
 representation du format des pixels d'une texture More...
class  GLTexture
 utilisation interne. representation d'une texture openGL. More...
class  GLTexture1D
class  GLTexture1DArray
class  GLTexture2D
class  GLDepthTexture
class  GLTexture2DArray
class  GLTextureCube
class  GLDepthTextureCube
class  GLTextureCubeArray
class  GLTexture3D
class  CLBuffer
struct  ImageOrigin
struct  ImageRegion
class  CLImage
class  CLKernel
class  CLQueue

Typedefs

typedef Vector Vector3
 par habitude, declare le type Vecteur3
typedef Color Energy
 declare une couleur, un tripet <rgb> comme une couleur.
typedef Normal Tangent
 une tangente se transforme de la meme maniere qu'une normale.
typedef TImage< HDRPixelHDRImage
 declaration d'une image hdr, pixels rgba.
typedef TImage< PixelImage
 declaration d'une image 'classique', avec pixels rgba.
typedef TImageArray< HDRPixelHDRImageArray
 declaration d'un image array hdr, pixels rgba.
typedef TImageArray< PixelImageArray
 declaration d'un image array, pixels rgba.
typedef TImageCube< HDRPixelHDRImageCube
 declaration d'une image cube hdr, pixels rgba.
typedef TImageCube< PixelImageCube
 declaration d'une image cube, pixels rgba.
typedef TShaderIO< GLVertexShaderGLVertexShaderIO
typedef TShaderIO
< GLFragmentShader
GLFragmentShaderIO
typedef TShaderIO
< GLGeometryShader
GLGeometryShaderIO
typedef TShaderIO
< GLControlShader
GLControlShaderIO
typedef TShaderIO
< GLEvaluationShader
GLEvaluationShaderIO
typedef gscalar< bool > GLSLbool
typedef gvec2< bool > GLSLbvec2
typedef gvec3< bool > GLSLbvec3
typedef gvec4< bool > GLSLbvec4
typedef gscalar< unsigned int > GLSLuint
typedef gvec2< unsigned int > GLSLuvec2
typedef gvec3< unsigned int > GLSLuvec3
typedef gvec4< unsigned int > GLSLuvec4
typedef gscalar< int > GLSLint
typedef gvec2< int > GLSLivec2
typedef gvec3< int > GLSLivec3
typedef gvec4< int > GLSLivec4
typedef gscalar< float > GLSLfloat
typedef gvec2< float > GLSLvec2
typedef gvec3< float > GLSLvec3
typedef gvec4< float > GLSLvec4
typedef ProgramName ProgramUniform
 identifiant d'un uniform.
typedef ProgramName ProgramAttribute
 identifiant d'un attribut.
typedef ProgramName ProgramDrawbuffer
 identifiant d'un draw buffer / fragment varying.
typedef ProgramName ProgramFeedback
 identifiant d'un transform feedback varying.
typedef ProgramName ProgramSampler
 identifiant d'un sampler.

Enumerations

enum  {
  INDICE = 0, ATTRIBUTE, ATTRIBUTE0 = ATTRIBUTE, POSITION = ATTRIBUTE0,
  ATTRIBUTE1, NORMAL = ATTRIBUTE1, ATTRIBUTE2, TEXCOORD = ATTRIBUTE2,
  ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5, ATTRIBUTE6,
  ATTRIBUTE7, FEEDBACK, FEEDBACK0 = FEEDBACK, FEEDBACK1,
  FEEDBACK2, FEEDBACK3, UNIFORM, UNIFORM0 = UNIFORM,
  UNIFORM1, UNIFORM2, UNIFORM3, UNIFORM4,
  UNIFORM5, UNIFORM6, UNIFORM7, INDIRECT,
  BUFFER_STATE_LAST
}
enum  {
  COLOR0 = 0, COLOR1 = 1, COLOR2 = 2, COLOR3 = 3,
  COLOR4 = 4, COLOR5 = 5, COLOR6 = 6, COLOR7 = 7,
  FRAMEBUFFER_LAST_COLOR = 8, DEPTH = 9, FRAMEBUFFER_LAST = 10
}
 identification des textures associees au framebuffer.
enum  {
  COLOR0_BIT = 1<<COLOR0, COLOR1_BIT = 1<<COLOR1, COLOR2_BIT = 1<<COLOR2, COLOR3_BIT = 1<<COLOR3,
  COLOR4_BIT = 1<<COLOR4, COLOR5_BIT = 1<<COLOR5, COLOR6_BIT = 1<<COLOR6, COLOR7_BIT = 1<<COLOR7,
  DEPTH_BIT = 1<<DEPTH
}
 creation des textures par le framebuffer : identification des textures a initialiser.
enum  {
  DRAW0 = 0, DRAW1 = 1, DRAW2 = 2, DRAW3 = 3,
  DRAW4 = 4, DRAW5 = 5, DRAW6 = 6, DRAW7 = 7
}
 identification des drawbuffers.
enum  {
  UNIT0 = 0, UNIT1 = 1, UNIT2 = 2, UNIT3 = 3,
  UNIT4 = 4, UNIT5 = 5, UNIT6 = 6, UNIT7 = 7
}
enum  {
  CPU_BIT = 1, GPU_BIT = 2, GL_BIT = 4, DEBUG_BIT = 8,
  PROFILE_BIT = 16
}
 flags de configuration du contexte openCL More...

Functions

void GK_CALLBACK AppDebug (GLenum source, GLenum type, unsigned int id, GLenum severity, GLsizei length, const char *message, void *userParam)
 affiche les messages opengl dans un contexte debug core profile.
float Square (const float x)
float Cube (const float x)
float CosTheta (const Vector &w)
 repere local de la brdf.
float SinTheta2 (const Vector &w)
float SinTheta (const Vector &w)
float CosPhi (const Vector &w)
float SinPhi (const Vector &w)
bool SameHemisphere (const Vector &v, const Vector &w)
 renvoie vrai si v et w sont du meme cote de la surface.
void Reflect (const Vector &w, const Vector &n, Vector &r)
 r= direction miroir de w par rapport a n.
Vector Reflect (const Vector &w, const Vector &n)
 renvoie la direction miroir de w par rapport a n.
float SampleUniform (const float r1, const float r2, Vector &w)
 genere une direction w dans l'hemisphere. pdf = constante.
float SampleUniform (Sampler &sampler, Vector &w)
 genere une direction w dans l'hemisphere. pdf = constante.
float pdfUniform (const Vector &w)
 renvoie la probabilite de generer la direction w pour une pdf = constante.
float SampleCos (Sampler &sampler, Vector &w)
 genere une direction w dans l'hemisphere. pdf= cos theta / pi.
float pdfCos (const Vector &w)
 renvoie la probabilite de generer la direction w pour une pdf = cos theta / pi
float SampleCosPow (Sampler &sampler, const float n, Vector &w)
 genere une direction w dans l'hemisphere. pdf = cos**n theta * (n+1) / (2*pi).
float pdfCosPow (const float n, const Vector &w)
 renvoie la probabilite de generer la direction w pour une pdf= cos**n theta * (n+1) / (2*pi).
BBox Union (const BBox &b, const Point &p)
 ajoute un point a l'aabox et renvoie la nouvelle aabox.
BBox Union (const BBox &b, const BBox &b2)
 ajoute une aabox dans une autre et renvoie la nouvelle aabox.
BBox Intersection (const BBox &a, const BBox &b)
float Clamp (const float value, const float low, const float high)
 limite une valeur entre un min et un max.
std::ostream & operator<< (std::ostream &os, const Vector &v)
Vector operator* (float f, const Vector &v)
 scalaire * vecteur.
float Dot (const Vector &v1, const Vector &v2)
 produit scalaire de 2 vecteurs.
float AbsDot (const Vector &v1, const Vector &v2)
 valeur absolue du produit scalaire de 2 vecteurs.
float ZeroDot (const Vector &v1, const Vector &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
Vector Cross (const Vector &v1, const Vector &v2)
 produit vectoriel de 2 vecteurs.
Vector Cross (const Vector &v1, const Normal &v2)
 produit vectoriel d'un vecteur et d'une normale.
Vector Cross (const Normal &v1, const Vector &v2)
 produit vectoriel d'une normale et d'un vecteur.
Vector Normalize (const Vector &v)
 renvoie un vecteur de longueur 1 de meme direction que v.
void 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 Distance (const Point &p1, const Point &p2)
 renvoie la distance entre 2 points.
float DistanceSquared (const Point &p1, const Point &p2)
 renvoie le carre de la distance entre 2 points.
Point operator* (float f, const Point &p)
 scalaire * point.
Normal operator* (float f, const Normal &n)
 scalaire * normale.
Normal Normalize (const Normal &n)
 renvoie une normale de meme direction, mais de longeur 1.
float Dot (const Normal &n1, const Vector &v2)
 produit scalaire d'une normale et d'un vecteur.
float Dot (const Vector &v1, const Normal &n2)
 produit scalaire d'un vecteur et d'une normale.
float Dot (const Normal &n1, const Normal &n2)
 produit scalaire de 2 normales.
float AbsDot (const Normal &n1, const Vector &v2)
 valeur absolue du produit scalaire d'une normale et d'un vecteur.
float AbsDot (const Vector &v1, const Normal &n2)
 valeur absolue du produit scalaire d'un vecteur et d'une normale.
float AbsDot (const Normal &n1, const Normal &n2)
 valeur absolue du produit scalaire de 2 normales.
float ZeroDot (const Normal &v1, const Vector &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
float ZeroDot (const Vector &v1, const Normal &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
float ZeroDot (const Normal &v1, const Normal &v2)
 max(0, dot) du produit scalaire de 2 vecteurs.
std::ostream & operator<< (std::ostream &os, const Normal &v)
std::ostream & operator<< (std::ostream &os, const BBox &b)
float Lerp (const float t, const float v1, const float v2)
 interpolation lineaire entre 2 reels, x= (1 - t) v1 + t v2
int Clamp (const int value, const int low, const int high)
 limite une valeur entre un min et un max.
float Radians (const float deg)
 conversion degres vers radians.
float Degrees (const float rad)
 conversion radians vers degres.
Vector SphericalDirection (float sintheta, float costheta, float phi)
 renvoie un vecteur dont la direction est representee en coordonness polaires.
Vector 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 SphericalTheta (const Vector &v)
 renvoie l'angle theta d'un vecteur avec la normale, l'axe Z, (utilisation dans un repere local).
float SphericalPhi (const Vector &v)
 renvoie l'angle phi d'un vecteur avec un vecteur tangent, l'axe X, (utilisation dans un repere local).
bool isMeshOBJ (const std::string &filename)
 renvoie vrai si 'filename' se termine par '.obj'.
int MaterialLoadFromMTL (const std::string &filename)
 lit un fichier .mtl et renvoie la liste de matieres decrites dans le fichier.
int MeshLoadFromOBJ (const std::string &filename, Mesh *mesh)
 charge un maillage triangule et ses matieres a partir d'un maya .obj et .mtl.
int MeshWriteToOBJ (Mesh *mesh, const std::string &filename)
int MeshMaterialsMTLLIB (const Mesh *mesh, std::string &mtllib)
int MeshMaterialsWriteToMTL (const Mesh *mesh, const std::string &filename)
bool operator== (const Name &a, const Name &b)
bool operator!= (const Name &a, const Name &b)
bool operator> (const Name &a, const Name &b)
bool operator< (const Name &a, const Name &b)
int compare (const Name &a, const Name &b)
GLQuerycreateQuery (const GLenum target)
int setUniform (const ProgramUniform &uniform, const Point &point)
 modifier la valeur d'un uniform du shader program actif, gk::Point.
int setUniform (const ProgramUniform &uniform, const Point2 &point)
 modifier la valeur d'un uniform du shader program actif, gk::Point2.
int setUniform (const ProgramUniform &uniform, const Vector &vector)
 modifier la valeur d'un uniform du shader program actif, gk::Vector.
int setUniform (const ProgramUniform &uniform, const Normal &vector)
 modifier la valeur d'un uniform du shader program actif, gk::Normal.
int setUniform (const ProgramUniform &uniform, const Color &color)
 modifier la valeur d'un uniform du shader program actif, gk::Color.
int setUniform (const ProgramUniform &uniform, const Transform &transform)
 modifier la valeur d'un uniform du shader program actif, gk::Transform.
int setUniform (const ProgramUniform &uniform, const Matrix4x4 &transform)
 modifier la valeur d'un uniform du shader program actif, gk::Matrix4x4.
GLStreamQuerycreateStreamQuery (const GLenum target, const unsigned int count)
std::ostream & operator<< (std::ostream &os, const Transform &t)
Transform Translate (const Vector &delta)
 renvoie la transformation associee a une translatation du vecteur delta.
Transform Scale (float x, float y, float z)
 renvoie la transformation associee au changement d'echelle (x, y, z).
Transform Scale (float v)
 renvoie la transformation associee au changement d'echelle (v, v, v).
Transform RotateX (float angle)
 renvoie la transformation associee a une rotation autour de l'axe X, angle est en degres.
Transform RotateY (float angle)
 renvoie la transformation associee a une rotation autour de l'axe Y, angle est en degres.
Transform RotateZ (float angle)
 renvoie la transformation associee a une rotation autour de l'axe Z, angle est en degres.
Transform Rotate (float angle, const Vector &axis)
 renvoie la transformation associee a une rotation autour d'un vecteur, angle est en degres.
Transform LookAt (const Point &pos, const Point &look, const Vector &up)
 renvoie la transformation camera (View).
Transform Orthographic (float znear, float zfar)
 renvoie la transformation associee a une camera orthographique (Projection)
Transform Orthographic (const float left, const float right, const float bottom, const float top, const float znear, const float zfar)
 renvoie la transformation associee a une camera orthographique (Projection)
Transform Perspective (float fov, float aspect, float znear, float zfar)
 renvoie la transformation associee a une camera perspective (Projection).
Transform Viewport (float width, float height)
 renvoie la transformation entre le repere projectif de la camera et le repere fenetre (Viewport).
template<typename T >
struct gk::gvec2 __attribute__ ((aligned(8)))
template<typename T >
struct gk::gvec3 __attribute__ ((aligned(16)))
template<typename T >
struct gk::gscalar __attribute__ ((aligned(4)))
bool less (const BufferLayout &a, const BufferLayout &b)
int setSamplerUniform (const ProgramSampler &sampler, const int unit)
 modifier la valeur d'un sampler du shader program actif : index de l'unite de texture.
int setTexture (const ProgramSampler &sampler_uniform, GLTexture *texture, GLSampler *texture_sampler=NULL)
 activer une texture et l'associer a un sampler du shader program actif.
int resetTexture (const ProgramSampler &sampler_uniform, GLTexture *texture)
 desactiver une texture activee par setTexture().
int setUniform (const ProgramUniform &uniform, const unsigned int x)
 modifier la valeur d'un uniform du shader program actif, unsigned int.
int setUniform (const ProgramUniform &uniform, const unsigned int x, const unsigned int y)
 modifier la valeur d'un uniform du shader program actif, uvec2.
int setUniform (const ProgramUniform &uniform, const unsigned int x, const unsigned int y, const unsigned int z)
 modifier la valeur d'un uniform du shader program actif, uvec3.
int setUniform (const ProgramUniform &uniform, const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int w)
 modifier la valeur d'un uniform du shader program actif, uvec4.
int setUniform (const ProgramUniform &uniform, const int x)
 modifier la valeur d'un uniform du shader program actif, int.
int setUniform (const ProgramUniform &uniform, const int x, const int y)
 modifier la valeur d'un uniform du shader program actif, ivec2.
int setUniform (const ProgramUniform &uniform, const int x, const int y, const int z)
 modifier la valeur d'un uniform du shader program actif, ivec3.
int setUniform (const ProgramUniform &uniform, const int x, const int y, const int z, const int w)
 modifier la valeur d'un uniform du shader program actif, ivec4.
int setUniform (const ProgramUniform &uniform, const float x)
 modifier la valeur d'un uniform du shader program actif, float.
int setUniform (const ProgramUniform &uniform, const float x, const float y)
 modifier la valeur d'un uniform du shader program actif, vec2.
int setUniform (const ProgramUniform &uniform, const float x, const float y, const float z)
 modifier la valeur d'un uniform du shader program actif, vec3.
int setUniform (const ProgramUniform &uniform, const float x, const float y, const float z, const float w)
 modifier la valeur d'un uniform du shader program actif, vec4.
int setUniform (const ProgramUniform &uniform, const float *m, const GLboolean transpose)
 modifier la valeur d'un uniform du shader program actif, mat4.
int setUniformInterface (const ProgramInterface &interface, const GLuint interface_buffer)
CLBuffercreateBuffer (const cl_mem_flags flags, const size_t size, void *data)
CLBuffercreateReadBuffer (const size_t size, void *data)
CLBuffercreateWriteBuffer (const size_t size)
CLBuffercreateGLObjectBuffer (const cl_mem_flags flags, const unsigned int glname)
void printStack ()
const char * CLError (const cl_int status)
CLImagecreateImage (const cl_mem_flags flags, const cl_image_format *format, const size_t width, const size_t height, void *data, const size_t pitch)
CLImagecreateReadImage (const cl_image_format *format, size_t width, size_t height, void *data, const size_t pitch)
CLImagecreateWriteImage (const cl_image_format *format, size_t width, size_t height, size_t pitch)
CLImagecreateGLObjectImage (const cl_mem_flags flags, const unsigned int glname, const unsigned int texture_target, const int level)
int CLInit (const unsigned int flags=GPU_BIT)
 initialise un contexte et un peripherique openCL.
void CLQuit (void)
 ferme le contexte openCL.
int CLBuildOptions (const std::string &options)
 ajoute une option de compilation commune a tous les kernels compiles.
cl_platform_id platform ()
cl_context context ()
cl_device_id device ()
cl_command_queue queue ()
 renvoie l'objet openCL associee a la file de commandes openCL creee par defaut.
bool isCLInit ()
CLQueuecreateQueue ()
 cree une file de commande openCL.
CLKernelcreateKernel (const std::string &filename, const std::string &name, const std::string &options)
int dispatch (CLKernel *kernel, const size_t global_size, const size_t group_size, cl_event *wait)
int dispatch2D (CLKernel *kernel, const size_t global_width, const size_t global_height, const size_t group_width, const size_t group_height, cl_event *wait)
int dispatch3D (CLKernel *kernel, cl_event *wait)
GLAttributeBuffercreateAttributeBuffer (const unsigned int count, const unsigned int size, const void *data=NULL, const GLenum usage=GL_STATIC_DRAW)
GLIndexBuffercreateIndexBuffer (const unsigned int count, const unsigned int size, const void *data=NULL, const GLenum usage=GL_STATIC_DRAW)
 gestion 'auto' des ressources openGL : pour les buffers.
GLBuffercreateBuffer (const GLenum target, const unsigned int count, const unsigned int size, const void *data=NULL, const GLenum usage=GL_STATIC_DRAW)
 gestion 'auto' des ressources openGL : pour les buffers.
GLVertexArraycreateVertexArray ()
 gestion 'auto' des ressources openGL : pour les vertex arrays.
GLRendertargetcreateRendertarget (const GLenum target)
GLRendertargetcreateRendertarget (const unsigned int state, const int w, const int h, const unsigned int buffer_bits, const TextureFormat &color_format=TextureRGBA, const TextureFormat &depth_format=TextureDepth)
 gestion 'auto' des rendertargets.
GLFramebuffercreateFramebuffer ()
 gestion 'auto' des (draw) framebuffers.
GLFramebuffercreateFramebuffer (const int w, const int h, const unsigned int buffer_bits, const TextureFormat &color_format=TextureRGBA, const TextureFormat &depth_format=TextureDepth)
 gestion 'auto' des (draw) framebuffers.
GLFramebuffercreateReadFramebuffer ()
 gestion 'auto' des (read) framebuffers.
GLReadFramebuffercreateReadFramebuffer (const int w, const int h, const unsigned int buffer_bits, const TextureFormat &color_format=TextureRGBA, const TextureFormat &depth_format=TextureDepth)
 gestion 'auto' des (read) framebuffers.
GLSamplercreateSampler (const GLenum wrap=GL_CLAMP_TO_BORDER)
GLSamplercreateLinearSampler (const GLenum wrap=GL_CLAMP_TO_BORDER)
 gestion 'auto' des ressources openGL : pour les samplers de textures (mipmap linear).
GLSamplercreateAnisotropicSampler (const float filter=4, const GLenum wrap=GL_CLAMP_TO_BORDER)
 gestion 'auto' des ressources openGL : pour les samplers de textures (anisotropic).
GLSamplercreateNearestSampler (const GLenum wrap=GL_CLAMP_TO_BORDER)
 gestion 'auto' des ressources openGL : pour les samplers de textures (nearest).
GLSamplercreateDepthSampler (const GLenum wrap=GL_CLAMP_TO_BORDER)
 gestion 'auto' des ressources openGL : pour les samplers de textures depth component.
GLShaderProgramcreateShaderProgram (const TextFile *vertex, const TextFile *fragment, const std::vector< std::string > *definitions=NULL)
int reloadShaderProgram (GLShaderProgram *program)
 recharge les sources et reconfigure tous les shaders d'un shader program cree par createShaderProgram( ).
GLShaderProgramcreateShaderProgram (const std::string &vertex, const std::string &fragment, const std::vector< std::string > *definitions=NULL)
 gestion 'auto' des ressources openGL : pour les shader programs opengl > 2.
GLShaderProgramcreateShaderProgram (const TextFile *vertex, const TextFile *geometry, const TextFile *fragment, const std::vector< std::string > *definitions=NULL)
 gestion 'auto' des ressources openGL : pour les shader programs opengl > 3.
GLShaderProgramcreateShaderProgram (const std::string &vertex, const std::string &geometry, const std::string &fragment, const std::vector< std::string > *definitions=NULL)
 gestion 'auto' des ressources openGL : pour les shader programs opengl > 3.
GLShaderProgramcreateShaderProgram (const TextFile *vertex, const TextFile *control, const TextFile *evaluation, const TextFile *geometry, const TextFile *fragment, const std::vector< std::string > *definitions=NULL)
 gestion 'auto' des ressources openGL : pour les shader programs opengl > 4.
GLShaderProgramcreateShaderProgram (const std::string &vertex, const std::string &control, const std::string &evaluation, const std::string &geometry, const std::string &fragment, const std::vector< std::string > *definitions=NULL)
 gestion 'auto' des ressources openGL : pour les shader programs opengl > 4.
GLTexture2DcreateTexture2D (const int unit, const int w, const int h, const TextureFormat &format=TextureRGBA)
GLTexture2DcreateTexture2D (const int unit, const HDRImage *image, const TextureFormat &format=TextureRGBA32F)
 gestion 'auto' des ressources openGL : pour les textures couleurs.
GLDepthTexturecreateDepthTexture (const int unit, const int w, const int h, const TextureFormat &format=TextureDepth)
 gestion 'auto' des ressources openGL : pour les textures profondeur.
GLTexture2DArraycreateTexture2DArray (const int unit, const int w, const int h, const int count, const TextureFormat &format=TextureRGBA)
 gestion 'auto' des ressources openGL : pour les tableaux de textures 2d.
GLTexture2DArraycreateTexture2DArray (const int unit, const HDRImageArray *images, const TextureFormat &format=TextureRGBA32F)
 gestion 'auto' des ressources openGL : pour les tableaux de textures 2d.

Variables

gk::GLStreamQuery __attribute__
TextureFormat TextureRGBA = TextureFormat( GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE )
TextureFormat TextureRGBA16F = TextureFormat( GL_RGBA16F, GL_RGBA, GL_FLOAT )
TextureFormat TextureRGBA32F = TextureFormat( GL_RGBA32F, GL_RGBA, GL_FLOAT )
TextureFormat TextureDepth = TextureFormat( GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_FLOAT )
TextureFormat TextureDepth24 = TextureFormat( GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_FLOAT )
TextureFormat TextureDepth32 = TextureFormat( GL_DEPTH_COMPONENT32, GL_DEPTH_COMPONENT, GL_FLOAT )
TextureFormat TextureR32F = TextureFormat( GL_R32F, GL_RED, GL_FLOAT )
TextureFormat TextureRG32F = TextureFormat( GL_RG32F, GL_RG, GL_FLOAT )
TextureFormat TextureR16F = TextureFormat( GL_R16F, GL_RED, GL_FLOAT )
TextureFormat TextureRG16F = TextureFormat( GL_RG16F, GL_RG, GL_FLOAT )
TextureFormat TextureR32UI = TextureFormat( GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT )
TextureFormat TextureR16UI = TextureFormat( GL_R16UI, GL_RED_INTEGER, GL_UNSIGNED_SHORT )
TextureFormat TextureRG16UI = TextureFormat( GL_RG16UI, GL_RG_INTEGER, GL_UNSIGNED_SHORT )
TextureFormat TextureRGBA_MS4 = TextureFormat( GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, 4 )
TextureFormat TextureDepth_MS4 = TextureFormat( GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_FLOAT, 4 )
cl_platform_id ActivePlatform = 0
cl_context ActiveContext = 0
cl_device_id ActiveDevice = 0
CLQueueActiveQueue = NULL
 renvoie la file de commande openCL par defaut.
unsigned int ActiveContextFlags = 0
std::string ActiveBuildOptions = std::string()
bool Active = false

Detailed Description

namespace pour regrouper les types et les fonctions.


Enumeration Type Documentation

anonymous enum

flags de configuration du contexte openCL

Enumerator:
CPU_BIT 

openCL sur cpu.

GPU_BIT 

openCL sur gpu.

GL_BIT 

openCL sur le gpu associe au contexte openGL actif.

DEBUG_BIT 

compile les kernels en mode debug.

PROFILE_BIT 

configure la file de commande par defaut en mode profiling.


Function Documentation

BBox gk::Union ( const BBox &  b,
const Point &  p 
)

ajoute un point a l'aabox et renvoie la nouvelle aabox.

ajoute un point dans l'aabox.

References gk::BBox::pMin.

BBox gk::Union ( const BBox &  b,
const BBox &  b2 
)

ajoute une aabox dans une autre et renvoie la nouvelle aabox.

ajoute une autre aabox.

References gk::BBox::pMin.

 All Classes Namespaces Functions Variables Typedefs Enumerator Friends