gKitGL
|
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< HDRPixel > | HDRImage |
declaration d'une image hdr, pixels rgba. | |
typedef TImage< Pixel > | Image |
declaration d'une image 'classique', avec pixels rgba. | |
typedef TImageArray< HDRPixel > | HDRImageArray |
declaration d'un image array hdr, pixels rgba. | |
typedef TImageArray< Pixel > | ImageArray |
declaration d'un image array, pixels rgba. | |
typedef TImageCube< HDRPixel > | HDRImageCube |
declaration d'une image cube hdr, pixels rgba. | |
typedef TImageCube< Pixel > | ImageCube |
declaration d'une image cube, pixels rgba. | |
typedef TShaderIO< GLVertexShader > | GLVertexShaderIO |
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) |
GLQuery * | createQuery (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. | |
GLStreamQuery * | createStreamQuery (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) |
CLBuffer * | createBuffer (const cl_mem_flags flags, const size_t size, void *data) |
CLBuffer * | createReadBuffer (const size_t size, void *data) |
CLBuffer * | createWriteBuffer (const size_t size) |
CLBuffer * | createGLObjectBuffer (const cl_mem_flags flags, const unsigned int glname) |
void | printStack () |
const char * | CLError (const cl_int status) |
CLImage * | createImage (const cl_mem_flags flags, const cl_image_format *format, const size_t width, const size_t height, void *data, const size_t pitch) |
CLImage * | createReadImage (const cl_image_format *format, size_t width, size_t height, void *data, const size_t pitch) |
CLImage * | createWriteImage (const cl_image_format *format, size_t width, size_t height, size_t pitch) |
CLImage * | createGLObjectImage (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 () |
CLQueue * | createQueue () |
cree une file de commande openCL. | |
CLKernel * | createKernel (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) |
GLAttributeBuffer * | createAttributeBuffer (const unsigned int count, const unsigned int size, const void *data=NULL, const GLenum usage=GL_STATIC_DRAW) |
GLIndexBuffer * | createIndexBuffer (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. | |
GLBuffer * | createBuffer (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. | |
GLVertexArray * | createVertexArray () |
gestion 'auto' des ressources openGL : pour les vertex arrays. | |
GLRendertarget * | createRendertarget (const GLenum target) |
GLRendertarget * | createRendertarget (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. | |
GLFramebuffer * | createFramebuffer () |
gestion 'auto' des (draw) framebuffers. | |
GLFramebuffer * | createFramebuffer (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. | |
GLFramebuffer * | createReadFramebuffer () |
gestion 'auto' des (read) framebuffers. | |
GLReadFramebuffer * | createReadFramebuffer (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. | |
GLSampler * | createSampler (const GLenum wrap=GL_CLAMP_TO_BORDER) |
GLSampler * | createLinearSampler (const GLenum wrap=GL_CLAMP_TO_BORDER) |
gestion 'auto' des ressources openGL : pour les samplers de textures (mipmap linear). | |
GLSampler * | createAnisotropicSampler (const float filter=4, const GLenum wrap=GL_CLAMP_TO_BORDER) |
gestion 'auto' des ressources openGL : pour les samplers de textures (anisotropic). | |
GLSampler * | createNearestSampler (const GLenum wrap=GL_CLAMP_TO_BORDER) |
gestion 'auto' des ressources openGL : pour les samplers de textures (nearest). | |
GLSampler * | createDepthSampler (const GLenum wrap=GL_CLAMP_TO_BORDER) |
gestion 'auto' des ressources openGL : pour les samplers de textures depth component. | |
GLShaderProgram * | createShaderProgram (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( ). | |
GLShaderProgram * | createShaderProgram (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. | |
GLShaderProgram * | createShaderProgram (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. | |
GLShaderProgram * | createShaderProgram (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. | |
GLShaderProgram * | createShaderProgram (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. | |
GLShaderProgram * | createShaderProgram (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. | |
GLTexture2D * | createTexture2D (const int unit, const int w, const int h, const TextureFormat &format=TextureRGBA) |
GLTexture2D * | createTexture2D (const int unit, const HDRImage *image, const TextureFormat &format=TextureRGBA32F) |
gestion 'auto' des ressources openGL : pour les textures couleurs. | |
GLDepthTexture * | createDepthTexture (const int unit, const int w, const int h, const TextureFormat &format=TextureDepth) |
gestion 'auto' des ressources openGL : pour les textures profondeur. | |
GLTexture2DArray * | createTexture2DArray (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. | |
GLTexture2DArray * | createTexture2DArray (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 |
CLQueue * | ActiveQueue = NULL |
renvoie la file de commande openCL par defaut. | |
unsigned int | ActiveContextFlags = 0 |
std::string | ActiveBuildOptions = std::string() |
bool | Active = false |
namespace pour regrouper les types et les fonctions.
anonymous enum |
ajoute un point a l'aabox et renvoie la nouvelle aabox.
ajoute un point dans l'aabox.
References gk::BBox::pMin.
ajoute une aabox dans une autre et renvoie la nouvelle aabox.
ajoute une autre aabox.
References gk::BBox::pMin.