GL4Dummies
0.1.7
|
The GL4Dummies Utilities. Plus de détails...
Aller au code source de ce fichier.
Définitions de type | |
typedef enum GL4DUenum | GL4DUenum |
Énumérations | |
enum | GL4DUenum { GL4DU_VERTEX_SHADER = 1, GL4DU_FRAGMENT_SHADER = 2, GL4DU_GEOMETRY_SHADER = 4, GL4DU_MATRIX = 1024, GL4DU_MATRIX_TYPE = 1025, GL4DU_SHADER = ((unsigned long long)1) << 32, GL4DU_PROGRAM = ((unsigned long long)1) << 33, GL4DU_MATRICES = ((unsigned long long)1) << 34, GL4DU_GEOMETRY = ((unsigned long long)1) << 35, GL4DU_DEMO_HELPER = ((unsigned long long)1) << 36, GL4DU_AT_EXIT = ((unsigned long long)1) << 36, GL4DU_ALL = (unsigned long long)0xffffffffffffffffLL } |
Fonctions | |
GL4DAPI void GL4DAPIENTRY | gl4duInit (int argc, char **argv) |
Initialise la bibliothèque. Plus de détails... | |
GL4DAPI int GL4DAPIENTRY | gl4duHasInit (void) |
indique si la bibliothèque a été initialisée Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duMakeBinRelativePath (char *dst, size_t dst_size, const char *filename) |
Ajoute _pathOfMe au chemin filename passé en argument et stocke l'ensemble dans dst. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPrintShaderInfoLog (GLuint object, FILE *f) |
imprime s'il existe l'infoLog de la compilation du Shader object dans fp. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPrintProgramInfoLog (GLuint object, FILE *f) |
imprime s'il existe l'infoLog de l'édition de liens pour le Program object dans fp. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPrintFPS (FILE *fp) |
imprime dans le fichier pointé par fp le Frame-Per-Second. Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duCreateShader (GLenum shadertype, const char *filename) |
retourne l'identifiant du shader décrit dans filename. Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duCreateShaderIM (GLenum shadertype, const char *filename, const char *shadercode) |
retourne l'identifiant du shader dont le code source est shadercode et le nom de fichier est filename ; le nom de fichier est fictif et sert seulement d'identifiant. Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duCreateShaderFED (const char *decData, GLenum shadertype, const char *filename) |
retourne l'identifiant du shader décrit dans filename. Version FED de la précédente Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duFindShader (const char *filename) |
retourne l'identifiant du shader décrit dans filename. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duDeleteShader (GLuint id) |
supprime le shader dont l'identifiant openGL est id de la liste de shaders shaders_list. Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duCreateProgram (const char *firstone,...) |
créé un program à partir d'une liste (variable) de nom de fichiers shaders et renvoie l'identifiant openGL du program créé. Plus de détails... | |
GL4DAPI GLuint GL4DAPIENTRY | gl4duCreateProgramFED (const char *encData, const char *firstone,...) |
créé un program à partir d'une liste (variable) de nom de fichiers shaders encapsulés dans un fichier crypté préalablement décrypté en ram et renvoie l'identifiant openGL du program créé. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duDeleteProgram (GLuint id) |
supprime le program dont l'identifiant openGL est id de la liste de programs programs_list. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duCleanUnattached (GL4DUenum what) |
supprime programs et/ou shaders non liés. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duAtExit (void(*func)(void)) |
ajoute func dans la liste des fonctions à appeler lors du gl4duClean avec l'argument GL4DU_AT_EXIT ou GL4DU_ALL. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duClean (GL4DUenum what) |
supprime tous les programs et/ou tous les shaders. Plus de détails... | |
GL4DAPI int GL4DAPIENTRY | gl4duUpdateShaders (void) |
parcours la liste des shaders shaders_list et vérifie s'il y a besoin de mettre à jour le shader (recompiler et relinker). Plus de détails... | |
GL4DAPI GLboolean GL4DAPIENTRY | gl4duGenMatrix (GLenum type, const char *name) |
génère et gère une matrice (pile de "une matrice 4x4") liée au nom name et de type type. Plus de détails... | |
GL4DAPI GLboolean GL4DAPIENTRY | gl4duIsMatrix (const char *name) |
indique s'il existe une matrice est liée au nom name passé en argument. Plus de détails... | |
GL4DAPI GLboolean GL4DAPIENTRY | gl4duBindMatrix (const char *name) |
active (met en current) la matrice liée au nom name passé en argument. Plus de détails... | |
GL4DAPI GLboolean GL4DAPIENTRY | gl4duDeleteMatrix (const char *name) |
supprime la matrice liée au nom name passé en argument. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPushMatrix (void) |
empile (sauvegarde) la matrice courante et utilise une nouvelle matrice dont le contenu est le meme que celle empilée. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPopMatrix (void) |
dépile la matrice courante en restaurant l'état précédemment sauvegardé à l'aide de gl4duPushMatrix. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duSendMatrix (void) |
envoie la matrice courante au program shader en cours et en utilisant le nom de la matrice pour obtenir le uniform location. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duSendMatrices (void) |
envoie toutes matrices au program shader en cours et en utilisant leurs noms pour obtenir le uniform location. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duFrustumf (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) |
Création d'une matrice de projection perspective selon l'ancienne fonction glFrustum et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duFrustumd (GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f) |
Création d'une matrice de projection perspective selon l'ancienne fonction glFrustum et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duOrthof (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) |
Création d'une matrice de projection orthogonale selon l'ancienne fonction glOrtho et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duOrthod (GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f) |
Création d'une matrice de projection orthogonale selon l'ancienne fonction glOrtho et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPerspectivef (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) |
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duPerspectived (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) |
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multiplie dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLoadIdentityf (void) |
Chargement d'une matrice identité dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLoadIdentityd (void) |
Chargement d'une matrice identité dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLoadMatrixf (const GLfloat *matrix) |
Chargement d'une matrice matrix dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLoadMatrixd (const GLdouble *matrix) |
Chargement d'une matrice matrix dans la matrice en cours. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duMultMatrixf (const GLfloat *matrix) |
Multiplication de la matrice en cours par une matrice matrix. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duMultMatrixd (const GLdouble *matrix) |
Multiplication de la matrice en cours par une matrice matrix. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duMultMatrixByName (const char *name) |
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies. Cette fonction utilise le nom de la matrice name afin de la récupérer et réaliser la multiplication à droite, le tout dans la matrice courante : currentMatrix = currentMatrix x matrixBy(name) Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z) |
Multiplication de la matrice en cours par une matrice de rotation définie par un angle angle donné en degrés autour de l'axe (x, y, z). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z) |
Multiplication de la matrice en cours par une matrice de rotation définie par un angle angle donné en degrés autour de l'axe (x, y, z). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duTranslatef (GLfloat tx, GLfloat ty, GLfloat tz) |
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duTranslated (GLdouble tx, GLdouble ty, GLdouble tz) |
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duScalef (GLfloat sx, GLfloat sy, GLfloat sz) |
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duScaled (GLdouble sx, GLdouble sy, GLdouble sz) |
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz). Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLookAtf (GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ) |
Définie des transformations pour simuler un point de vue avec direction de regard et orientation. Plus de détails... | |
GL4DAPI void GL4DAPIENTRY | gl4duLookAtd (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ) |
Définie des transformations pour simuler un point de vue avec direction de regard et orientation. Plus de détails... | |
GL4DAPI void *GL4DAPIENTRY | gl4duGetMatrixData (void) |
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante. Plus de détails... | |
GL4DAPI GLboolean GL4DAPIENTRY | gl4duGetIntegerv (GL4DUenum pname, GLint *params) |
Renseigne sur la valeur du paramètre demandé. Le paramètre est envoyé via pname et sera stocké dans params. Plus de détails... | |
enum GL4DUenum |
GL4DAPI void GL4DAPIENTRY gl4duAtExit | ( | void(*)(void) | func | ) |
ajoute func dans la liste des fonctions à appeler lors du gl4duClean avec l'argument GL4DU_AT_EXIT ou GL4DU_ALL.
func | la fonction à ajouter dans la liste. |
Références _aelist, llNew(), et llPush().
Référencé par fheapCreate(), et init().
GL4DAPI GLboolean GL4DAPIENTRY gl4duBindMatrix | ( | const char * | name | ) |
active (met en current) la matrice liée au nom name passé en argument.
Si la matrice existe l'active et renvoie GL_TRUE, sinon renvoie GL_FALSE. Si le paramètre name est NULL, désactive toute matrice et renvoie GL_TRUE.
name | le nom de la matrice à rechercher pour activer. Si NULL désactive (dé-bind) tout. |
Références _gl4dCurMatrix, et findMatrix().
GL4DAPI void GL4DAPIENTRY gl4duClean | ( | GL4DUenum | what | ) |
supprime tous les programs et/ou tous les shaders.
Références _aelist, _gl4duMatrices, _hasInit, btFree(), deleteFromProgramsList(), deleteFromShadersList(), freeGL4DUMatrix(), gl4dgClean(), gl4dhClean(), GL4DU_AT_EXIT, GL4DU_DEMO_HELPER, GL4DU_GEOMETRY, GL4DU_MATRICES, GL4DU_PROGRAM, GL4DU_SHADER, llEmpty(), llFree(), llPop(), programs_list, et shaders_list.
GL4DAPI void GL4DAPIENTRY gl4duCleanUnattached | ( | GL4DUenum | what | ) |
supprime programs et/ou shaders non liés.
Références deleteFromProgramsList(), deleteFromShadersList(), GL4DU_PROGRAM, GL4DU_SHADER, programs_list, et shaders_list.
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateProgram | ( | const char * | firstone, |
... | |||
) |
créé un program à partir d'une liste (variable) de nom de fichiers shaders et renvoie l'identifiant openGL du program créé.
Les arguments sont les noms des fichiers shaders précédés d'un tag indiquant le type de shader : <vs> pour un vertex shader, <tcs> pour un tessellation control shader, <tes> pour un tessellation evaluation shader, <gs> pour un geometry shader, <fs> pour un fragment shader et <cs> pour un compute shader.
Sur le même principe, au lieu d'avoir le tag suivi du nom de fichier shader correspondant, utiliser le tag ouvrant <im*> et fermant </im*> pour inclure directement le code du shader dans la chaîne en mémoire (im => in memory). Ce qui donne par exemple pour le vertex shader : "<imvs> ... le code du vertex shader ... </imvs>".
Références addInProgramsList(), attachShader(), deleteFromProgramsList(), findidInShadersList(), gl4duCreateShader(), gl4duCreateShaderIM(), et gl4duPrintProgramInfoLog().
Référencé par gl4dpInitScreenWithDimensions(), et init().
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateProgramFED | ( | const char * | encData, |
const char * | firstone, | ||
... | |||
) |
créé un program à partir d'une liste (variable) de nom de fichiers shaders encapsulés dans un fichier crypté préalablement décrypté en ram et renvoie l'identifiant openGL du program créé.
encData | fichier contenant un ensemble de shaders cryptés. |
firstone | premier des n paramètres de la présente fonction à arguments variables ; ces arguments donnent les noms de fichiers contenus dans l'archive cryptée endCata. Ces noms de fichiers shaders sont précédés d'un tag indiquant le type de shader : <vs> pour un vertex shader, <tcs> pour un tessellation control shader, <tes> pour un tessellation evaluation shader, <gs> pour un geometry shader, <fs> pour un fragment shader et <cs> pour un compute shader. |
Références addInProgramsList(), aes_from_tar(), attachShader(), deleteFromProgramsList(), findidInShadersList(), gl4duCreateShaderFED(), et gl4duPrintProgramInfoLog().
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateShader | ( | GLenum | shadertype, |
const char * | filename | ||
) |
retourne l'identifiant du shader décrit dans filename.
Soit le shader existe déjà et l'identifiant est juste retourné avec findfnInShadersList, soit il est créer en utilisant gl4duCreateShader, glShaderSource et glCompileShader. Il se peut que le shader soit mis à jour si la date de modification du fichier est differente de celle stoquée dans shaders_list. Dans ce cas le shader est détruit puis recréé et la modification doit être répercuté sur tous les PROGRAMs liés.
Références addInShadersList(), findfnInShadersList(), et gl4duMakeBinRelativePath().
Référencé par gl4duCreateProgram().
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateShaderFED | ( | const char * | decData, |
GLenum | shadertype, | ||
const char * | filename | ||
) |
retourne l'identifiant du shader décrit dans filename. Version FED de la précédente
commenter
ajouter la gestion des chemins relatifs à l'emplacement du binaire comme pour gl4duCreateShader.
Références addInShadersListFED(), findfnInShadersList(), et shader_t::id.
Référencé par gl4duCreateProgramFED().
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateShaderIM | ( | GLenum | shadertype, |
const char * | filename, | ||
const char * | shadercode | ||
) |
retourne l'identifiant du shader dont le code source est shadercode et le nom de fichier est filename ; le nom de fichier est fictif et sert seulement d'identifiant.
Soit le shader existe déjà et l'identifiant est juste retourné avec findfnInShadersList, soit il est créer en utilisant gl4duCreateShader, glShaderSource et glCompileShader.
Références addInShadersList(), findfnInShadersList(), et shader_t::id.
Référencé par gl4duCreateProgram().
GL4DAPI GLboolean GL4DAPIENTRY gl4duDeleteMatrix | ( | const char * | name | ) |
supprime la matrice liée au nom name passé en argument.
Si la matrice existe la supprime et renvoie GL_TRUE, sinon renvoie GL_FALSE. Si la matrice supprimée est la meme que la matrice courante (active), la matrice courante passe à NULL.
name | le nom de la matrice à rechercher pour suppression. |
Références _gl4dCurMatrix, _gl4dLastMatrixn, btDelete(), findMatrix(), et freeGL4DUMatrix().
GL4DAPI void GL4DAPIENTRY gl4duDeleteProgram | ( | GLuint | id | ) |
supprime le program dont l'identifiant openGL est id de la liste de programs programs_list.
Références deleteFromProgramsList(), et findInProgramsList().
GL4DAPI void GL4DAPIENTRY gl4duDeleteShader | ( | GLuint | id | ) |
supprime le shader dont l'identifiant openGL est id de la liste de shaders shaders_list.
Références deleteFromShadersList(), et findidInShadersList().
GL4DAPI GLuint GL4DAPIENTRY gl4duFindShader | ( | const char * | filename | ) |
retourne l'identifiant du shader décrit dans filename.
Soit le shader existe et l'identifiant est retourné soit la fonction retourne 0.
Références findfnInShadersList().
GL4DAPI void GL4DAPIENTRY gl4duFrustumd | ( | GLdouble | l, |
GLdouble | r, | ||
GLdouble | b, | ||
GLdouble | t, | ||
GLdouble | n, | ||
GLdouble | f | ||
) |
Création d'une matrice de projection perspective selon l'ancienne fonction glFrustum et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duFrustumf si le type est GLfloat.
Références gl4duMultMatrixd(), et MFRUSTUM.
GL4DAPI void GL4DAPIENTRY gl4duFrustumf | ( | GLfloat | l, |
GLfloat | r, | ||
GLfloat | b, | ||
GLfloat | t, | ||
GLfloat | n, | ||
GLfloat | f | ||
) |
Création d'une matrice de projection perspective selon l'ancienne fonction glFrustum et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duFrustumd si le type est GLdouble.
Références gl4duMultMatrixf(), et MFRUSTUM.
GL4DAPI GLboolean GL4DAPIENTRY gl4duGenMatrix | ( | GLenum | type, |
const char * | name | ||
) |
génère et gère une matrice (pile de "une matrice 4x4") liée au nom name et de type type.
Le type peut etre GL_FLOAT ou GL_DOUBLE.
type | le type de la matrice à créer : GL_FLOAT ou GL_DOUBLE. |
name | le nom de la matrice à créer. |
Références _gl4dLastMatrixn, _gl4duMatrices, btFind(), btInsert(), pair_t::compResult, matrixCmpFunc(), _GL4DUMatrix::name, newGL4DUMatrix(), et pair_t::ptr.
GL4DAPI GLboolean GL4DAPIENTRY gl4duGetIntegerv | ( | GL4DUenum | pname, |
GLint * | params | ||
) |
Renseigne sur la valeur du paramètre demandé. Le paramètre est envoyé via pname et sera stocké dans params.
pname | le paramètre demandé. |
params | là où sera stockée la/les valeur(s) du paramètre demandé. |
Références _gl4dCurMatrix, GL4DU_MATRIX_TYPE, et _GL4DUMatrix::type.
GL4DAPI void* GL4DAPIENTRY gl4duGetMatrixData | ( | void | ) |
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante.
En pratique, prend la donnée en haut de la pile. Le type de retour est (void *), il faut le caster dans le type correspondant au type de la matrice.
Références _gl4dCurMatrix, et matrixData().
GL4DAPI int GL4DAPIENTRY gl4duHasInit | ( | void | ) |
GL4DAPI void GL4DAPIENTRY gl4duInit | ( | int | argc, |
char ** | argv | ||
) |
Initialise la bibliothèque.
Récupère le chemin relatif à partir duquel le binaire a été exécuté et le stocke dans _pathOfMe.
Initialise gl4dg via gl4dgInit
Références _hasInit, findPathOfMe(), et gl4dgInit().
Référencé par initGL4DUW().
GL4DAPI GLboolean GL4DAPIENTRY gl4duIsMatrix | ( | const char * | name | ) |
indique s'il existe une matrice est liée au nom name passé en argument.
name | le nom de la matrice à rechercher. |
Références _gl4duMatrices, btFind(), pair_t::compResult, matrixCmpFunc(), et _GL4DUMatrix::name.
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityd | ( | void | ) |
Chargement d'une matrice identité dans la matrice en cours.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duLoadIdentityf si le type est GLfloat.
Références _gl4dCurMatrix, _GL4DUMatrix::data, MIDENTITY, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityf | ( | void | ) |
Chargement d'une matrice identité dans la matrice en cours.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duLoadIdentityd si le type est GLdouble.
Références _gl4dCurMatrix, _GL4DUMatrix::data, MIDENTITY, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixd | ( | const GLdouble * | matrix | ) |
Chargement d'une matrice matrix dans la matrice en cours.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duLoadMatrixf si le type est GLfloat.
matrix | la matrice 4x4 à charger. |
Références _gl4dCurMatrix, _GL4DUMatrix::data, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixf | ( | const GLfloat * | matrix | ) |
Chargement d'une matrice matrix dans la matrice en cours.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duLoadMatrixd si le type est GLdouble.
matrix | la matrice 4x4 à charger. |
Références _gl4dCurMatrix, _GL4DUMatrix::data, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
GL4DAPI void GL4DAPIENTRY gl4duLookAtd | ( | GLdouble | eyeX, |
GLdouble | eyeY, | ||
GLdouble | eyeZ, | ||
GLdouble | centerX, | ||
GLdouble | centerY, | ||
GLdouble | centerZ, | ||
GLdouble | upX, | ||
GLdouble | upY, | ||
GLdouble | upZ | ||
) |
Définie des transformations pour simuler un point de vue avec direction de regard et orientation.
Version GL4Dummies de la fonction gluLookAt pour les types GLdouble (les matrices GL_DOUBLE). Pour la version gérant les double voir
eyeX | abcsisse de l'oeil. |
eyeY | ordonnée de l'oeil. |
eyeZ | cote de l'oeil. |
centerX | abcsisse du point observé. |
centerY | ordonnée du point observé. |
centerZ | cote du point observé. |
upX | X du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
upY | Y du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
upZ | Y du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
Références gl4duMultMatrixd(), gl4duTranslated(), MVEC3CROSS, et MVEC3NORMALIZE.
GL4DAPI void GL4DAPIENTRY gl4duLookAtf | ( | GLfloat | eyeX, |
GLfloat | eyeY, | ||
GLfloat | eyeZ, | ||
GLfloat | centerX, | ||
GLfloat | centerY, | ||
GLfloat | centerZ, | ||
GLfloat | upX, | ||
GLfloat | upY, | ||
GLfloat | upZ | ||
) |
Définie des transformations pour simuler un point de vue avec direction de regard et orientation.
Version GL4Dummies de la fonction gluLookAt pour les types GLfloat (les matrices GL_FLOAT). Pour la version gérant les double voir
eyeX | abcsisse de l'oeil. |
eyeY | ordonnée de l'oeil. |
eyeZ | cote de l'oeil. |
centerX | abcsisse du point observé. |
centerY | ordonnée du point observé. |
centerZ | cote du point observé. |
upX | X du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
upY | Y du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
upZ | Y du vecteur décrivant l'orientation de la "tete" de l'observateur (vecteur haut) |
Références gl4duMultMatrixf(), gl4duTranslatef(), MVEC3CROSS, et MVEC3NORMALIZE.
GL4DAPI void GL4DAPIENTRY gl4duMakeBinRelativePath | ( | char * | dst, |
size_t | dst_size, | ||
const char * | filename | ||
) |
Ajoute _pathOfMe au chemin filename passé en argument et stocke l'ensemble dans dst.
Références _pathOfMe, et _pathOfMeInit.
Référencé par gl4duCreateShader().
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixByName | ( | const char * | name | ) |
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies. Cette fonction utilise le nom de la matrice name afin de la récupérer et réaliser la multiplication à droite, le tout dans la matrice courante : currentMatrix = currentMatrix x matrixBy(name)
name | le nom de la matrice GL4Dummies à utiliser pour la multiplication (currentMatrix x matrixBy(name)). |
Références _gl4dCurMatrix, _GL4DUMatrix::data, findMatrix(), MMAT4XMAT4, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixd | ( | const GLdouble * | matrix | ) |
Multiplication de la matrice en cours par une matrice matrix.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duMultMatrixf si le type est GLfloat.
matrix | la matrice 4x4 utilisée pour la multiplication (curMatrix x matrix). |
Références _gl4dCurMatrix, _GL4DUMatrix::data, MMAT4XMAT4, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
Référencé par gl4duFrustumd(), gl4duLookAtd(), gl4duOrthod(), gl4duPerspectived(), gl4duRotated(), gl4duScaled(), et gl4duTranslated().
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixf | ( | const GLfloat * | matrix | ) |
Multiplication de la matrice en cours par une matrice matrix.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duMultMatrixd si le type est GLdouble.
matrix | la matrice 4x4 utilisée pour la multiplication (curMatrix x matrix). |
Références _gl4dCurMatrix, _GL4DUMatrix::data, MMAT4XMAT4, _GL4DUMatrix::size, _GL4DUMatrix::top, et _GL4DUMatrix::type.
Référencé par gl4duFrustumf(), gl4duLookAtf(), gl4duLookAtf_DNW(), gl4duOrthof(), gl4duPerspectivef(), gl4duRotatef(), gl4duScalef(), et gl4duTranslatef().
GL4DAPI void GL4DAPIENTRY gl4duOrthod | ( | GLdouble | l, |
GLdouble | r, | ||
GLdouble | b, | ||
GLdouble | t, | ||
GLdouble | n, | ||
GLdouble | f | ||
) |
Création d'une matrice de projection orthogonale selon l'ancienne fonction glOrtho et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duOrthof si le type est GLfloat.
Références gl4duMultMatrixd(), et MORTHO.
GL4DAPI void GL4DAPIENTRY gl4duOrthof | ( | GLfloat | l, |
GLfloat | r, | ||
GLfloat | b, | ||
GLfloat | t, | ||
GLfloat | n, | ||
GLfloat | f | ||
) |
Création d'une matrice de projection orthogonale selon l'ancienne fonction glOrtho et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duOrthod si le type est GLdouble.
Références gl4duMultMatrixf(), et MORTHO.
GL4DAPI void GL4DAPIENTRY gl4duPerspectived | ( | GLdouble | fovy, |
GLdouble | aspect, | ||
GLdouble | zNear, | ||
GLdouble | zFar | ||
) |
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLdouble sinon utiliser gl4duPerspectivef si le type est GLfloat.
Références gl4duMultMatrixd(), et MPERSPECTIVE.
GL4DAPI void GL4DAPIENTRY gl4duPerspectivef | ( | GLdouble | fovy, |
GLdouble | aspect, | ||
GLdouble | zNear, | ||
GLdouble | zFar | ||
) |
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multiplie dans la matrice en cours.
La matrice en cours doit être de type GLfloat sinon utiliser gl4duPerspectived si le type est GLdouble.
Références gl4duMultMatrixf(), et MPERSPECTIVE.
GL4DAPI void GL4DAPIENTRY gl4duPopMatrix | ( | void | ) |
dépile la matrice courante en restaurant l'état précédemment sauvegardé à l'aide de gl4duPushMatrix.
Références _gl4dCurMatrix, et _GL4DUMatrix::top.
GL4DAPI void GL4DAPIENTRY gl4duPrintFPS | ( | FILE * | fp | ) |
imprime dans le fichier pointé par fp le Frame-Per-Second.
Cette fonction doit être appelée dans la loop.
Références gl4dGetElapsedTime(), et t0.
Référencé par gl4duwMainLoop().
GL4DAPI void GL4DAPIENTRY gl4duPrintProgramInfoLog | ( | GLuint | object, |
FILE * | f | ||
) |
imprime s'il existe l'infoLog de l'édition de liens pour le Program object dans fp.
Référencé par gl4duCreateProgram(), et gl4duCreateProgramFED().
GL4DAPI void GL4DAPIENTRY gl4duPrintShaderInfoLog | ( | GLuint | object, |
FILE * | f | ||
) |
imprime s'il existe l'infoLog de la compilation du Shader object dans fp.
Référencé par addInShadersList(), et addInShadersListFED().
GL4DAPI void GL4DAPIENTRY gl4duPushMatrix | ( | void | ) |
empile (sauvegarde) la matrice courante et utilise une nouvelle matrice dont le contenu est le meme que celle empilée.
La pile est dynamique, sa taille non limitée.
Références _gl4dCurMatrix, _GL4DUMatrix::data, _GL4DUMatrix::nmemb, _GL4DUMatrix::size, et _GL4DUMatrix::top.
GL4DAPI void GL4DAPIENTRY gl4duRotated | ( | GLdouble | angle, |
GLdouble | x, | ||
GLdouble | y, | ||
GLdouble | z | ||
) |
Multiplication de la matrice en cours par une matrice de rotation définie par un angle angle donné en degrés autour de l'axe (x, y, z).
angle | angle de rotation en degrés. |
x | abcsisse de l'axe de rotation. |
y | ordonnée de l'axe de rotation. |
z | cote de l'axe de rotation. |
Références GL4DM_PI, et gl4duMultMatrixd().
GL4DAPI void GL4DAPIENTRY gl4duRotatef | ( | GLfloat | angle, |
GLfloat | x, | ||
GLfloat | y, | ||
GLfloat | z | ||
) |
Multiplication de la matrice en cours par une matrice de rotation définie par un angle angle donné en degrés autour de l'axe (x, y, z).
angle | angle de rotation en degrés. |
x | abcsisse de l'axe de rotation. |
y | ordonnée de l'axe de rotation. |
z | cote de l'axe de rotation. |
Références GL4DM_PI, et gl4duMultMatrixf().
GL4DAPI void GL4DAPIENTRY gl4duScaled | ( | GLdouble | sx, |
GLdouble | sy, | ||
GLdouble | sz | ||
) |
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz).
sx | abcsisse de l'homothétie. |
sy | ordonnée de l'homothétie. |
sz | cote de l'homothétie. |
Références gl4duMultMatrixd().
GL4DAPI void GL4DAPIENTRY gl4duScalef | ( | GLfloat | sx, |
GLfloat | sy, | ||
GLfloat | sz | ||
) |
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz).
sx | abcsisse de l'homothétie. |
sy | ordonnée de l'homothétie. |
sz | cote de l'homothétie. |
Références gl4duMultMatrixf().
GL4DAPI void GL4DAPIENTRY gl4duSendMatrices | ( | void | ) |
envoie toutes matrices au program shader en cours et en utilisant leurs noms pour obtenir le uniform location.
Références _gl4duMatrices, btForAll(), et sendMatrix().
GL4DAPI void GL4DAPIENTRY gl4duSendMatrix | ( | void | ) |
envoie la matrice courante au program shader en cours et en utilisant le nom de la matrice pour obtenir le uniform location.
Références _gl4dCurMatrix, et sendMatrix().
GL4DAPI void GL4DAPIENTRY gl4duTranslated | ( | GLdouble | tx, |
GLdouble | ty, | ||
GLdouble | tz | ||
) |
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
tx | abcsisse de la translation. |
ty | ordonnée de la translation. |
tz | cote de la translation. |
Références gl4duMultMatrixd().
Référencé par gl4duLookAtd().
GL4DAPI void GL4DAPIENTRY gl4duTranslatef | ( | GLfloat | tx, |
GLfloat | ty, | ||
GLfloat | tz | ||
) |
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
tx | abcsisse de la translation. |
ty | ordonnée de la translation. |
tz | cote de la translation. |
Références gl4duMultMatrixf().
Référencé par gl4duLookAtf(), et gl4duLookAtf_DNW().
GL4DAPI int GL4DAPIENTRY gl4duUpdateShaders | ( | void | ) |
parcours la liste des shaders shaders_list et vérifie s'il y a besoin de mettre à jour le shader (recompiler et relinker).
La vérification est effectuée sur la date de modification du fichier representant le shader.
Références addInShadersList(), attachShader(), deleteFromShadersList(), detachShader(), et shaders_list.
Référencé par gl4duwMainLoop().