Utilisée pour décrypter des shaders données en archive cryptée AES.
Plus de détails...
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include "aes.h"
#include "gl4dummies.h"
#include <unistd.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
Aller au code source de ce fichier.
|
#define | uint8 unsigned char |
|
#define | uint32 unsigned long |
|
#define | GET_UINT32_BE(n, b, i) |
|
#define | PUT_UINT32_BE(n, b, i) |
|
#define | ROTR8(x) |
|
#define | XTIME(x) ( ( x << 1 ) ^ ( ( x & 0x80 ) ? 0x1B : 0x00 ) ) |
|
#define | MUL(x, y) ( ( x && y ) ? pow[(log[x] + log[y]) % 255] : 0 ) |
|
#define | AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3) |
|
#define | AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3) |
|
|
static void | aes_gen_tables (void) |
|
void | aes_set_key (aes_context *ctx, uint8 *key, int keysize) |
|
void | aes_encrypt (aes_context *ctx, unsigned char input[16], unsigned char output[16]) |
| AES block encryption (ECB mode) Plus de détails...
|
|
void | aes_decrypt (aes_context *ctx, unsigned char input[16], unsigned char output[16]) |
| AES block decryption (ECB mode) Plus de détails...
|
|
void | aes_cbc_encrypt (aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len) |
| AES-CBC buffer encryption. Plus de détails...
|
|
void | aes_cbc_decrypt (aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len) |
| AES-CBC buffer decryption. Plus de détails...
|
|
void | vaetvient (unsigned char *data, int len, int vaouvient) |
|
char * | aes_from_tar (const char *file) |
|
int | aes_self_test (void) |
| Checkup routine. Plus de détails...
|
|
Utilisée pour décrypter des shaders données en archive cryptée AES.
FIPS-197 compliant AES implementation
Copyright (C) 2003-2006 Christophe Devine
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
The AES block cipher was designed by Vincent Rijmen and Joan Daemen.
http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
- Auteur
- Christophe Devine
Définition dans le fichier aes.c.
◆ AES_FROUND
#define AES_FROUND |
( |
|
X0, |
|
|
|
X1, |
|
|
|
X2, |
|
|
|
X3, |
|
|
|
Y0, |
|
|
|
Y1, |
|
|
|
Y2, |
|
|
|
Y3 |
|
) |
| |
Valeur :{ \
RK += 4; \
\
X0 = RK[0] ^
FT0[ (
uint8) ( Y0 >> 24 ) ] ^ \
FT1[ (
uint8) ( Y1 >> 16 ) ] ^ \
FT2[ (
uint8) ( Y2 >> 8 ) ] ^ \
\
X1 = RK[1] ^
FT0[ (
uint8) ( Y1 >> 24 ) ] ^ \
FT1[ (
uint8) ( Y2 >> 16 ) ] ^ \
FT2[ (
uint8) ( Y3 >> 8 ) ] ^ \
\
X2 = RK[2] ^
FT0[ (
uint8) ( Y2 >> 24 ) ] ^ \
FT1[ (
uint8) ( Y3 >> 16 ) ] ^ \
FT2[ (
uint8) ( Y0 >> 8 ) ] ^ \
\
X3 = RK[3] ^
FT0[ (
uint8) ( Y3 >> 24 ) ] ^ \
FT1[ (
uint8) ( Y0 >> 16 ) ] ^ \
FT2[ (
uint8) ( Y1 >> 8 ) ] ^ \
}
◆ AES_RROUND
#define AES_RROUND |
( |
|
X0, |
|
|
|
X1, |
|
|
|
X2, |
|
|
|
X3, |
|
|
|
Y0, |
|
|
|
Y1, |
|
|
|
Y2, |
|
|
|
Y3 |
|
) |
| |
Valeur :{ \
RK += 4; \
\
X0 = RK[0] ^
RT0[ (
uint8) ( Y0 >> 24 ) ] ^ \
RT1[ (
uint8) ( Y3 >> 16 ) ] ^ \
RT2[ (
uint8) ( Y2 >> 8 ) ] ^ \
\
X1 = RK[1] ^
RT0[ (
uint8) ( Y1 >> 24 ) ] ^ \
RT1[ (
uint8) ( Y0 >> 16 ) ] ^ \
RT2[ (
uint8) ( Y3 >> 8 ) ] ^ \
\
X2 = RK[2] ^
RT0[ (
uint8) ( Y2 >> 24 ) ] ^ \
RT1[ (
uint8) ( Y1 >> 16 ) ] ^ \
RT2[ (
uint8) ( Y0 >> 8 ) ] ^ \
\
X3 = RK[3] ^
RT0[ (
uint8) ( Y3 >> 24 ) ] ^ \
RT1[ (
uint8) ( Y2 >> 16 ) ] ^ \
RT2[ (
uint8) ( Y1 >> 8 ) ] ^ \
}
◆ GET_UINT32_BE
#define GET_UINT32_BE |
( |
|
n, |
|
|
|
b, |
|
|
|
i |
|
) |
| |
Valeur :{ \
(n) = ( (
uint32) (b)[(i) ] << 24 ) \
| ( (
uint32) (b)[(i) + 1] << 16 ) \
| ( (
uint32) (b)[(i) + 2] << 8 ) \
| ( (
uint32) (b)[(i) + 3] ); \
}
◆ MUL
#define MUL |
( |
|
x, |
|
|
|
y |
|
) |
| ( ( x && y ) ? pow[(log[x] + log[y]) % 255] : 0 ) |
◆ PUT_UINT32_BE
#define PUT_UINT32_BE |
( |
|
n, |
|
|
|
b, |
|
|
|
i |
|
) |
| |
Valeur :{ \
(b)[(i) ] = (
uint8) ( (n) >> 24 ); \
(b)[(i) + 1] = (
uint8) ( (n) >> 16 ); \
(b)[(i) + 2] = (
uint8) ( (n) >> 8 ); \
(b)[(i) + 3] = (
uint8) ( (n) ); \
}
◆ ROTR8
Valeur : ( ( ( x << 24 ) & 0xFFFFFFFF ) | \
( ( x & 0xFFFFFFFF ) >> 8 ) )
◆ uint32
#define uint32 unsigned long |
◆ uint8
#define uint8 unsigned char |
◆ XTIME
#define XTIME |
( |
|
x | ) |
( ( x << 1 ) ^ ( ( x & 0x80 ) ? 0x1B : 0x00 ) ) |
◆ aes_cbc_decrypt()
void aes_cbc_decrypt |
( |
aes_context * |
ctx, |
|
|
unsigned char |
iv[16], |
|
|
unsigned char * |
input, |
|
|
unsigned char * |
output, |
|
|
int |
len |
|
) |
| |
AES-CBC buffer decryption.
- Paramètres
-
ctx | AES context |
iv | initialization vector (modified after use) |
input | buffer holding the ciphertext |
output | buffer holding the plaintext |
len | length of the data to be decrypted |
844 unsigned char temp[16];
848 memcpy( temp, input, 16 );
851 for( i = 0; i < 16; i++ )
852 output[i] = output[i] ^ iv[i];
854 memcpy( iv, temp, 16 );
Références aes_decrypt().
◆ aes_cbc_encrypt()
void aes_cbc_encrypt |
( |
aes_context * |
ctx, |
|
|
unsigned char |
iv[16], |
|
|
unsigned char * |
input, |
|
|
unsigned char * |
output, |
|
|
int |
len |
|
) |
| |
AES-CBC buffer encryption.
- Paramètres
-
ctx | AES context |
iv | initialization vector (modified after use) |
input | buffer holding the plaintext |
output | buffer holding the ciphertext |
len | length of the data to be encrypted |
822 for( i = 0; i < 16; i++ )
823 output[i] = input[i] ^ iv[i];
826 memcpy( iv, output, 16 );
Références aes_encrypt().
◆ aes_decrypt()
void aes_decrypt |
( |
aes_context * |
ctx, |
|
|
unsigned char |
input[16], |
|
|
unsigned char |
output[16] |
|
) |
| |
AES block decryption (ECB mode)
- Paramètres
-
ctx | AES context |
input | ciphertext block |
output | plaintext block |
725 uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
734 #define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
738 X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
739 RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
740 RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
741 RT3[ (uint8) ( Y1 ) ]; \
743 X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
744 RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
745 RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
746 RT3[ (uint8) ( Y2 ) ]; \
748 X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
749 RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
750 RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
751 RT3[ (uint8) ( Y3 ) ]; \
753 X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
754 RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
755 RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
756 RT3[ (uint8) ( Y0 ) ]; \
783 X0 = RK[0] ^ (
RSb[ (
uint8) ( Y0 >> 24 ) ] << 24 ) ^
784 (
RSb[ (
uint8) ( Y3 >> 16 ) ] << 16 ) ^
785 (
RSb[ (
uint8) ( Y2 >> 8 ) ] << 8 ) ^
788 X1 = RK[1] ^ (
RSb[ (
uint8) ( Y1 >> 24 ) ] << 24 ) ^
789 (
RSb[ (
uint8) ( Y0 >> 16 ) ] << 16 ) ^
790 (
RSb[ (
uint8) ( Y3 >> 8 ) ] << 8 ) ^
793 X2 = RK[2] ^ (
RSb[ (
uint8) ( Y2 >> 24 ) ] << 24 ) ^
794 (
RSb[ (
uint8) ( Y1 >> 16 ) ] << 16 ) ^
795 (
RSb[ (
uint8) ( Y0 >> 8 ) ] << 8 ) ^
798 X3 = RK[3] ^ (
RSb[ (
uint8) ( Y3 >> 24 ) ] << 24 ) ^
799 (
RSb[ (
uint8) ( Y2 >> 16 ) ] << 16 ) ^
800 (
RSb[ (
uint8) ( Y1 >> 8 ) ] << 8 ) ^
Références AES_RROUND, aes_context::drk, GET_UINT32_BE, aes_context::nr, PUT_UINT32_BE, RSb, uint32, et uint8.
Référencé par aes_cbc_decrypt(), et vaetvient().
◆ aes_encrypt()
void aes_encrypt |
( |
aes_context * |
ctx, |
|
|
unsigned char |
input[16], |
|
|
unsigned char |
output[16] |
|
) |
| |
AES block encryption (ECB mode)
AES block encryption (ECB mode)
634 uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
643 #define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
647 X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
648 FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
649 FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
650 FT3[ (uint8) ( Y3 ) ]; \
652 X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
653 FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
654 FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
655 FT3[ (uint8) ( Y0 ) ]; \
657 X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
658 FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
659 FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
660 FT3[ (uint8) ( Y1 ) ]; \
662 X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
663 FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
664 FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
665 FT3[ (uint8) ( Y2 ) ]; \
692 X0 = RK[0] ^ (
FSb[ (
uint8) ( Y0 >> 24 ) ] << 24 ) ^
693 (
FSb[ (
uint8) ( Y1 >> 16 ) ] << 16 ) ^
694 (
FSb[ (
uint8) ( Y2 >> 8 ) ] << 8 ) ^
697 X1 = RK[1] ^ (
FSb[ (
uint8) ( Y1 >> 24 ) ] << 24 ) ^
698 (
FSb[ (
uint8) ( Y2 >> 16 ) ] << 16 ) ^
699 (
FSb[ (
uint8) ( Y3 >> 8 ) ] << 8 ) ^
702 X2 = RK[2] ^ (
FSb[ (
uint8) ( Y2 >> 24 ) ] << 24 ) ^
703 (
FSb[ (
uint8) ( Y3 >> 16 ) ] << 16 ) ^
704 (
FSb[ (
uint8) ( Y0 >> 8 ) ] << 8 ) ^
707 X3 = RK[3] ^ (
FSb[ (
uint8) ( Y3 >> 24 ) ] << 24 ) ^
708 (
FSb[ (
uint8) ( Y0 >> 16 ) ] << 16 ) ^
709 (
FSb[ (
uint8) ( Y1 >> 8 ) ] << 8 ) ^
Références AES_FROUND, aes_context::erk, FSb, GET_UINT32_BE, aes_context::nr, PUT_UINT32_BE, uint32, et uint8.
Référencé par aes_cbc_encrypt(), et vaetvient().
◆ aes_from_tar()
char* aes_from_tar |
( |
const char * |
file | ) |
|
904 if(stat(file, &buf) != 0) {
905 fprintf(stderr,
"%s:%d: erreur %d: %s\n", __FILE__, __LINE__, errno, strerror(errno));
908 data = malloc( (buf.st_size + 1) *
sizeof * data );
910 if( (f = fopen(file,
"rb")) == NULL ) {
911 fprintf(stderr,
"%s:%d: erreur %d: %s\n", __FILE__, __LINE__, errno, strerror(errno));
915 if( (l = fread(data,
sizeof * data, buf.st_size, f)) != (
size_t)buf.st_size) {
916 fprintf(stderr,
"%s:%d:In %s: une erreur s'est produite lors de la lecture du fichier %s\n",
917 __FILE__, __LINE__, __func__, file);
923 vaetvient((
unsigned char *)data, (
int)l, 1);
Références vaetvient().
Référencé par gl4duCreateProgramFED().
◆ aes_gen_tables()
static void aes_gen_tables |
( |
void |
| ) |
|
|
static |
124 for( i = 0, x = 1; i < 256; i++, x ^=
XTIME( x ) )
133 for( i = 0, x = 1; i < 10; i++, x =
XTIME( x ) )
144 for( i = 1; i < 256; i++ )
146 x = pow[255 - log[i]];
148 y = x; y = ( y << 1 ) | ( y >> 7 );
149 x ^= y; y = ( y << 1 ) | ( y >> 7 );
150 x ^= y; y = ( y << 1 ) | ( y >> 7 );
151 x ^= y; y = ( y << 1 ) | ( y >> 7 );
161 for( i = 0; i < 256; i++ )
170 FT0[i] &= 0xFFFFFFFF;
183 RT0[i] &= 0xFFFFFFFF;
Références FSb, FT0, FT1, FT2, FT3, MUL, RCON, ROTR8, RSb, RT0, RT1, RT2, RT3, uint32, uint8, et XTIME.
Référencé par aes_set_key().
◆ aes_self_test()
int aes_self_test |
( |
void |
| ) |
|
Checkup routine.
- Renvoie
- 0 if successful, or 1 if the test failed
◆ aes_set_key()
476 static int ft_init = 0;
477 static int kt_init = 0;
488 case 128: ctx->
nr = 10;
break;
489 case 192: ctx->
nr = 12;
break;
490 case 256: ctx->
nr = 14;
break;
496 for( i = 0; i < (keysize >> 5); i++ )
508 for( i = 0; i < 10; i++, RK += 4 )
510 RK[4] = RK[0] ^
RCON[i] ^
511 (
FSb[ (
uint8) ( RK[3] >> 16 ) ] << 24 ) ^
512 (
FSb[ (
uint8) ( RK[3] >> 8 ) ] << 16 ) ^
516 RK[5] = RK[1] ^ RK[4];
517 RK[6] = RK[2] ^ RK[5];
518 RK[7] = RK[3] ^ RK[6];
524 for( i = 0; i < 8; i++, RK += 6 )
526 RK[6] = RK[0] ^
RCON[i] ^
527 (
FSb[ (
uint8) ( RK[5] >> 16 ) ] << 24 ) ^
528 (
FSb[ (
uint8) ( RK[5] >> 8 ) ] << 16 ) ^
532 RK[7] = RK[1] ^ RK[6];
533 RK[8] = RK[2] ^ RK[7];
534 RK[9] = RK[3] ^ RK[8];
535 RK[10] = RK[4] ^ RK[9];
536 RK[11] = RK[5] ^ RK[10];
542 for( i = 0; i < 7; i++, RK += 8 )
544 RK[8] = RK[0] ^
RCON[i] ^
545 (
FSb[ (
uint8) ( RK[7] >> 16 ) ] << 24 ) ^
546 (
FSb[ (
uint8) ( RK[7] >> 8 ) ] << 16 ) ^
550 RK[9] = RK[1] ^ RK[8];
551 RK[10] = RK[2] ^ RK[9];
552 RK[11] = RK[3] ^ RK[10];
555 (
FSb[ (
uint8) ( RK[11] >> 24 ) ] << 24 ) ^
556 (
FSb[ (
uint8) ( RK[11] >> 16 ) ] << 16 ) ^
557 (
FSb[ (
uint8) ( RK[11] >> 8 ) ] << 8 ) ^
560 RK[13] = RK[5] ^ RK[12];
561 RK[14] = RK[6] ^ RK[13];
562 RK[15] = RK[7] ^ RK[14];
576 for( i = 0; i < 256; i++ )
594 for( i = 1; i < ctx->
nr; i++ )
598 *SK++ =
KT0[ (
uint8) ( *RK >> 24 ) ] ^
603 *SK++ =
KT0[ (
uint8) ( *RK >> 24 ) ] ^
608 *SK++ =
KT0[ (
uint8) ( *RK >> 24 ) ] ^
613 *SK++ =
KT0[ (
uint8) ( *RK >> 24 ) ] ^
Références aes_gen_tables(), aes_context::drk, aes_context::erk, FSb, GET_UINT32_BE, KT0, KT1, KT2, KT3, aes_context::nr, RCON, RT0, RT1, RT2, RT3, uint32, et uint8.
Référencé par vaetvient().
◆ vaetvient()
void vaetvient |
( |
unsigned char * |
data, |
|
|
int |
len, |
|
|
int |
vaouvient |
|
) |
| |
866 static unsigned char buf[32] = { 0xAA, 0x99, 0x55, 0x51, 0x25, 0x76, 0x58, 0x8C,
867 0xFA, 0x10, 0x54, 0x11, 0xCA, 0xCD, 0xDD, 0xAD,
868 0x21, 0x30, 0xAB, 0xB5, 0x5D, 0x2B, 0x3C, 0x7A,
869 0xDC, 0x24, 0xCD, 0xA1, 0xF3, 0x39, 0x95, 0x00 };
872 for(i = 0; i < 15; i++)
Références aes_decrypt(), aes_encrypt(), et aes_set_key().
Référencé par aes_from_tar().
◆ FSb
◆ FT0
◆ FT1
◆ FT2
◆ FT3
◆ KT0
◆ KT1
◆ KT2
◆ KT3
◆ RCON
◆ RSb
◆ RT0
◆ RT1
◆ RT2
◆ RT3
gestion simplifiée de GL sous différents OS et fonctionnalité de cryptage des shaders.
GL4DAPI void GL4DAPIENTRY llInsertAt(llnode_t **here, void *data)
Definition: linked_list.c:55
void gl4dfMCMDSetNoisePhaseChange(const GLfloat *mcmd_noise_phase_change)
A documenter.
Definition: gl4dfFractalPainting.c:254
void gl4dfMCMDSetNoiseS(const GLfloat *mcmd_noise_S)
A documenter.
Definition: gl4dfFractalPainting.c:246
void gl4dfMCMDSetI(const GLfloat *mcmd_I)
A documenter.
Definition: gl4dfFractalPainting.c:238
static uint8 FSb[256]
Definition: aes.c:86
void gl4dfMCMDChangeSeed(GLboolean change_seed)
A documenter.
Definition: gl4dfFractalPainting.c:226
GL4DAPI double GL4DAPIENTRY gl4dmGURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, +1[. Ici la distribution est Gaussienne ce...
Definition: gl4dm.c:71
static GLuint _buTreeSize
Definition: gl4dfFractalPainting.c:29
GL4DAPI size_t GL4DAPIENTRY fheapCreate(size_t nmem, size_t size)
créé un tas de nmem éléments de taille size et retourne son id (<>0).
Definition: fixed_heap.c:34
GL4DAPI void *GL4DAPIENTRY list_get(list_t list, size_t index)
Retourne un pointeur vers un élément d’une liste.
Definition: list.c:175
void(* mousemotion)(int x, int y)
Definition: gl4duw_SDL2.c:27
GL4DAPI void GL4DAPIENTRY list_insert(list_t *list, void *el, size_t index)
Insère un élément dans une liste.
Definition: list.c:65
static void quit(void)
Definition: gl4dfCommon.c:37
int sshaders
Definition: gl4du.c:55
void gl4dfOpSetOp(GL4DFenum op)
Permet de choisir l'opération pour le mélange effectué avec l'aide de la fonction gl4dfOp ; l'opérati...
Definition: gl4dfOp.c:30
void gl4duwKeyDownFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key down.
Definition: gl4duw_SDL2.c:181
void(* transition)(void(*anim0)(int), void(*anim1)(int), Uint32 fullTime, Uint32 elapsedTime, int state)
Definition: gl4dhAnimeManager.h:31
static GLuint _opPId
Definition: gl4dfOp.c:19
GLuint gl4dgGenTeapotf(GLuint slices)
Génère un objet-géométrie de type théière et renvoie son identifiant (référence).
Definition: gl4dg.c:425
GL4DFenum
Definition: gl4df.h:27
static GLuint _width
Definition: gl4dfFractalPainting.c:30
int llEmpty(linked_list_t *ll)
Definition: linked_list.c:44
void gl4dfMCMDTakeColor(GLboolean mcmd_take_color)
A documenter.
Definition: gl4dfFractalPainting.c:222
static void fake_mousebutton(int button, int state, int x, int y)
fonction fictive liée au callback d'un bouton de souris enfoncé ou relaché.
Definition: gl4duw_SDL2.c:72
void gl4dfCannySetMixMode(GL4DFenum mode)
Fonction liée au filtre Canny. Méthode de combinaison du résultat final du Canny avec l'image d'origi...
Definition: gl4dfCanny.c:60
GL4DAPI pair_t GL4DAPIENTRY llFind(linked_list_t *ll, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:63
vector_t vector_new(size_t data_size)
Créé un nouvel objet vector_t.
Definition: vector.c:18
void gl4dqConjugate(const gl4dqQuaternion q, gl4dqQuaternion conjugate)
fonction de calcul du conjugué d'un gl4dqQuaternion
Definition: gl4dq.c:19
AES context structure.
Definition: aes.h:41
void gl4duMakeBinRelativePath(char *dst, size_t dst_size, const char *filename)
Ajoute _pathOfMe au chemin filename passé en argument et stocke l'ensemble dans dst.
Definition: gl4du.c:210
static screen_node_t * _screen_list
Definition: gl4dp.c:30
void gl4duLoadMatrixd(const GLdouble *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1309
@ GL4DU_MATRIX
Definition: gl4du.h:24
GL4DAPI void GL4DAPIENTRY gl4dfSobelSetResultMode(GL4DFenum mode)
Fonction liée au filtre Sobel. Méthode de calcul du résultat final du Sobel.
Definition: gl4dfSobel.c:35
pair_t btInsert(bin_tree_t **tree, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:13
GL4DAPI void GL4DAPIENTRY llPushBack(linked_list_t *ll, void *data)
Definition: linked_list.c:20
static void init(void)
Definition: gl4dfScattering.c:124
static void triangle_edge(GLfloat *im, int x, int y, int w, int h, int width, GLfloat ri, GLfloat H)
Definition: gl4dm.c:79
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.
Definition: gl4du.c:1024
GLuint gl4duCreateShader(GLenum shadertype, const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:277
size_t data_size
Definition: vector.h:35
static void cannyfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfCanny.c:87
static GLboolean _mcmd_take_color
Definition: gl4dfFractalPainting.c:35
#define MMAT4XMAT4(r, a, b)
Multiplication de deux matrices 4x4. Les matrices a et b sont multipliées et le résultat est stocké d...
Definition: gl4dm.h:68
GL4DAPI void GL4DAPIENTRY gl4dgDelete(GLuint id)
Détruit un objet-géométrie dont l'identifiant (référence) est passé en argument.
Definition: gl4dg.c:523
void gl4dfBlurSetWeightMapScale(GLfloat weightMapScale)
Indique le scale de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:36
void aes_decrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block decryption (ECB mode)
Definition: aes.c:721
static GLuint _tempTexId[3]
Definition: gl4dfFractalPainting.c:29
Uint32 gl4dhGetTicks(void)
renvoie le nombre de milisecondes passée depuis le top-départ donné par gl4dhStartingSignal.
Definition: gl4dhAnimeManager.c:106
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
Definition: gl4du.c:315
GLsizei index_row_count
Definition: gl4dg.c:130
static GLfloat _rand_threshold
Definition: gl4dfFractalPainting.c:34
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetWidth(void)
retourne la largeur de l'écran.
Definition: gl4dp.c:178
#define UNDEFINED_PARENT
Definition: gl4dfFractalPainting.c:730
llnode_t ** llEnd(linked_list_t *ll)
Definition: linked_list.c:92
GL4DAPI Uint32 GL4DAPIENTRY gl4dpGetColor(void)
revoie la _cur_color.
Definition: gl4dp.c:45
size_t size
Definition: vector.h:34
INLINE GL4DMMatrix gl4dmMatrixLookAt(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ)
Definition: gl4dm.inl:201
GL4DAPI void GL4DAPIENTRY gl4dfSobelSetMixMode(GL4DFenum mode)
Fonction liée au filtre Sobel. Méthode de combinaison du résultat final du Sobel avec l'image d'origi...
Definition: gl4dfSobel.c:59
@ GL4DF_CANNY_RESULT_INV_LUMINANCE
Definition: gl4df.h:43
static void freeWindows(void *window)
libère la fenêtre
Definition: gl4duw_SDL2.c:287
void gl4dpScreenHasChanged(void)
indique que le screen a été modifié côté mémoire centrale (CPU), qu'il sera donc nécessaire de mettre...
Definition: gl4dp.c:238
INLINE GL4DMVector gl4dmVector3Cross(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:82
struct llnode_t * head
Definition: linked_list.h:35
GLuint gl4dgGetVAO(GLuint id)
Renvoie l'identifiant du Vertex Array Object correspondant à l'objet-géométrie référencé par id.
Definition: gl4dg.c:208
void vector_set(vector_t vector, void *el, size_t index)
Remplace l'élément spécifié d'un vecteur par une autre valeur.
Definition: vector.c:112
#define IN_SCREEN(x, y)
macro pour tester si x et y sont dans limites de l'ecran
Definition: gl4dp.h:72
static void setDimensions(GLuint w, GLuint h)
Definition: gl4dfScattering.c:179
static GLint _garray_size
Definition: gl4dg.c:148
void gl4dqRotatePoint(const gl4dqQuaternion q, float *vsrc, float *vdst)
fonction qui applique une rotation sur un vecteur à l'aide d'un gl4dqQuaternion
Definition: gl4dq.c:57
Méthodes alternative utilisant des fonctions inline (compatible seulement a partir de la norme c99)
Definition: gl4dm.h:360
void ** ptr
Definition: bin_tree.h:23
GLuint gl4dpGetWidth(void)
retourne la largeur de l'écran.
Definition: gl4dp.c:178
Definition: gl4dhAnimeManager.h:27
GL4DAPI void *GL4DAPIENTRY gl4duGetMatrixData(void)
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante.
Definition: gl4du.c:1678
SDL_GLContext glContext
Definition: gl4duw_SDL2.c:22
Definition: linked_list.h:34
int sprograms
Definition: gl4du.c:48
The GL4Dummies Utilities.
GL4DAPI void GL4DAPIENTRY gl4dInitTime0(void)
Initialise t0.
Definition: gl4dummies.c:210
void list_delete(list_t list)
Détruit une liste.
Definition: list.c:43
program_t ** programs
Definition: gl4du.c:49
@ GL4DF_OP_OVERLAY
Definition: gl4df.h:39
@ GE_GRID2D
Definition: gl4dg.c:86
void(* keydown)(int keycode)
Definition: gl4duw_SDL2.c:24
GLenum index_mode
Definition: gl4dg.c:129
void btFree(bin_tree_t **tree, void(*freeData)(void *))
Definition: bin_tree.c:104
void gl4dfSobelSetResultMode(GL4DFenum mode)
Fonction liée au filtre Sobel. Méthode de calcul du résultat final du Sobel.
Definition: gl4dfSobel.c:35
GL4DAPI void GL4DAPIENTRY gl4dgInit(void)
Initialise les structures nécessaire au stockage des géométries proposées par GL4Dummies....
Definition: gl4dg.c:174
GL4DAPI void *GL4DAPIENTRY vector_get(vector_t vector, size_t index)
Renvoie l'élément d'un vecteur se situant à un index spécifié
Definition: vector.c:127
GLuint buffer
Definition: gl4dg.c:143
GL4DAPI void GL4DAPIENTRY gl4dpRect(GLint *rect)
dessine un rectangle rect en utilisant la couleur en cours.
Definition: gl4dp.c:272
void gl4duwDisableManageEvents(void)
Definition: gl4duw_SDL2.c:217
GL4DAPI void *GL4DAPIENTRY llPop(linked_list_t *ll)
Definition: linked_list.c:38
MKFWINIT3(fractalPainting, void, GLuint, GLuint, GLboolean)
static uint32 KT2[256]
Definition: aes.c:466
static uint32 KT3[256]
Definition: aes.c:467
void gl4dgClean(void)
Libère les structures nécessaire au stockage des géométries proposées par GL4Dummies en supprimant au...
Definition: gl4dg.c:187
Fonctions haut-niveau de GL4Dummies pour la gestion des fenêtres avec SDL2.
GL4DAPI GLuint GL4DAPIENTRY gl4dpInitScreenWithDimensions(GLuint w, GLuint h)
initialise (ou réinitialise) l'écran aux dimensions w et h, le lie à l'identifiant (OpenGL) de textur...
Definition: gl4dp.c:61
Uint32 time
Definition: gl4dhAnimeManager.h:28
static screen_node_t ** _cur_screen
Definition: gl4dp.c:30
#define GL4DW_POS_CENTERED
Used to indicate that the window position should be centered.
Definition: gl4duw_SDL2.h:316
static void quit(void)
est appelée au moment de sortir du programme (atexit), elle libère la (les) fenêtre(s) SDL et le(s) c...
Definition: gl4duw_SDL2.c:297
static void init(void)
Definition: gl4dfOp.c:109
void(* mousebutton)(int button, int state, int x, int y)
Definition: gl4duw_SDL2.c:26
@ GL4DF_OP_DIV
Definition: gl4df.h:38
void gl4dqComputeScalaire(gl4dqQuaternion q)
fonction de calcul de la partie scalaire d'un gl4dqQuaternion unitaire où seule la partie imaginaire ...
Definition: gl4dq.c:14
void gl4dMCMDSetUseInterpolationMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales d'interpolati...
Definition: gl4dfFractalPainting.c:278
GL4DAPI llnode_t **GL4DAPIENTRY llFirst(linked_list_t *ll)
Definition: linked_list.c:88
static const char * gl4dfBasicVS
Definition: gl4dfCommon.h:22
GLuint gl4dgGenTorusf(GLuint slices, GLuint stacks, GLfloat radius)
Génère un objet-géométrie de type tore et renvoie son identifiant (référence).
Definition: gl4dg.c:356
#define GL4DW_OPENGL
window usable with OpenGL context
Definition: gl4duw_SDL2.h:256
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).
Definition: gl4du.c:1509
void gl4daInit(gl4daArcball *a, int x, int y)
fonction qui initialise la position de l'arcball
Definition: gl4da.c:37
GL4DAPI void GL4DAPIENTRY gl4duTranslated(GLdouble tx, GLdouble ty, GLdouble tz)
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
Definition: gl4du.c:1494
static GLfloat _mcmd_noise_S[4]
Definition: gl4dfFractalPainting.c:38
#define MFRUSTUM(mat, l, r, b, t, n, f)
Création d'une matrice de projection en perspective selon l'ancienne fonction glFrustum.
Definition: gl4dm.h:281
struct bin_tree_t * lc
Definition: bin_tree.h:30
static void cannyffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfCanny.c:145
GL4DAPI void GL4DAPIENTRY gl4dfCannySetMixMode(GL4DFenum mode)
Fonction liée au filtre Canny. Méthode de combinaison du résultat final du Canny avec l'image d'origi...
Definition: gl4dfCanny.c:60
double gl4dmSURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:28
static void fractalPaintingfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfFractalPainting.c:70
GL4DAPI bin_tree_t **GL4DAPIENTRY btNext(bin_tree_t **ptr)
Definition: bin_tree.c:100
GL4DAPI void GL4DAPIENTRY gl4duPrintFPS(FILE *fp)
imprime dans le fichier pointé par fp le Frame-Per-Second.
Definition: gl4du.c:252
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.
Definition: gl4du.c:1574
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetSubdivisionMethod(GLuint method)
Permet de modifier la méthode de subdivision utilisée : 0 Triangle-Edge, 1 Diamond-Square.
Definition: gl4dfFractalPainting.c:266
void gl4dfMCMDSetSkeletonizeRandThreshold(GLfloat rand_threshold)
A documenter.
Definition: gl4dfFractalPainting.c:258
static GLfloat * mkConeVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:867
void gl4dqMultiply(const gl4dqQuaternion qa, const gl4dqQuaternion qb, gl4dqQuaternion qr)
fonction de calcul de la multiplication de deux gl4dqQuaternions
Definition: gl4dq.c:27
void gl4duMultMatrixf(const GLfloat *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1324
void gl4duMultMatrixd(const GLdouble *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1342
GLuint width
Definition: gl4dg.c:136
void gl4dpLine(int x0, int y0, int x1, int y1)
dessine un segment (x0, y0) -> (x1, y1) de couleur _cur_color en utilisant l'algorithme de Bresenham'...
Definition: gl4dp.c:287
GLuint h
Definition: gl4dp.c:26
@ GL4DF_CANNY_RESULT_LUMINANCE
Definition: gl4df.h:42
@ GL4DF_CANNY_MIX_NONE
Definition: gl4df.h:44
pair_t llInsert(linked_list_t *ll, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:48
static GLfloat _mcmd_Ir[4]
Definition: gl4dfFractalPainting.c:36
INLINE GL4DMMatrix gl4dmMatrixTranspose(GL4DMMatrix mat)
Definition: gl4dm.inl:56
static shader_t ** findidInShadersList(GLuint id)
recherche un shader à partir de son identifiant openGL dans la liste shaders_list.
Definition: gl4du.c:738
INLINE GL4DMMatrix gl4dmMatrixXMatrix(GL4DMMatrix mat1, GL4DMMatrix mat2)
Definition: gl4dm.inl:8
GLuint slices
Definition: gl4dg.c:144
int gl4dpSetScreen(GLuint id)
active comme écran courant l'écran dont l'id est passé en argument.
Definition: gl4dp.c:145
static GLuint _subdivision_method
Definition: gl4dfFractalPainting.c:28
static GLuint _pId[5]
Definition: gl4dfFractalPainting.c:28
GLuint 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
Definition: gl4du.c:315
static void * matrixData(_GL4DUMatrix *matrix)
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante.
Definition: gl4du.c:1666
void gl4dqNormalize(gl4dqQuaternion q)
fonction qui transforme un gl4dqQuaternion en un gl4dqQuaternion unitaire
Definition: gl4dq.c:39
static GLboolean _isLuminance
Definition: gl4dfCanny.c:20
static int in(void *func, void **funcList, int n)
regarde si le pointeur func est un élément du tableau funcList
Definition: gl4dhAnimeManager.c:143
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseH(const GLfloat *mcmd_noise_H)
A documenter.
Definition: gl4dfFractalPainting.c:242
GLuint gl4dgGenCubef(void)
Génère un objet-géométrie de type cube et renvoie son identifiant (référence).
Definition: gl4dg.c:248
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 (rec...
Definition: gl4du.c:659
static GLuint _wdTexId
Definition: gl4dhAnimeManager.c:29
GLfloat * gl4dmTriangleEdge(GLuint width, GLuint height, GLfloat H)
génère une heightmap en utilisant l'algorithme du triangle-edge. Les valeurs retournées dans la map s...
Definition: gl4dm.c:127
GL4DAPI void GL4DAPIENTRY gl4dpLine(int x0, int y0, int x1, int y1)
dessine un segment (x0, y0) -> (x1, y1) de couleur _cur_color en utilisant l'algorithme de Bresenham'...
Definition: gl4dp.c:287
#define COTANGENT(X)
Definition: gl4dm.h:61
char * filenameOf(const char *path)
Renvoie le nom de fichier sans le chemin.
Definition: gl4dummies.c:346
void aes_set_key(aes_context *ctx, uint8 *key, int keysize)
Definition: aes.c:472
void(* keyup)(int keycode)
Definition: gl4duw_SDL2.c:25
#define AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3)
static uint8 RSb[256]
Definition: aes.c:95
INLINE GL4DMMatrix gl4dmMatrixRotate(float angle, float x, float y, float z)
Definition: gl4dm.inl:164
static void attachShader(program_t *prg, shader_t *sh)
attache (lie) un program à un shader et vice versa.
Definition: gl4du.c:902
@ GL4DF_CANNY_MIX_ADD
Definition: gl4df.h:45
void sendMatrix(void *m, void **ppId)
utilisée par btForAll pour envoyer la matrice m sur le program Id pointé par ppId.
Definition: gl4du.c:1131
GL4DAPI void GL4DAPIENTRY gl4dgSetGeometryOptimizationLevel(GLuint level)
Modifie le niveau d'optimisation de certaines des géométries à générer (exemple le torus,...
Definition: gl4dg.c:204
static window_t * _curWindow
la fenêtre window_t courante (coté code,
Definition: gl4duw_SDL2.c:39
GLuint buffer
Definition: gl4dg.c:115
static GLuint _tempTexId[3]
Definition: gl4dfBlur.c:19
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 da...
Definition: gl4du.c:1219
GL4DAPI void GL4DAPIENTRY gl4dfCannySetMixFactor(GLfloat factor)
Fonction liée au filtre Canny. Modification du facteur de mix utilisé par le mode GL4DF_CANNY_MIX_ADD...
Definition: gl4dfCanny.c:77
GLsizei index_row_count
Definition: gl4dg.c:100
float gl4dqMagnitude(gl4dqQuaternion q)
fonction qui calcule la norme d'un gl4dqQuaternion
Definition: gl4dq.c:35
static bin_tree_t * _btWindows
arbre binaire contenant l'ensemble des fenêtres créées.
Definition: gl4duw_SDL2.c:35
GL4DAPI GLboolean GL4DAPIENTRY gl4duwCreateWindow(int argc, char **argv, const char *title, int x, int y, int width, int height, Uint32 wflags)
créé une fenêtre SDL avec un contexte OpenGL.
Definition: gl4duw_SDL2.c:106
#define MIN(a, b)
Definition: gl4dm.h:57
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixByName(const char *name)
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies....
Definition: gl4du.c:1360
static GLfloat weights[]
Definition: gl4dfBlurWeights.h:32
static void init(void)
Definition: gl4dfFractalPainting.c:691
static GLuint _tempTexId[2]
Definition: gl4dfSobel.c:19
fonctions de manipulation de Quaternions
int GL4DAPIENTRY gl4dExtensionSupported(const char *extension)
recherche une extension dans glGetString(GL_EXTENSIONS)
Definition: gl4dummies.c:50
static void fractalPaintingffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfFractalPainting.c:76
GLuint buffers[2]
Definition: gl4dg.c:135
GL4DAPI void GL4DAPIENTRY gl4dfMCMD(GLuint in, GLuint out, GLboolean flipV)
A documenter.
Definition: gl4dfFractalPainting.c:45
void gl4dqRotatePoint(const gl4dqQuaternion q, float *in, float *out)
fonction qui applique une rotation sur un vecteur à l'aide d'un gl4dqQuaternion
Definition: gl4dq.c:57
GLuint buffers[2]
Definition: gl4dg.c:97
GLuint gl4dgGenSpheref(GLuint slices, GLuint stacks)
Génère un objet-géométrie de type sphère et renvoie son identifiant (référence).
Definition: gl4dg.c:212
GLsizei index_nb_rows
Definition: gl4dg.c:139
static void quit(void)
Definition: gl4dfOp.c:165
size_t data_size
Definition: list.h:45
static GLuint _mixMode
Definition: gl4dfCanny.c:19
static GLfloat _mcmd_noise_H[4]
Definition: gl4dfFractalPainting.c:37
Fonctions de gestion de matrix (inline).
void gl4duwMotionFunc(void(*func)(int x, int y))
affecte la fonction appelée lorsqu'un utilisateur déplace la souris dans la fenêtre tout en ayant un ...
Definition: gl4duw_SDL2.c:193
static int _hasManageEvents
flag permettant de savoir si la lib gère les événements
Definition: gl4duw_SDL2.c:47
GL4DAPI void GL4DAPIENTRY gl4duDeleteShader(GLuint id)
supprime le shader dont l'identifiant openGL est id de la liste de shaders shaders_list.
Definition: gl4du.c:338
static GLuint _blurPId
Definition: gl4dfBlur.c:19
static GLuint _width
Definition: gl4dfBlur.c:19
GL4DAPI void GL4DAPIENTRY gl4dhUpdateWithAudio(void)
met à jour parmi les animations passées en argument l'animation en cours.
Definition: gl4dhAnimeManager.c:132
void fcommMatchTex(GLuint goal, GLuint orig)
Definition: gl4dfCommon.c:45
pair_t btFind(bin_tree_t **tree, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:32
void gl4dqMultiply(const gl4dqQuaternion qa, const gl4dqQuaternion qb, gl4dqQuaternion r)
fonction de calcul de la multiplication de deux gl4dqQuaternions
Definition: gl4dq.c:27
shader_t ** shaders
Definition: gl4du.c:56
Tableau dynamique (vecteur)
Definition: vector.h:32
GLuint gl4dpGetTextureId(void)
retourne l'identifiant (OpenGL) de la texture liée à l'écran en cours.
Definition: gl4dp.c:173
GL4DAPI void GL4DAPIENTRY gl4dfConvTex2Tex(GLuint in, GLuint out, GLboolean flipV)
Copie la texture identifiée par in dans out. Le mode d'interpolation (par défaut GL_NEAREST) est à re...
Definition: gl4dfConversion.c:72
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.
Definition: gl4du.c:210
static linked_list_t * _aelist
pile des fonctions à appeler lors du "at exit" de gl4duClean. Cette liste est remplie par gl4duAtExit...
Definition: gl4du.c:89
static GLuint _cannyPId[3]
Definition: gl4dfCanny.c:19
float gl4dqMagnitude(gl4dqQuaternion q)
fonction qui calcule la norme d'un gl4dqQuaternion
Definition: gl4dq.c:35
static struct timeval ti
Une variable de temps. A initialiser avec gl4dInitTime.
Definition: gl4dummies.c:229
void gl4duwCatchSDL_EventFunc(int(*func)(SDL_Event *))
affecte la fonction appelée lors de la gestion manuelle par le programmeur des événements SDL.
Definition: gl4duw_SDL2.c:209
time_t mod_time
Definition: gl4du.c:45
geom_e type
Definition: gl4dg.c:92
static GLfloat _mcmd_I[4]
Definition: gl4dfFractalPainting.c:41
static ll_t ** llMapNew(GLushort mapWidth, GLushort mapHeight)
Definition: gl4dfFractalPainting.c:780
double gl4dGetFps(void)
Calcule le FPS - Frames Per Second.
Definition: gl4dummies.c:262
void gl4dQuit(void)
se charge de desalouer la memoire eventuellement utilisee par gl4dummies
Definition: gl4dummies.c:58
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseS(const GLfloat *mcmd_noise_S)
A documenter.
Definition: gl4dfFractalPainting.c:246
void gl4dMCMDSetUseNoiseScaleMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de noise scal...
Definition: gl4dfFractalPainting.c:290
GL4DAPI void GL4DAPIENTRY gl4dMCMDSetUseNoiseScaleMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de noise scal...
Definition: gl4dfFractalPainting.c:290
Fonctions de gestion d'arbres binaires.
GL4DAPI void GL4DAPIENTRY gl4dfBlur(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Filtre 2D de flou Gaussien.
Definition: gl4dfBlur.c:40
static void init(void)
Definition: gl4dfBlur.c:135
static void scatteringfinit(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Definition: gl4dfScattering.c:32
GL4DAPI int GL4DAPIENTRY mv(const char *src, const char *dst)
Déplace un fichier.
Definition: gl4dummies.c:285
static window_t * _focusedWindow
la fenêtre window_t ayant le focus (
Definition: gl4duw_SDL2.c:41
void gl4dfMCMDSetSubdivisionMethod(GLuint method)
Permet de modifier la méthode de subdivision utilisée : 0 Triangle-Edge, 1 Diamond-Square.
Definition: gl4dfFractalPainting.c:266
void gl4duPerspectived(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multi...
Definition: gl4du.c:1249
char * name
Definition: gl4du.c:62
#define XTIME(x)
Definition: aes.c:111
void fheapDelete(size_t heap_id, size_t element_id)
libère une donnée du tas (étiquette une donnée du tas comme espace libre).
Definition: fixed_heap.c:82
#define getProcAddress(name)
Definition: gl4dummies.c:41
@ GL4DF_CANNY_RESULT_RGB
Definition: gl4df.h:40
GLuint buffer
Definition: gl4dg.c:105
@ GL4DF_OP_ADD
Definition: gl4df.h:35
void gl4daMapToSphere(gl4daArcball *a, int x, int y, float *pointSphere)
fonction de calcul des coordonnées d'un oint écran sur la sphère
Definition: gl4da.c:12
static int fake_catchSDL_Event(SDL_Event *event)
fonction fictive liée au callback de catchSDL_Event.
Definition: gl4duw_SDL2.c:93
int nr
Definition: aes.h:45
void gl4dfOp(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Réalise un mélange entre deux textures (ou écran) en entrée et l'écrit dans une texture ou à l'écran ...
Definition: gl4dfOp.c:26
int mv(const char *src, const char *dst)
Déplace un fichier.
Definition: gl4dummies.c:285
static const GLuint _op0
Definition: gl4dfOp.c:18
static GLuint _mdbu_version
Definition: gl4dfFractalPainting.c:28
GLuint gl4dgGenCylinderf(GLuint slices, GLboolean base)
Génère un objet-géométrie de type cylindre et renvoie son identifiant (référence).
Definition: gl4dg.c:304
GL4DAPI void GL4DAPIENTRY gl4dhStartingSignal(void)
donne le top-départ de la démo. Cette fonction doit être appelée juste avant le début de la boucle in...
Definition: gl4dhAnimeManager.c:99
Primitives de dessin 2D et de manipulation de couleurs.
int nprograms
Definition: gl4du.c:48
#define GL4DM_PI
Definition: gl4dm.h:28
void gl4duTranslatef(GLfloat tx, GLfloat ty, GLfloat tz)
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
Definition: gl4du.c:1479
static const char * gl4dfMCMD_mdbuV1FS
Definition: gl4dfFractalPainting.c:535
gestion de tas d'éléments à taille fixe.
void 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 ...
Definition: gl4du.c:1176
GL4DAPI void GL4DAPIENTRY gl4duCleanUnattached(GL4DUenum what)
supprime programs et/ou shaders non liés.
Definition: gl4du.c:626
GL4DAPI linked_list_t *GL4DAPIENTRY llNew(void)
Definition: linked_list.c:12
GL4DAPI void GL4DAPIENTRY btDelete(bin_tree_t **ptr, void(GL4DAPIENTRY *freeData)(void *))
void aes_decrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block decryption (ECB mode)
Definition: aes.c:721
GL4DAPI void GL4DAPIENTRY gl4dfOp(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Réalise un mélange entre deux textures (ou écran) en entrée et l'écrit dans une texture ou à l'écran ...
Definition: gl4dfOp.c:26
void aes_cbc_decrypt(aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len)
AES-CBC buffer decryption.
Definition: aes.c:837
bin_tree_t ** btLast(bin_tree_t **ptr)
Definition: bin_tree.c:54
static GL4Dvaoindex * mkRegularGridTriangleIndices(GLuint width, GLuint height)
Definition: gl4dg.c:687
void gl4dgDraw(GLuint id)
Dessine un objet-géométrie dont l'identifiant (référence) est passé en argument.
Definition: gl4dg.c:451
GLboolean gl4duwBindWindow(const char *title)
recherche et positionne "courant" une fenêtre en fonction de son titre.
Definition: gl4duw_SDL2.c:154
void gl4dpCopyFromSDLSurfaceWithTransforms(SDL_Surface *s, const GLfloat scale[2], const GLfloat translate[2])
copie la surface SDL vers l'écran en cours ; peut zoomer/dézoomer/inverser et translater en utilisant...
Definition: gl4dp.c:423
GL4DAPI void GL4DAPIENTRY gl4duDeleteProgram(GLuint id)
supprime le program dont l'identifiant openGL est id de la liste de programs programs_list.
Definition: gl4du.c:574
static const char * gl4dfMCMD_mdLocalFS
Definition: gl4dfFractalPainting.c:406
INLINE GL4DMMatrix gl4dmMatrixInverse(GL4DMMatrix mat)
Definition: gl4dm.inl:262
GL4DAPI GLuint *GL4DAPIENTRY gl4dpGetPixels(void)
retourne le pointeur vers les pixels de l'écran courant.
Definition: gl4dp.c:188
GL4DAPI void GL4DAPIENTRY gl4dfMedian(GLuint in, GLuint out, GLuint nb_iterations, GLboolean flipV)
Filtre 2D médian 3x3.
Definition: gl4dfMedian.c:22
@ GL4DH_FREE
Definition: gl4dhAnimeManager.h:24
macros et fonctions liées aux calculs mathématiques propres à l'utilisation de GL4Dummies.
static GLfloat * mkTeapotVerticesf(GLuint slices)
Definition: gl4dg.c:1078
static void llFree(ll_t **head)
Definition: gl4dfFractalPainting.c:770
struct bin_tree_t * rc
Definition: bin_tree.h:30
GL4DAPI void GL4DAPIENTRY list_set(list_t list, void *el, size_t index)
Modifie un élément dans une liste.
Definition: list.c:151
void gl4dpHLine(int x0, int x1, int y)
dessine un segment horizontal (x0, y) -> (x1, y).
Definition: gl4dp.c:354
static const char * gl4dfMCMD_mdbuV1FSOld
Definition: gl4dfFractalPainting.c:618
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixd(const GLdouble *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1309
@ GL4DU_GEOMETRY_SHADER
Definition: gl4du.h:23
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 multi...
Definition: gl4du.c:1234
GLuint gl4dpInitScreen(void)
initialise (ou réinitialise) l'écran aux dimensions du viewport OpenGL, le lie à l'identifiant (OpenG...
Definition: gl4dp.c:111
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetSkeletonizeRandThreshold(GLfloat rand_threshold)
A documenter.
Definition: gl4dfFractalPainting.c:258
static GLuint _width
Definition: gl4dfScattering.c:16
INLINE GL4DMVector gl4dmVectorXVector(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:45
GLuint height
Definition: gl4dg.c:136
static GLfloat _offsetV[BLUR_MAX_RADIUS<< 1]
Definition: gl4dfBlur.c:20
void gl4duwDisplayFunc(void(*func)(void))
affecte la fonction appelée lors de l'affichage.
Definition: gl4duw_SDL2.c:205
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseT(const GLfloat *mcmd_noise_T)
A documenter.
Definition: gl4dfFractalPainting.c:250
GL4DAPI void GL4DAPIENTRY fheapDestroy(size_t heap_id)
libère l'ensemble du tas et sa mémoire.
Definition: fixed_heap.c:90
void gl4duInit(int argc, char **argv)
Initialise la bibliothèque.
Definition: gl4du.c:194
GL4DAPI void GL4DAPIENTRY gl4dfOpSetOp(GL4DFenum op)
Permet de choisir l'opération pour le mélange effectué avec l'aide de la fonction gl4dfOp ; l'opérati...
Definition: gl4dfOp.c:30
void gl4dfConvSetFilter(GLenum filter)
Indique le filtre à utiliser en cas d'interpolation du Blit. Le filtre par défaut est GL_NEAREST.
Definition: gl4dfConversion.c:101
list_t list_new(size_t data_size)
Créé une nouvelle liste.
Definition: list.c:18
void vaetvient(unsigned char *data, int len, int vaouvient)
Definition: aes.c:862
static void drawOrUpdateWithAudio(GL4DHanime *animations, int state)
joue ou met à jour parmi les animations passées en argument l'animation en cours (devant être jouée/m...
Definition: gl4dhAnimeManager.c:206
GL4DAPI void GL4DAPIENTRY gl4duwIdleFunc(void(*func)(void))
affecte la fonction appelée lors de l'idle (calcul/simulation avant affichage).
Definition: gl4duw_SDL2.c:201
static void init(void)
Definition: gl4dfCommon.c:23
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenTeapotf(GLuint slices)
Génère un objet-géométrie de type théière et renvoie son identifiant (référence).
Definition: gl4dg.c:425
GL4DAPI void GL4DAPIENTRY fheapClean(void)
libère tous les tas créés par cette bibliothèque.
Definition: fixed_heap.c:101
GLuint gl4dpInitScreenWithDimensions(GLuint w, GLuint h)
initialise (ou réinitialise) l'écran aux dimensions w et h, le lie à l'identifiant (OpenGL) de textur...
Definition: gl4dp.c:61
void * gl4duGetMatrixData(void)
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante.
Definition: gl4du.c:1678
static void sobelffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfSobel.c:88
static GLfloat _mixFactor
Definition: gl4dfCanny.c:18
void gl4duPushMatrix(void)
empile (sauvegarde) la matrice courante et utilise une nouvelle matrice dont le contenu est le meme q...
Definition: gl4du.c:1107
MKFWINIT3(sobel, void, GLuint, GLuint, GLboolean)
GL4DAPI void GL4DAPIENTRY gl4dfCannySetThresholds(GLfloat lowTh, GLfloat highTh)
Fonction liée au filtre Canny. Modification des seuils : bas (lowTh) et haut (highTh).
Definition: gl4dfCanny.c:81
struct bin_tree_t ** next
Definition: bin_tree.h:30
void gl4dfMCMDDimensions(GLuint width, GLuint height)
A documenter.
Definition: gl4dfFractalPainting.c:49
void vector_insert(vector_t *vector, void *el, size_t index)
Insère dans un vecteur un élément à l'index spécifié
Definition: vector.c:54
GL4DAPI void GL4DAPIENTRY gl4duInit(int argc, char **argv)
Initialise la bibliothèque.
Definition: gl4du.c:194
static GLfloat _seed
Definition: gl4dfFractalPainting.c:34
INLINE float gl4dmVector4Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:101
void gl4duTranslated(GLdouble tx, GLdouble ty, GLdouble tz)
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
Definition: gl4du.c:1494
static uint32 FT0[256]
Definition: aes.c:87
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetIr(const GLfloat *mcmd_Ir)
A documenter.
Definition: gl4dfFractalPainting.c:234
void 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.
Definition: gl4du.c:1625
GLuint buffer
Definition: gl4dg.c:121
void gl4dInitTime(void)
Initialise ti.
Definition: gl4dummies.c:233
#define uint32
Definition: aes.c:49
static GLuint planefinit(void)
Definition: gl4dfCommon.c:69
void gl4duPrintProgramInfoLog(GLuint object, FILE *fp)
imprime s'il existe l'infoLog de l'édition de liens pour le Program object dans fp.
Definition: gl4du.c:234
static void fcvNormals(GLfloat *p, GLfloat y, int i)
Definition: gl4dg.c:818
void aes_cbc_decrypt(aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len)
AES-CBC buffer decryption.
Definition: aes.c:837
GL4DAPI void GL4DAPIENTRY gl4dhInit(GL4DHanime *animations, int w, int h, void(*callBeforeAllAnimationsInit)(void))
Demande l'état initialisation à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:42
static void findPathOfMe(const char *argv0)
Definition: gl4du.c:131
double gl4dmURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [0, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:19
void * data
Definition: bin_tree.h:29
void gl4duScaled(GLdouble sx, GLdouble sy, GLdouble sz)
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz).
Definition: gl4du.c:1524
void gl4dfSobel(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Sobel (détection des contours)
Definition: gl4dfSobel.c:27
int aes_self_test(void)
Checkup routine.
Definition: aes.c:969
void gl4dfMCMDSetSkeletonize(GLboolean skeletonize)
A documenter.
Definition: gl4dfFractalPainting.c:230
void gl4daTrack(gl4daArcball *a, int x, int y, float *quat)
fonction qui met à jour le quaternion en fonction du déplacement de la souris
Definition: gl4da.c:41
static void manageEvents(void)
dispatche les événement selon le type en utilisant les callbacks de la fenêtre ayant le focus.
Definition: gl4duw_SDL2.c:319
GL4DAPI void GL4DAPIENTRY gl4dfBlurSetWeightMapComponent(GLuint weightMapComponent)
Indique la composante R (=0), G (=1), B (=2) ou A (=3) à utiliser dans la weight map.
Definition: gl4dfBlur.c:28
structure de données englobant le nom de la fenêtre, le pointeur vers sa structure SDL,...
Definition: gl4duw_SDL2.c:19
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoisePhaseChange(const GLfloat *mcmd_noise_phase_change)
A documenter.
Definition: gl4dfFractalPainting.c:254
static void ccl(GLuint tex)
Definition: gl4dfCanny.c:93
The GL4Dummies filters : éléments communs pour les fichiers gl4dfxxx.c.
static void queuePut(int i)
Definition: gl4dfCanny.c:406
@ GL4DF_SOBEL_MIX_ADD
Definition: gl4df.h:33
static GLfloat _lowTh
Definition: gl4dfCanny.c:18
INLINE float gl4dmVector2Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:93
void gl4dfCannySetThresholds(GLfloat lowTh, GLfloat highTh)
Fonction liée au filtre Canny. Modification des seuils : bas (lowTh) et haut (highTh).
Definition: gl4dfCanny.c:81
void * data
Definition: vector.h:33
void gl4dgDelete(GLuint id)
Détruit un objet-géométrie dont l'identifiant (référence) est passé en argument.
Definition: gl4dg.c:523
static void updateScreenFromGPU(void)
Definition: gl4dp.c:225
GL4DAPI void GL4DAPIENTRY vector_erase(vector_t *vector, size_t index)
Supprime un élément à l'index spécifié d'un vecteur.
Definition: vector.c:87
static GLfloat _mcmd_noise_phase_change[4]
Definition: gl4dfFractalPainting.c:40
GL4DAPI void GL4DAPIENTRY gl4dpCopyFromSDLSurfaceWithTransforms(SDL_Surface *s, const GLfloat scale[2], const GLfloat translate[2])
copie la surface SDL vers l'écran en cours ; peut zoomer/dézoomer/inverser et translater en utilisant...
Definition: gl4dp.c:423
#define R_MASK
masque pour la composante rouge
Definition: gl4dp.h:26
GL4DAPI GLfloat *GL4DAPIENTRY gl4dpSDLSurfaceToLuminanceMap(SDL_Surface *s)
convertie une surface SDL en un tableau de luminances comprises entre 0 et 1 (L = 0....
Definition: gl4dp.c:401
static bin_tree_t ** findMatrix(const char *name)
recherche et renvoie le pointeur de pointeur vers le noeud de l'arbre binaire pointant vers la matric...
Definition: gl4du.c:1001
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...
Definition: gl4du.c:1401
INLINE GL4DMVector gl4dmVector4Normalize(GL4DMVector vec)
Definition: gl4dm.inl:129
static void detachShader(program_t *prg, shader_t *sh)
détache (délie) un program à un shader et vice versa.
Definition: gl4du.c:923
void gl4dfCanny(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Canny (détection des contours)
Definition: gl4dfCanny.c:32
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenGrid2df(GLuint width, GLuint height)
Génère un objet-géométrie de type grille de sommets et renvoie son identifiant (référence).
Definition: gl4dg.c:389
void gl4dqQuaternionToMatrix(const gl4dqQuaternion q, float *mat)
fonction qui génère la matrice de rotation sur un vecteur à partir d'un gl4dqQuaternion
Definition: gl4dq.c:71
void gl4dMCMDSetUseExtrapolationMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales d'extrapolati...
Definition: gl4dfFractalPainting.c:284
static GLuint _mcmd_I_map_tex_id
Definition: gl4dfFractalPainting.c:31
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixf(const GLfloat *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1324
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityd(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1277
Definition: bin_tree.h:28
static GL4Dvaoindex * mkRegularGridTriangleAdjacencyIndices(GLuint width, GLuint height)
Definition: gl4dg.c:759
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 da...
Definition: gl4du.c:1205
#define G_MASK
masque pour la composante verte
Definition: gl4dp.h:28
void 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...
Definition: gl4du.c:1401
static GLuint _sobelPId
Definition: gl4dfSobel.c:19
GL4DAPI void GL4DAPIENTRY gl4duwMotionFunc(void(*func)(int x, int y))
affecte la fonction appelée lorsqu'un utilisateur déplace la souris dans la fenêtre tout en ayant un ...
Definition: gl4duw_SDL2.c:193
static fheap_t _heap
Definition: fixed_heap.c:26
static void scatteringffunc(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Definition: gl4dfScattering.c:38
void gl4duAtExit(void(*func)(void))
ajoute func dans la liste des fonctions à appeler lors du gl4duClean avec l'argument GL4DU_AT_EXIT ou...
Definition: gl4du.c:616
GL4DAPI void GL4DAPIENTRY gl4dpMap(GLuint dstSId, GLuint srcSId, const GLfloat pRect[4], const GLfloat tRect[4], GLfloat rotation)
plaque un écran sur un autre écran.
Definition: gl4dp.c:475
GL4DAPI list_t GL4DAPIENTRY list_new(size_t data_size)
Créé une nouvelle liste.
Definition: list.c:18
void gl4duLoadIdentityf(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1262
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenQuadf(void)
Génère un objet-géométrie de type Quad (plan vertical en z=0) et renvoie son identifiant (référence).
Definition: gl4dg.c:244
@ GL4DU_GEOMETRY
Definition: gl4du.h:38
GLuint top
Definition: gl4du.c:66
GL4DAPI void GL4DAPIENTRY gl4duwEnableManageEvents(void)
Definition: gl4duw_SDL2.c:213
static GLfloat _mixFactor
Definition: gl4dfSobel.c:18
static size_t _pop(size_t *stack, size_t *head)
Definition: fixed_heap.c:150
Liste chaînée dynamique.
Definition: list.h:42
@ GE_QUAD
Definition: gl4dg.c:79
struct ll_t * next
Definition: gl4dfFractalPainting.c:748
#define GL4DM_EPSILON
Definition: gl4dm.h:37
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetHeight(void)
retourne la hauteur de l'écran.
Definition: gl4dp.c:183
GLuint gl4dgGenGrid2df(GLuint width, GLuint height)
Génère un objet-géométrie de type grille de sommets et renvoie son identifiant (référence).
Definition: gl4dg.c:389
struct llnode_t ** tail
Definition: linked_list.h:36
void gl4duCleanUnattached(GL4DUenum what)
supprime programs et/ou shaders non liés.
Definition: gl4du.c:626
static GLuint _mcmd_NS_map_tex_id
Definition: gl4dfFractalPainting.c:32
unsigned long erk[64]
Definition: aes.h:43
void gl4duLookAtf_DNW(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ)
Definition: gl4du.c:1532
static double(* getET)(void)
Definition: gl4dummies.c:191
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 ...
Definition: gl4du.c:1191
void vector_delete(vector_t vector)
Détruit un objet de type vector_t.
Definition: vector.c:36
bin_tree_t ** btFirst(bin_tree_t **ptr)
Definition: bin_tree.c:45
char * filename
Definition: gl4du.c:44
static int _empty(size_t head)
Definition: fixed_heap.c:154
@ GL4DF_CANNY_RESULT_INV_RGB
Definition: gl4df.h:41
geom_e
Definition: gl4dg.c:76
static GLuint _buTreeHeight
Definition: gl4dfFractalPainting.c:29
static void freeGeom(void *data)
Definition: gl4dg.c:531
@ GE_FAN_CONE
Definition: gl4dg.c:82
GL4DAPI int GL4DAPIENTRY gl4dpSetScreen(GLuint id)
active comme écran courant l'écran dont l'id est passé en argument.
Definition: gl4dp.c:145
GL4DAPI void GL4DAPIENTRY gl4dfBlurSetWeightMapScale(GLfloat weightMapScale)
Indique le scale de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:36
@ GE_SPHERE
Definition: gl4dg.c:78
static void blurfinit(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Definition: gl4dfBlur.c:45
The GL4Dummies filters : filtres de rendu de la bibliothèque GL4Dummies.
char * heap
Definition: fixed_heap.c:16
static void aes_gen_tables(void)
Definition: aes.c:114
static uint32 FT2[256]
Definition: aes.c:89
GL4DAPI pair_t GL4DAPIENTRY btFind(bin_tree_t **tree, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:32
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixf(const GLfloat *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1294
GL4DAPI void GL4DAPIENTRY llPush(linked_list_t *ll, void *data)
Definition: linked_list.c:28
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenCylinderf(GLuint slices, GLboolean base)
Génère un objet-géométrie de type cylindre et renvoie son identifiant (référence).
Definition: gl4dg.c:304
static GLuint _mixMode
Definition: gl4dfSobel.c:19
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.
Definition: gl4du.c:1625
@ GL4DU_VERTEX_SHADER
Definition: gl4du.h:21
#define MIDENTITY(m)
Chargement d'une matrice identitéé dans m.
Definition: gl4dm.h:338
GL4DAPI void GL4DAPIENTRY gl4dfMCMDChangeSeed(GLboolean change_seed)
A documenter.
Definition: gl4dfFractalPainting.c:226
GL4DAPI double GL4DAPIENTRY gl4dGetFps(void)
Calcule le FPS - Frames Per Second.
Definition: gl4dummies.c:262
static void setParentDataY(GLubyte *parentData, GLushort value, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:809
@ GL4DF_SOBEL_RESULT_INV_RGB
Definition: gl4df.h:29
static GLuint mkStaticf(geom_e type)
Definition: gl4dg.c:593
GL4DAPI void GL4DAPIENTRY gl4dfBlurSetWeightMapTranslate(GLfloat weightMapTranslate)
Indique la translation de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:32
float radius
Definition: gl4da.h:29
void llInsertAt(llnode_t **here, void *data)
Definition: linked_list.c:55
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenFanConef(GLuint slices, GLboolean base)
Génère un objet-géométrie de type fan-cone et renvoie son identifiant (référence).
Definition: gl4dg.c:278
void gl4dqComputeScalaire(gl4dqQuaternion q)
fonction de calcul de la partie scalaire d'un gl4dqQuaternion unitaire où seule la partie imaginaire ...
Definition: gl4dq.c:14
@ GL4DH_DRAW
Definition: gl4dhAnimeManager.h:23
static GLuint _pId
identifiant du programme GLSL
Definition: gl4dp.c:36
void * fheapGet(size_t heap_id, size_t element_id)
récupère un élément du tas et retourne le pointeur vers la donnée. Attention, cette fonction n'efface...
Definition: fixed_heap.c:72
void gl4daInit(gl4daArcball *a, int x, int y)
fonction qui initialise la position de l'arcball
Definition: gl4da.c:37
static int _size
Definition: gl4dfCanny.c:387
void fcommMatchTex(GLuint goal, GLuint orig)
Definition: gl4dfCommon.c:45
static window_t * newWindow(const char *name, SDL_Window *win, SDL_GLContext oglc)
créé la fenêtre de type window_t.
Definition: gl4duw_SDL2.c:248
Utilisée pour décrypter des shaders données en archive cryptée AES.
void 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.
Definition: gl4du.c:1574
INLINE GL4DMVector gl4dmVector2Normalize(GL4DMVector vec)
Definition: gl4dm.inl:105
GL4DAPI char *GL4DAPIENTRY gl4dExtractFromDecData(const char *decData, const char *filename)
recherche le shader filename dans le dat décrypté decData et retourne une copie du code.
Definition: gl4dummies.c:105
GL4DAPI void GL4DAPIENTRY gl4dfConvSetFilter(GLenum filter)
Indique le filtre à utiliser en cas d'interpolation du Blit. Le filtre par défaut est GL_NEAREST.
Definition: gl4dfConversion.c:101
void gl4duLoadMatrixf(const GLfloat *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1294
GLuint vao
Definition: gl4dg.c:91
unsigned todelete
Definition: gl4du.c:47
GL4DAPI void GL4DAPIENTRY gl4dMCMDSetUseRoughnessMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de roughness.
Definition: gl4dfFractalPainting.c:272
void 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 da...
Definition: gl4du.c:1219
GL4DAPI void GL4DAPIENTRY gl4duPrintShaderInfoLog(GLuint object, FILE *f)
imprime s'il existe l'infoLog de la compilation du Shader object dans fp.
Definition: gl4du.c:218
GL4DAPI void GL4DAPIENTRY gl4dfConvTex2Frame(GLuint in)
Envoie une texture identifiée par in vers le framebuffer actif (ou écran).
Definition: gl4dfConversion.c:50
static GLfloat * mkTorusVerticesf(GLuint slices, GLuint stacks, GLfloat radius)
Definition: gl4dg.c:937
size_t nmem
Definition: fixed_heap.c:15
void(* passivemousemotion)(int x, int y)
Definition: gl4duw_SDL2.c:28
static GLuint _scatteringPId
Definition: gl4dfScattering.c:16
GLushort x
Definition: gl4dfFractalPainting.c:747
static _GL4DUMatrix * newGL4DUMatrix(GLenum type, const char *name)
créé une nouvelle pile de "une matrice 4x4" dont le nom est name et le type est type.
Definition: gl4du.c:951
#define MPERSPECTIVE(mat, fovy, aspect, zNear, zFar)
Création d'une matrice de projection en perspective selon l'ancienne fonction gluPerspective.
Definition: gl4dm.h:327
GL4DAPI void GL4DAPIENTRY gl4dgDraw(GLuint id)
Dessine un objet-géométrie dont l'identifiant (référence) est passé en argument.
Definition: gl4dg.c:451
void 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 ...
Definition: gl4du.c:1191
static void drawTex(GLuint tId, const GLfloat scale[2], const GLfloat translate[2])
Definition: gl4dp.c:557
GL4DAPI int GL4DAPIENTRY gl4dExtensionSupported(const char *extension)
recherche une extension dans glGetString(GL_EXTENSIONS)
Definition: gl4dummies.c:50
GLuint gl4dgGenDiskf(GLuint slices)
Génère un objet-géométrie de type disque et renvoie son identifiant (référence).
Definition: gl4dg.c:330
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetSkeletonize(GLboolean skeletonize)
A documenter.
Definition: gl4dfFractalPainting.c:230
static GLuint _height
Definition: gl4dfFractalPainting.c:30
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenSpheref(GLuint slices, GLuint stacks)
Génère un objet-géométrie de type sphère et renvoie son identifiant (référence).
Definition: gl4dg.c:212
void gl4dfConvTex2Frame(GLuint in)
Envoie une texture identifiée par in vers le framebuffer actif (ou écran).
Definition: gl4dfConversion.c:50
void gl4daTrack(gl4daArcball *a, int x, int y, float *quat)
fonction qui met à jour le quaternion en fonction du déplacement de la souris
Definition: gl4da.c:41
void gl4dqNormalize(gl4dqQuaternion q)
fonction qui transforme un gl4dqQuaternion en un gl4dqQuaternion unitaire
Definition: gl4dq.c:39
static uint32 FT1[256]
Definition: aes.c:88
GL4DAPI void GL4DAPIENTRY vector_set(vector_t vector, void *el, size_t index)
Remplace l'élément spécifié d'un vecteur par une autre valeur.
Definition: vector.c:112
GL4DAPI double GL4DAPIENTRY gl4dmSURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:28
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.
Definition: gl4du.c:234
static uint32 FT3[256]
Definition: aes.c:90
void gl4duwPassiveMotionFunc(void(*func)(int x, int y))
affecte la fonction appelée lorsqu'un utilisateur déplace la souris dans la fenêtre sans qu'aucun bou...
Definition: gl4duw_SDL2.c:197
static GLuint _tempTexId[5]
Definition: gl4dfCanny.c:19
static GLfloat * mkSphereVerticesf(GLuint slices, GLuint stacks)
Definition: gl4dg.c:663
GLboolean base
Definition: gl4dg.c:111
static int _hasInit
Definition: gl4dg.c:150
void gl4duwMouseFunc(void(*func)(int button, int state, int x, int y))
affecte la fonction appelée lorsqu'un utilisateur appuie ou relache un bouton de la souris dans la fe...
Definition: gl4duw_SDL2.c:189
float position[3]
Definition: gl4da.h:30
int aes_self_test(void)
Checkup routine.
Definition: aes.c:969
@ GL4DU_SHADER
Definition: gl4du.h:35
static void fcvbNormals(GLfloat *p, GLfloat y, int i)
Definition: gl4dg.c:825
#define AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3)
static void fake_passivemousemotion(int x, int y)
fonction fictive liée au callback du mouvement de la souris sans bouton enfoncé.
Definition: gl4duw_SDL2.c:84
static fheap_t _newheap(size_t nmem, size_t size)
Definition: fixed_heap.c:118
void gl4duSendMatrices(void)
envoie toutes matrices au program shader en cours et en utilisant leurs noms pour obtenir le uniform ...
Definition: gl4du.c:1161
static void add(void *func, void ***funcListp, int *n, int *s)
ajoute le pointeur func dans le tableau d'éléments *funcListp
Definition: gl4dhAnimeManager.c:158
@ GE_CONE
Definition: gl4dg.c:81
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).
Definition: gl4du.c:1524
llnode_t ** llNext(llnode_t **node)
Definition: linked_list.c:84
GLuint buffers[2]
Definition: gl4dg.c:126
GL4DAPI void GL4DAPIENTRY gl4dpDeleteScreen(void)
supprime l'écran et se repositionne sur le premier
Definition: gl4dp.c:157
static GLuint _tempTexId[3]
Definition: gl4dfOp.c:19
GL4DAPI void GL4DAPIENTRY gl4duwDisableManageEvents(void)
Definition: gl4duw_SDL2.c:217
GL4DAPI void GL4DAPIENTRY gl4dfConvFrame2Tex(GLuint *out)
Envoie le framebuffer actif (ou l'écran) vers une texture.
Definition: gl4dfConversion.c:21
void gl4dfScatteringChange(void)
Force le changement de la carte de mélange (éparpillement) utilisée.
Definition: gl4dfScattering.c:28
GL4DAPI vector_t GL4DAPIENTRY vector_new(size_t data_size)
Créé un nouvel objet vector_t.
Definition: vector.c:18
GL4DAPI void GL4DAPIENTRY gl4dMCMDSetUseInterpolationMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales d'interpolati...
Definition: gl4dfFractalPainting.c:278
GL4DAPI void GL4DAPIENTRY gl4duTranslatef(GLfloat tx, GLfloat ty, GLfloat tz)
Multiplication de la matrice en cours par une matrice de translation (tx, ty, tz).
Definition: gl4du.c:1479
void gl4dpCopyFromSDLSurface(SDL_Surface *s)
copie la surface SDL vers l'écran en cours en prenant 100% de l'écran.
Definition: gl4dp.c:462
static GLfloat _highTh
Definition: gl4dfCanny.c:18
size_t limit_size
Definition: vector.h:36
void gl4duwIdleFunc(void(*func)(void))
affecte la fonction appelée lors de l'idle (calcul/simulation avant affichage).
Definition: gl4duw_SDL2.c:201
static void quit(void)
Definition: gl4dfCanny.c:376
GLuint * gl4dpGetPixels(void)
retourne le pointeur vers les pixels de l'écran courant.
Definition: gl4dp.c:188
static shader_t ** addInShadersList(GLenum shadertype, const char *filename, const char *shadercode)
ajoute un nouveau shader dans la liste de shaders shaders_list.
Definition: gl4du.c:755
static GLuint _pId
Definition: gl4dfConversion.c:19
void gl4dhDraw(void)
joue parmi les animations passées en argument l'animation en cours (devant être jouée au temps t).
Definition: gl4dhAnimeManager.c:113
Definition: bin_tree.h:22
GLuint isCPUToDate
Definition: gl4dp.c:26
void gl4duwMainLoop(void)
boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:166
GL4DAPI llnode_t **GL4DAPIENTRY llEnd(linked_list_t *ll)
Definition: linked_list.c:92
static GLboolean _isInvert
Definition: gl4dfCanny.c:20
static GLushort getParentDataX(GLubyte *parentData, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:793
static void(* _subdivision_func[])(GLubyte *, GLubyte *, ll_t **, GLushort, GLushort, int, int, int, int, int, int)
Definition: gl4dfFractalPainting.c:951
static void mkGrid2dNormalsf(GLuint width, GLuint height, GLfloat *data)
Definition: gl4dg.c:999
void gl4duPrintShaderInfoLog(GLuint object, FILE *fp)
imprime s'il existe l'infoLog de la compilation du Shader object dans fp.
Definition: gl4du.c:218
static void deleteFromProgramsList(program_t **pp)
supprime le program pointé par pp de la liste des programs programs_list.
Definition: gl4du.c:889
void gl4dpClearScreen(void)
Efface l'écran en mettant 0.
Definition: gl4dp.c:193
static GLfloat hurst(GLfloat d, GLfloat H)
Definition: gl4dm.c:75
GL4DAPI int GL4DAPIENTRY gl4duHasInit(void)
indique si la bibliothèque a été initialisée
Definition: gl4du.c:201
INLINE void gl4dmPrintVector(GL4DMVector vec)
Definition: gl4dm.inl:426
void list_erase(list_t *list, size_t index)
Supprime un élément d’une liste.
Definition: list.c:117
void gl4duPopMatrix(void)
dépile la matrice courante en restaurant l'état précédemment sauvegardé à l'aide de gl4duPushMatrix.
Definition: gl4du.c:1121
static geom_t * _garray
Definition: gl4dg.c:147
void gl4dfMCMDSetNoiseT(const GLfloat *mcmd_noise_T)
A documenter.
Definition: gl4dfFractalPainting.c:250
GL4DAPI void GL4DAPIENTRY gl4dMCMDSetUseNoiseTranslateMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de noise tran...
Definition: gl4dfFractalPainting.c:296
static GLushort getParentDataY(GLubyte *parentData, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:798
GL4DAPI void GL4DAPIENTRY gl4dhDraw(void)
joue parmi les animations passées en argument l'animation en cours (devant être jouée au temps t).
Definition: gl4dhAnimeManager.c:113
float y
Definition: gl4dm.h:362
static void setParentDataX(GLubyte *parentData, GLushort value, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:803
@ GL4DF_SOBEL_RESULT_INV_LUMINANCE
Definition: gl4df.h:31
void aes_encrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block encryption (ECB mode)
Definition: aes.c:630
GL4DAPI void GL4DAPIENTRY list_delete(list_t list)
Détruit une liste.
Definition: list.c:43
GL4DAPI Uint32 GL4DAPIENTRY gl4dhGetTicks(void)
renvoie le nombre de milisecondes passée depuis le top-départ donné par gl4dhStartingSignal.
Definition: gl4dhAnimeManager.c:106
MKFWINIT3(canny, void, GLuint, GLuint, GLboolean)
void vaetvient(unsigned char *data, int len, int vaouvient)
Definition: aes.c:862
#define MORTHO(mat, l, r, b, t, n, f)
Création d'une matrice de projection orthogonale selon l'ancienne fonction glOrtho.
Definition: gl4dm.h:303
static bin_tree_t * _gl4duMatrices
arbre binaire contenant l'ensemble des matrices _GL4DUMatrix gérées.
Definition: gl4du.c:82
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenTorusf(GLuint slices, GLuint stacks, GLfloat radius)
Génère un objet-géométrie de type tore et renvoie son identifiant (référence).
Definition: gl4dg.c:356
GL4DAPI void GL4DAPIENTRY gl4dMCMDSetUseExtrapolationMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales d'extrapolati...
Definition: gl4dfFractalPainting.c:284
double gl4dGetElapsedTime(void)
Donne le temps ecoule en millisecondes depuis t0.
Definition: gl4dummies.c:220
static GLfloat * mkFanConeVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:890
SDL_Window * window
Definition: gl4duw_SDL2.c:21
void gl4daResize(gl4daArcball *a, int w, int h)
fonction à appeler au resize de la fenêtre
Definition: gl4da.c:31
void gl4dMCMDSetUseNoiseTranslateMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de noise tran...
Definition: gl4dfFractalPainting.c:296
static void fake_keydown(int keycode)
fonction fictive liée au callback de touche clavier enfoncée.
Definition: gl4duw_SDL2.c:64
static GL4Dvaoindex * mkRegularGridStripsAdjacencyIndices(GLuint width, GLuint height)
Definition: gl4dg.c:793
GL4DAPI void GL4DAPIENTRY gl4dfScattering(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Filtre 2D de mélange de pixels (éparpillement)
Definition: gl4dfScattering.c:24
void gl4duwEnableManageEvents(void)
Definition: gl4duw_SDL2.c:213
static GLuint _geometry_optimization_level
Definition: gl4dg.c:151
void gl4dfMCMDSetMDBUVersion(GLuint version)
A documenter.
Definition: gl4dfFractalPainting.c:262
static void diamondSquare(GLubyte *parentData, GLubyte *levelData, ll_t **llmap, GLushort mapWidth, GLushort mapHeight, int x0, int y0, int w, int h, int current_level, int computing_level)
Definition: gl4dfFractalPainting.c:874
#define GL4DAPIENTRY
Definition: gl4dummies.h:87
void(* idle)(void)
Definition: gl4duw_SDL2.c:29
char * name
Definition: gl4duw_SDL2.c:20
static char _pathOfMe[BUFSIZ]
stocke le chemin relatif à partir duquel le binaire a été exécuté. Est initialisée dans gl4dInit.
Definition: gl4du.c:113
GL4DAPI SDL_Window *GL4DAPIENTRY gl4duwGetSDL_Window(void)
retourne le pointeur vers la structure SDL_Window de la fenêtre courante (suite à un gl4duwCreateWind...
Definition: gl4duw_SDL2.c:150
void gl4duScalef(GLfloat sx, GLfloat sy, GLfloat sz)
Multiplication de la matrice en cours par une matrice d'homothétie (sx, sy, sz).
Definition: gl4du.c:1509
structure de données pour une pile de "une matrice 4x4".
Definition: gl4du.c:61
void gl4dhInit(GL4DHanime *animations, int w, int h, void(*callBeforeAllAnimationsInit)(void))
Demande l'état initialisation à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:42
static int _maxLevel
Definition: gl4dfFractalPainting.c:33
GL4DAPI void *GL4DAPIENTRY fheapGet(size_t heap_id, size_t element_id)
récupère un élément du tas et retourne le pointeur vers la donnée. Attention, cette fonction n'efface...
Definition: fixed_heap.c:72
static uint32 RT2[256]
Definition: aes.c:98
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetMDBUVersion(GLuint version)
A documenter.
Definition: gl4dfFractalPainting.c:262
GL4DAPI void GL4DAPIENTRY llDelete(linked_list_t *ll, llnode_t **node, void(__cdecl *freeData)(void *))
GL4DAPI void GL4DAPIENTRY gl4dpClearScreenWith(Uint32 color)
Efface l'écran en y mettant la valeur color.
Definition: gl4dp.c:201
GL4DAPI double GL4DAPIENTRY gl4dmGRand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle ]-7, +7[. Ici la distribution est Gaussienne.
Definition: gl4dm.c:43
void * vector_get(vector_t vector, size_t index)
Renvoie l'élément d'un vecteur se situant à un index spécifié
Definition: vector.c:127
static GLuint genId(void)
Definition: gl4dg.c:576
static const char * gl4dfMCMD_mdFS
Definition: gl4dfFractalPainting.c:349
static uint32 RT0[256]
Definition: aes.c:96
size_t * stack
Definition: fixed_heap.c:17
static double getElapsedTime_sub2(void)
Definition: gl4dummies.c:199
void aes_encrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block encryption (ECB mode)
Definition: aes.c:630
GL4DAPI void GL4DAPIENTRY llFree(linked_list_t *ll, void(*freeData)(void *))
Definition: linked_list.c:96
GL4DAPI void GL4DAPIENTRY gl4dfScatteringChange(void)
Force le changement de la carte de mélange (éparpillement) utilisée.
Definition: gl4dfScattering.c:28
GLboolean gl4duDeleteMatrix(const char *name)
supprime la matrice liée au nom name passé en argument.
Definition: gl4du.c:1089
int nshaders
Definition: gl4du.c:55
GL4DAPI GLboolean GL4DAPIENTRY gl4duIsMatrix(const char *name)
indique s'il existe une matrice est liée au nom name passé en argument.
Definition: gl4du.c:1044
GLuint id
Definition: gl4du.c:54
GL4DAPI void GL4DAPIENTRY gl4dpScreenHasChanged(void)
indique que le screen a été modifié côté mémoire centrale (CPU), qu'il sera donc nécessaire de mettre...
Definition: gl4dp.c:238
size_t head
Definition: fixed_heap.c:17
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...
Definition: gl4du.c:1441
static void quit(void)
Definition: gl4dfBlur.c:208
fonctions de manipulation du repère caméra
GL4DAPI void GL4DAPIENTRY gl4duwResizeFunc(void(*func)(int width, int height))
affecte la fonction appelée lors du resize.
Definition: gl4duw_SDL2.c:177
static GLfloat * mkGrid2dVerticesf(GLuint width, GLuint height, GLfloat *heightmap)
Definition: gl4dg.c:967
static int _h
Definition: gl4dhAnimeManager.c:32
@ GL4DF_SOBEL_MIX_NONE
Definition: gl4df.h:32
int compResult
Definition: bin_tree.h:24
INLINE GL4DMMatrix gl4dmMatrixScale(float x, float y, float z)
Definition: gl4dm.inl:188
void aes_set_key(aes_context *ctx, unsigned char *key, int keysize)
AES key schedule.
static void freeGL4DUMatrix(void *matrix)
libère la pile de "une matrice 4x4".
Definition: gl4du.c:968
void gl4duSendMatrix(void)
envoie la matrice courante au program shader en cours et en utilisant le nom de la matrice pour obten...
Definition: gl4du.c:1151
program_t * next
Definition: gl4du.c:57
GLuint slices
Definition: gl4dg.c:98
struct _list_t * begin
Definition: list.h:43
void fheapClean(void)
libère tous les tas créés par cette bibliothèque.
Definition: fixed_heap.c:101
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...
Definition: gl4du.c:303
GL4DAPI void GL4DAPIENTRY gl4duSendMatrices(void)
envoie toutes matrices au program shader en cours et en utilisant leurs noms pour obtenir le uniform ...
Definition: gl4du.c:1161
static void fake_mousemotion(int x, int y)
fonction fictive liée au callback du mouvement de la souris avec bouton enfoncé.
Definition: gl4duw_SDL2.c:79
void aes_cbc_encrypt(aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len)
AES-CBC buffer encryption.
Definition: aes.c:812
GL4DAPI void GL4DAPIENTRY fheapDelete(size_t heap_id, size_t element_id)
libère une donnée du tas (étiquette une donnée du tas comme espace libre).
Definition: fixed_heap.c:82
static GLuint _quadId
identifiant de la géométrie QUAD GL4Dummies
Definition: gl4dp.c:39
SDL_Window * gl4duwGetSDL_Window(void)
retourne le pointeur vers la structure SDL_Window de la fenêtre courante (suite à un gl4duwCreateWind...
Definition: gl4duw_SDL2.c:150
GLuint slices
Definition: gl4dg.c:110
size_t nmemb
Definition: gl4du.c:65
#define UNDEFINED_CHILD
Definition: gl4dfFractalPainting.c:731
void gl4dfMCMD(GLuint in, GLuint out, GLboolean flipV)
A documenter.
Definition: gl4dfFractalPainting.c:45
static GLuint _weightMapComponent
Definition: gl4dfBlur.c:19
int gl4duUpdateShaders(void)
parcours la liste des shaders shaders_list et vérifie s'il y a besoin de mettre à jour le shader (rec...
Definition: gl4du.c:659
GLuint 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...
Definition: gl4du.c:303
GL4DAPI bin_tree_t **GL4DAPIENTRY btLast(bin_tree_t **ptr)
Definition: bin_tree.c:54
static program_t * programs_list
liste de programs. Chaque program est composé d'un id (GL), il est lié à une liste de shaders.
Definition: gl4du.c:78
Definition: linked_list.h:29
#define DISK_FAN(d, i, ym, ye, slices, normals)
Macro servant à remplir des FANs, soit en disk soit en cone. d est data, i est indice à partir duquel...
Definition: gl4dg.c:836
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 multi...
Definition: gl4du.c:1249
GLuint gl4duFindShader(const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:330
GLuint slices
Definition: gl4dg.c:116
static int _glMinorVersion
Definition: gl4duw_SDL2.c:43
GLuint slices
Definition: gl4dg.c:122
static void init(void)
Definition: gl4dfCanny.c:256
GLuint id
Definition: gl4dg.c:91
static void quit(void)
Definition: gl4dfScattering.c:197
static GLenum _filter
Definition: gl4dfConversion.c:18
int(* catchSDL_Event)(SDL_Event *event)
Definition: gl4duw_SDL2.c:31
size_t fheapCreate(size_t nmem, size_t size)
créé un tas de nmem éléments de taille size et retourne son id (<>0).
Definition: fixed_heap.c:34
void gl4duwGetWindowSize(int *w, int *h)
récupère la largeur et la hauteur de la fenêtre courante.
Definition: gl4duw_SDL2.c:312
static GLuint _height
Definition: gl4dfScattering.c:16
Bibliothèque de gestion des écrans d'animation et de mises à jour en fonction du son.
Fonctionnalités spécifiques au système Android.
GLenum type
Definition: gl4du.c:63
struct _list_t * next
Definition: list.h:33
void gl4dfMCMDSetIr(const GLfloat *mcmd_Ir)
A documenter.
Definition: gl4dfFractalPainting.c:234
static const char * gl4dfMCMD_select4mcmdFS
Definition: gl4dfFractalPainting.c:302
GL4DAPI void GL4DAPIENTRY gl4dfCannySetResultMode(GL4DFenum mode)
Fonction liée au filtre Canny. Méthode de calcul du résultat final du Canny.
Definition: gl4dfCanny.c:36
static int _glMajorVersion
les paramètres par défaut du contexte OpenGL
Definition: gl4duw_SDL2.c:43
@ GL4DU_AT_EXIT
Definition: gl4du.h:40
@ GL4DF_CANNY_MIX_MULT
Definition: gl4df.h:46
void gl4duMultMatrixByName(const char *name)
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies....
Definition: gl4du.c:1360
INLINE void gl4dmPrintMatrix(GL4DMMatrix mat)
Definition: gl4dm.inl:430
GLboolean verify_timestamp
Definition: gl4du.c:46
void gl4duPrintFPS(FILE *fp)
imprime dans le fichier pointé par fp le Frame-Per-Second.
Definition: gl4du.c:252
GL4DAPI void GL4DAPIENTRY vector_delete(vector_t vector)
Détruit un objet de type vector_t.
Definition: vector.c:36
#define PUT_UINT32_BE(n, b, i)
Definition: aes.c:65
GL4DAPI void GL4DAPIENTRY gl4duwMainLoop(void)
boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:166
GLsizei index_row_count
Definition: gl4dg.c:138
GL4DAPI void GL4DAPIENTRY gl4dfSobel(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Sobel (détection des contours)
Definition: gl4dfSobel.c:27
MKFWINIT4(op, void, GLuint, GLuint, GLuint, GLboolean)
void gl4dgInit(void)
Initialise les structures nécessaire au stockage des géométries proposées par GL4Dummies....
Definition: gl4dg.c:174
struct screen_node_t * next
Definition: gl4dp.c:27
Definition: gl4dfFractalPainting.c:746
void gl4dfSobelSetMixFactor(GLfloat factor)
Fonction liée au filtre Sobel. Modification du facteur de mix utilisé par le mode GL4DF_SOBEL_MIX_ADD...
Definition: gl4dfSobel.c:76
#define DRAW_WITH_GEOMETRY_OPTIMIZATION(geom)
dessine un element-array selon la topologie de l'objet.
Definition: gl4dg.c:57
#define MAX(a, b)
Definition: gl4dm.h:58
void aes_cbc_encrypt(aes_context *ctx, unsigned char iv[16], unsigned char *input, unsigned char *output, int len)
AES-CBC buffer encryption.
Definition: aes.c:812
static void fake_display(void)
fonction fictive liée au callback de display.
Definition: gl4duw_SDL2.c:91
void gl4dInitTime0(void)
Initialise t0.
Definition: gl4dummies.c:210
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenGrid2dFromHeightMapf(GLuint width, GLuint height, GLfloat *heightmap)
Génère un objet-géométrie de type grille-heightmap et renvoie son identifiant (référence).
Definition: gl4dg.c:393
static void quit(void)
Definition: gl4dfSobel.c:222
#define SELECT_GEOMETRY_OPTIMIZATION(index, geom, w, h)
permet de sélectionner une topologie à utiliser selon le niveau d'optimisation géométrique choisie.
Definition: gl4dg.c:21
INLINE GL4DMMatrix gl4dmMatrixOrtho(float left, float right, float bottom, float top, float nearVal, float farVal)
Definition: gl4dm.inl:246
GL4DAPI void GL4DAPIENTRY gl4dQuit(void)
se charge de desalouer la memoire eventuellement utilisee par gl4dummies
Definition: gl4dummies.c:58
size_t size
Definition: fixed_heap.c:15
GL4DHstate
Definition: gl4dhAnimeManager.h:20
struct llnode_t * next
Definition: linked_list.h:31
static GLuint _fbo
identifiant du framebuffer utilisé pour dessiner les animations
Definition: gl4dhAnimeManager.c:25
GL4DAPI void GL4DAPIENTRY gl4dpHLine(int x0, int x1, int y)
dessine un segment horizontal (x0, y) -> (x1, y).
Definition: gl4dp.c:354
char * pathOf(const char *path)
Renvoie le chemin vers le dossier contenant le fichier passé en argument.
Definition: gl4dummies.c:319
static void triangleNormalf(GLfloat *out, GLfloat *p0, GLfloat *p1, GLfloat *p2)
Definition: gl4dg.c:1191
GL4DAPI void GL4DAPIENTRY gl4duwDisplayFunc(void(*func)(void))
affecte la fonction appelée lors de l'affichage.
Definition: gl4duw_SDL2.c:205
GL4DAPI void GL4DAPIENTRY gl4duSendMatrix(void)
envoie la matrice courante au program shader en cours et en utilisant le nom de la matrice pour obten...
Definition: gl4du.c:1151
GL4DAPI llnode_t **GL4DAPIENTRY llNext(llnode_t **node)
Definition: linked_list.c:84
static bin_tree_t ** _lastWindown
adresse du pointeur vers le noeud référençant la dernière fenêtre créée.
Definition: gl4duw_SDL2.c:37
static double getElapsedTime_sub1(void)
Definition: gl4dummies.c:193
void gl4dqCreatePurFromPoint(float *in, gl4dqQuaternion r)
fonction qui créé un gl4dqQuaternion pur à partir d'un vecteur
Definition: gl4dq.c:50
static int _maxi(int a, int b)
Definition: gl4dg.c:1203
GL4DAPI void GL4DAPIENTRY gl4dfMCMDTakeColor(GLboolean mcmd_take_color)
A documenter.
Definition: gl4dfFractalPainting.c:222
GL4DAPI char *GL4DAPIENTRY filenameOf(const char *path)
Renvoie le nom de fichier sans le chemin.
Definition: gl4dummies.c:346
void gl4dfBlurSetWeightMapComponent(GLuint weightMapComponent)
Indique la composante R (=0), G (=1), B (=2) ou A (=3) à utiliser dans la weight map.
Definition: gl4dfBlur.c:28
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityf(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1262
void gl4dpDeleteScreen(void)
supprime l'écran et se repositionne sur le premier
Definition: gl4dp.c:157
static GLfloat _weightMapScale
Definition: gl4dfBlur.c:20
GLboolean base
Definition: gl4dg.c:117
#define INLINE
Definition: gl4dummies.h:50
#define GET_UINT32_BE(n, b, i)
Definition: aes.c:56
GLuint tId
Definition: gl4dp.c:26
unsigned long drk[64]
Definition: aes.h:44
float z
Definition: gl4dm.h:362
bin_tree_t ** btNext(bin_tree_t **ptr)
Definition: bin_tree.c:100
static int windowCmpFunc(const void *w1, const void *w2)
fonction de comparaison de deux fenêtres window_t en fonction du nom pour insertion dans l'arbre bina...
Definition: gl4duw_SDL2.c:279
@ GL4DU_MATRIX_TYPE
Definition: gl4du.h:25
static GLfloat _offsetH[BLUR_MAX_RADIUS<< 1]
Definition: gl4dfBlur.c:20
static shader_t ** addInShadersListFED(const char *decData, GLenum shadertype, const char *filename)
ajoute un nouveau shader dans la liste de shaders shaders_list. Version FED
Definition: gl4du.c:805
void gl4duPerspectivef(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
Création d'une matrice de projection perspective selon l'ancienne fonction gluPerspective et la multi...
Definition: gl4du.c:1234
void gl4dqCreatePurFromPoint(float *v, gl4dqQuaternion qr)
fonction qui créé un gl4dqQuaternion pur à partir d'un vecteur
Definition: gl4dq.c:50
#define ROTR8(x)
Definition: aes.c:109
static void fake_idle(void)
fonction fictive liée au callback de l'état idle de la fenêtre.
Definition: gl4duw_SDL2.c:89
char * aes_from_tar(const char *file)
Definition: aes.c:899
static int _pathOfMeInit
Definition: gl4du.c:114
static int matrixCmpFunc(const void *m1, const void *m2)
fonction de comparaison de deux matrices en fonction du nom pour insertion dans l'arbre binaire.
Definition: gl4du.c:987
void gl4dpPutPixel(int x, int y)
met la couleur en cours à la coordonnée (x, y)
Definition: gl4dp.c:218
static void blurffunc(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Definition: gl4dfBlur.c:52
static void fake_keyup(int keycode)
fonction fictive liée au callback de touche clavier relachée.
Definition: gl4duw_SDL2.c:68
Uint32 gl4dpGetPixel(int x, int y)
renvoie la couleur à la coordonnée (x, y)
Definition: gl4dp.c:211
GL4DAPI bin_tree_t **GL4DAPIENTRY btFirst(bin_tree_t **ptr)
Definition: bin_tree.c:45
GL4DAPI void GL4DAPIENTRY btForAll(bin_tree_t *ptr, void(*todo)(void *, void **), void **ldata)
Definition: bin_tree.c:113
MKFWINIT6(scattering, void, GLuint, GLuint, GLuint, GLuint, GLuint, GLboolean)
static program_t ** findInProgramsList(GLuint id)
recherche un program à partir de son identifiant openGL dans la liste programs_list.
Definition: gl4du.c:858
size_t size
Definition: list.h:44
@ GL4DU_FRAGMENT_SHADER
Definition: gl4du.h:22
static int initGL4DUW(int argc, char **argv)
initialise SDL et GL4Dummies.
Definition: gl4duw_SDL2.c:227
static GLuint _mcmd_H_map_tex_id
Definition: gl4dfFractalPainting.c:31
GL4DAPI GLuint GL4DAPIENTRY gl4dpInitScreen(void)
initialise (ou réinitialise) l'écran aux dimensions du viewport OpenGL, le lie à l'identifiant (OpenG...
Definition: gl4dp.c:111
void gl4dhUpdateWithAudio(void)
met à jour parmi les animations passées en argument l'animation en cours.
Definition: gl4dhAnimeManager.c:132
static int queueEmpty(void)
Definition: gl4dfCanny.c:412
@ GE_DISK
Definition: gl4dg.c:84
GLuint buffer
Definition: gl4dg.c:109
GLuint stacks
Definition: gl4dg.c:127
static Uint32 _startingTime
Definition: gl4dhAnimeManager.c:17
@ GE_TORUS
Definition: gl4dg.c:85
void gl4dfMCMDSetNoiseH(const GLfloat *mcmd_noise_H)
A documenter.
Definition: gl4dfFractalPainting.c:242
void list_insert(list_t *list, void *el, size_t index)
Insère un élément dans une liste.
Definition: list.c:65
GLuint gl4dgGenQuadf(void)
Génère un objet-géométrie de type Quad (plan vertical en z=0) et renvoie son identifiant (référence).
Definition: gl4dg.c:244
#define MUL(x, y)
Definition: aes.c:112
void(* display)(void)
Definition: gl4duw_SDL2.c:30
static GLboolean _skeletonize
Definition: gl4dfFractalPainting.c:35
void gl4duDeleteShader(GLuint id)
supprime le shader dont l'identifiant openGL est id de la liste de shaders shaders_list.
Definition: gl4du.c:338
@ GL4DF_SOBEL_RESULT_LUMINANCE
Definition: gl4df.h:30
shader_t * next
Definition: gl4du.c:50
GL4DAPI void GL4DAPIENTRY gl4dpClearScreen(void)
Efface l'écran en mettant 0.
Definition: gl4dp.c:193
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixd(const GLdouble *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1342
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...
Definition: gl4du.c:616
void 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 da...
Definition: gl4du.c:1205
static int _queue
Definition: gl4dfCanny.c:387
@ GL4DU_PROGRAM
Definition: gl4du.h:36
GL4DAPI double GL4DAPIENTRY gl4dGetTime(void)
Donne le temps ecoule en millisecondes depuis ti.
Definition: gl4dummies.c:243
GLsizei index_nb_rows
Definition: gl4dg.c:101
char * aes_from_tar(const char *file)
Definition: aes.c:899
GLboolean 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.
Definition: gl4du.c:1024
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateProgram(const char *firstone,...)
créé un program à partir d'une liste (variable) de nom de fichiers shaders et renvoie l'identifiant o...
Definition: gl4du.c:368
void llPushBack(linked_list_t *ll, void *data)
Definition: linked_list.c:20
int gl4duHasInit(void)
indique si la bibliothèque a été initialisée
Definition: gl4du.c:201
#define __cdecl
Definition: gl4dummies.h:17
@ GE_TEAPOT
Definition: gl4dg.c:87
Fonctions de gestion de vecteur.
GL4DAPI Uint32 GL4DAPIENTRY gl4dpGetPixel(int x, int y)
renvoie la couleur à la coordonnée (x, y)
Definition: gl4dp.c:211
void vector_erase(vector_t *vector, size_t index)
Supprime un élément à l'index spécifié d'un vecteur.
Definition: vector.c:87
@ GE_CYLINDER
Definition: gl4dg.c:83
#define A_MASK
masque pour la composante alpha
Definition: gl4dp.h:32
static void llAdd(ll_t **here, GLushort x, GLushort y)
Definition: gl4dfFractalPainting.c:756
void llFree(linked_list_t *ll, void(*freeData)(void *))
Definition: linked_list.c:96
void * data
Definition: gl4du.c:67
static GLfloat * mkCylinderVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:901
llnode_t ** llFirst(linked_list_t *ll)
Definition: linked_list.c:88
Partie ne concernant que windows de gl4dummies, ici se trouvent des wrappers vers les fonctions n'exi...
static GLuint _mdTexId[4]
Definition: gl4dfFractalPainting.c:29
static void queueInit(int n)
Definition: gl4dfCanny.c:388
GLuint gl4duCreateProgram(const char *firstone,...)
créé un program à partir d'une liste (variable) de nom de fichiers shaders et renvoie l'identifiant o...
Definition: gl4du.c:368
void gl4daMapToSphere(gl4daArcball *a, int x, int y, float *pointSphere)
fonction de calcul des coordonnées d'un oint écran sur la sphère
Definition: gl4da.c:12
GLuint gl4dpGetHeight(void)
retourne la hauteur de l'écran.
Definition: gl4dp.c:183
GLuint isGPUToDate
Definition: gl4dp.c:26
Fonctions de gestion de listes chainees.
void(* first)(int state)
Definition: gl4dhAnimeManager.h:29
@ GL4DF_SOBEL_RESULT_RGB
Definition: gl4df.h:28
static int _hasInit
flag permettant de savoir si la lib a déjà été initialisée
Definition: gl4duw_SDL2.c:45
#define B_MASK
masque pour la composante bleue
Definition: gl4dp.h:30
static struct timeval t0
Le temps initial du programme. A initialiser avec gl4dInitTime0.
Definition: gl4dummies.c:186
@ GL4DF_OP_SUB
Definition: gl4df.h:36
void gl4duwKeyUpFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key up.
Definition: gl4duw_SDL2.c:185
static void init(void)
Definition: gl4dfSobel.c:158
void gl4dhStartingSignal(void)
donne le top-départ de la démo. Cette fonction doit être appelée juste avant le début de la boucle in...
Definition: gl4dhAnimeManager.c:99
void llPush(linked_list_t *ll, void *data)
Definition: linked_list.c:28
void gl4dpSetColor(Uint32 color)
met dans _cur_color la couleur passee en argument.
Definition: gl4dp.c:50
GL4DAPI char *GL4DAPIENTRY gl4dReadTextFile(const char *filename)
recopie un fichier texte en mémoire et renvoie un pointeur vers la donnée recopiée.
Definition: gl4dummies.c:68
static int _hasInit
Definition: gl4du.c:115
void gl4dpCircle(int x0, int y0, int r)
dessine un cercle centré en (x0, y0) de rayon r en utilisant l'algorithme de Bresenham'77.
Definition: gl4dp.c:326
static GL4Dvaoindex * mkRegularGridStripIndices(GLuint width, GLuint height)
Definition: gl4dg.c:729
GLuint gl4dgGenGrid2dFromHeightMapf(GLuint width, GLuint height, GLfloat *heightmap)
Génère un objet-géométrie de type grille-heightmap et renvoie son identifiant (référence).
Definition: gl4dg.c:393
GL4DAPI GLuint GL4DAPIENTRY gl4dgGetVAO(GLuint id)
Renvoie l'identifiant du Vertex Array Object correspondant à l'objet-géométrie référencé par id.
Definition: gl4dg.c:208
static void addScreen(GLuint w, GLuint h)
ajoute un écran à la tête de liste d'écrans gérés.
Definition: gl4dp.c:122
GLsizei index_nb_rows
Definition: gl4dg.c:131
void gl4duwSetGLAttributes(int glMajorVersion, int glMinorVersion, int glProfileMask, int glDoubleBuffer, int glDepthSize)
modifie les paramètre par défaut du contexte OpenGL.
Definition: gl4duw_SDL2.c:98
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenConef(GLuint slices, GLboolean base)
Génère un objet-géométrie de type cone et renvoie son identifiant (référence).
Definition: gl4dg.c:252
static const char * gl4dfTexFS
Definition: gl4dfCommon.h:42
@ GE_NONE
Definition: gl4dg.c:77
GL4DAPI void GL4DAPIENTRY gl4dfMCMDDimensions(GLuint, GLuint)
A documenter.
Definition: gl4dfFractalPainting.c:49
void * data
Definition: linked_list.h:30
GL4DAPI void GL4DAPIENTRY gl4dpUpdateScreen(GLint *rect)
met à jour l'écran en envoyant la sous texture de dimensions rect à GL. Si rect vaut NULL,...
Definition: gl4dp.c:247
INLINE float gl4dmVector3Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:97
void list_set(list_t list, void *el, size_t index)
Modifie un élément dans une liste.
Definition: list.c:151
void fheapDestroy(size_t heap_id)
libère l'ensemble du tas et sa mémoire.
Definition: fixed_heap.c:90
static GLfloat _weightMapTranslate
Definition: gl4dfBlur.c:20
static void opffunc(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Definition: gl4dfOp.c:42
GL4DAPI void GL4DAPIENTRY gl4dgClean(void)
Libère les structures nécessaire au stockage des géométries proposées par GL4Dummies en supprimant au...
Definition: gl4dg.c:187
GL4DAPI int GL4DAPIENTRY llEmpty(linked_list_t *ll)
Definition: linked_list.c:44
double gl4dmGURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, +1[. Ici la distribution est Gaussienne ce...
Definition: gl4dm.c:71
void gl4dfCannySetMixFactor(GLfloat factor)
Fonction liée au filtre Canny. Modification du facteur de mix utilisé par le mode GL4DF_CANNY_MIX_ADD...
Definition: gl4dfCanny.c:77
GL4DAPI void GL4DAPIENTRY gl4duwGetWindowSize(int *w, int *h)
récupère la largeur et la hauteur de la fenêtre courante.
Definition: gl4duw_SDL2.c:312
static GL4Dvaoindex * mkRegularGridStripsIndices(GLuint width, GLuint height)
Definition: gl4dg.c:712
static GLboolean _isInvert
Definition: gl4dfSobel.c:20
void btDelete(bin_tree_t **ptr, void(*freeData)(void *))
Definition: bin_tree.c:63
@ GL4DU_MATRICES
Definition: gl4du.h:37
void btForAll(bin_tree_t *ptr, void(*todo)(void *, void **), void **ldata)
Definition: bin_tree.c:113
GLboolean gl4duIsMatrix(const char *name)
indique s'il existe une matrice est liée au nom name passé en argument.
Definition: gl4du.c:1044
float w
Definition: gl4dm.h:362
GL4DAPI pair_t GL4DAPIENTRY btInsert(bin_tree_t **tree, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:13
void * llPop(linked_list_t *ll)
Definition: linked_list.c:38
GL4DMVector r[4]
Definition: gl4dm.h:367
GLuint w
Definition: gl4dp.c:26
pair_t llFind(linked_list_t *ll, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:63
static void deleteFromShadersList(shader_t **shp)
supprime le shader pointé par shp de la liste de shaders shaders_list.
Definition: gl4du.c:842
static bin_tree_t ** _gl4dLastMatrixn
le noeud vers la dernière matrice _GL4DUMatrix créée.
Definition: gl4du.c:86
poids des matrices de convolution d'un Gaussian Blur : poids pour les matrices de rayon 0 à 128.
static uint32 RT1[256]
Definition: aes.c:97
void gl4duLoadIdentityd(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1277
static program_t ** addInProgramsList(GLuint id)
ajoute un nouveau program dans la liste de program programs_list.
Definition: gl4du.c:873
MKFWINIT6(blur, void, GLuint, GLuint, GLuint, GLuint, GLuint, GLboolean)
GLenum index_mode
Definition: gl4dg.c:137
GL4DAPI size_t GL4DAPIENTRY fheapPut(size_t heap_id, void *element)
insert, en copiant le contenu, un élément dans le tas et retourne son id (<>0).
Definition: fixed_heap.c:57
void * list_get(list_t list, size_t index)
function description
Definition: list.c:175
GL4DAPI void GL4DAPIENTRY gl4duwCatchSDL_EventFunc(int(*func)(SDL_Event *))
affecte la fonction appelée lors de la gestion manuelle par le programmeur des événements SDL.
Definition: gl4duw_SDL2.c:209
float gl4dqQuaternion[4]
Definition: gl4dq.h:24
void gl4dfBlur(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Filtre 2D de flou Gaussien.
Definition: gl4dfBlur.c:40
linked_list_t * llNew(void)
Definition: linked_list.c:12
void gl4duwResizeFunc(void(*func)(int width, int height))
affecte la fonction appelée lors du resize.
Definition: gl4duw_SDL2.c:177
static int _head
Definition: gl4dfCanny.c:387
void(* last)(int state)
Definition: gl4dhAnimeManager.h:30
static int _mini(int a, int b)
Definition: gl4dg.c:1207
Uint32 * pixels
Definition: gl4dp.c:25
INLINE GL4DMMatrix gl4dmMatrixTranslate(float x, float y, float z)
Definition: gl4dm.inl:154
char * gl4dReadTextFile(const char *filename)
recopie un fichier texte en mémoire et renvoie un pointeur vers la donnée recopiée.
Definition: gl4dummies.c:68
#define putChildPos(cmap, i, v)
Definition: gl4dfFractalPainting.c:734
static int kmpSearch(const char *p, const char *t)
recherche un motif dans un text
Definition: gl4dummies.c:129
INLINE GL4DMMatrix gl4dmMatrixPerspective(float fovy, float aspect, float znear, float zfar)
Definition: gl4dm.inl:231
#define MVEC3CROSS(r, u, v)
Produit vectoriel 3D entre u et v écrit dans r.
Definition: gl4dm.h:226
GL4DAPI void GL4DAPIENTRY gl4duwSetGLAttributes(int glMajorVersion, int glMinorVersion, int glProfileMask, int glDoubleBuffer, int glDepthSize)
modifie les paramètre par défaut du contexte OpenGL.
Definition: gl4duw_SDL2.c:98
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 p...
Definition: gl4du.c:1696
GL4DAPI void GL4DAPIENTRY vector_insert(vector_t *vector, void *el, size_t index)
Insère dans un vecteur un élément à l'index spécifié
Definition: vector.c:54
static void sobelfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfSobel.c:81
static void quit(void)
Definition: gl4dfFractalPainting.c:717
#define SQUARE(X)
Definition: gl4dm.h:60
GLuint fcommGetPlane(void)
Definition: gl4dfCommon.c:65
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...
Definition: gl4du.c:509
GLuint 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...
Definition: gl4du.c:509
GL4DAPI void GL4DAPIENTRY gl4duClean(GL4DUenum what)
supprime tous les programs et/ou tous les shaders.
Definition: gl4du.c:581
GL4DAPI void GL4DAPIENTRY gl4dfCanny(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Canny (détection des contours)
Definition: gl4dfCanny.c:32
GL4DUenum
Definition: gl4du.h:20
GL4DAPI void GL4DAPIENTRY gl4dpCopyFromSDLSurface(SDL_Surface *s)
copie la surface SDL vers l'écran en cours en prenant 100% de l'écran.
Definition: gl4dp.c:462
static linked_list_t * _glist
Definition: gl4dg.c:149
size_t fheapPut(size_t heap_id, void *element)
insert, en copiant le contenu, un élément dans le tas et retourne son id (<>0).
Definition: fixed_heap.c:57
GL4DAPI void GL4DAPIENTRY gl4dfSobelSetMixFactor(GLfloat factor)
Fonction liée au filtre Sobel. Modification du facteur de mix utilisé par le mode GL4DF_SOBEL_MIX_ADD...
Definition: gl4dfSobel.c:76
static GLfloat _mcmd_noise_T[4]
Definition: gl4dfFractalPainting.c:39
GLushort y
Definition: gl4dfFractalPainting.c:747
static void _push(size_t *stack, size_t *head, size_t value)
Definition: fixed_heap.c:146
GLdouble radius
Definition: gl4dg.c:128
GL4DAPI void GL4DAPIENTRY gl4dpPutPixel(int x, int y)
met la couleur en cours à la coordonnée (x, y)
Definition: gl4dp.c:218
void gl4duClean(GL4DUenum what)
supprime tous les programs et/ou tous les shaders.
Definition: gl4du.c:581
static const char * gl4dfMCMD_mdbuV0FS
Definition: gl4dfFractalPainting.c:467
static GLuint _mcmd_Ir_map_tex_id
Definition: gl4dfFractalPainting.c:31
#define MVEC3NORMALIZE(v)
Normalise le vecteur 3D v.
Definition: gl4dm.h:260
GLuint GL4Dvaoindex
Definition: gl4dummies.h:134
INLINE GL4DMMatrix gl4dmMatrixIdentity(void)
Definition: gl4dm.inl:141
GL4DAPI void GL4DAPIENTRY gl4duPopMatrix(void)
dépile la matrice courante en restaurant l'état précédemment sauvegardé à l'aide de gl4duPushMatrix.
Definition: gl4du.c:1121
static GLuint _wTexId
identifiant de la texture liée en écriture au framebuffer _fbo (la texture dans laquelle les animatio...
Definition: gl4dhAnimeManager.c:29
void gl4daResize(gl4daArcball *a, int w, int h)
fonction à appeler au resize de la fenêtre
Definition: gl4da.c:31
void gl4dpMap(GLuint dstSId, GLuint srcSId, const GLfloat pRect[4], const GLfloat tRect[4], GLfloat rotation)
plaque un écran sur un autre écran.
Definition: gl4dp.c:475
static int nbLevels(int w, int h)
Definition: gl4dfFractalPainting.c:751
float center[2]
Definition: gl4da.h:28
@ GE_CUBE
Definition: gl4dg.c:80
void gl4dqQuaternionToMatrix(const gl4dqQuaternion q, float *mat)
fonction qui génère la matrice de rotation sur un vecteur à partir d'un gl4dqQuaternion
Definition: gl4dq.c:71
static int _glProfileMask
Definition: gl4duw_SDL2.c:43
void gl4dfCannySetResultMode(GL4DFenum mode)
Fonction liée au filtre Canny. Méthode de calcul du résultat final du Canny.
Definition: gl4dfCanny.c:36
static void setDimensions(GLuint w, GLuint h)
Definition: gl4dfBlur.c:197
#define InMap(x, y, w, h)
Definition: gl4dfFractalPainting.c:732
Fonctions de gestion de liste.
#define uint8
Definition: aes.c:45
static int queueGet(void)
Definition: gl4dfCanny.c:409
static uint32 RT3[256]
Definition: aes.c:99
static void callAllWithState(GL4DHanime *animations, int state)
Parcourt un tableau d'animations (possiblement dupliquées) et les appelle une et une seule fois avec ...
Definition: gl4dhAnimeManager.c:175
GL4DAPI GLboolean GL4DAPIENTRY gl4duBindMatrix(const char *name)
active (met en current) la matrice liée au nom name passé en argument.
Definition: gl4du.c:1064
static GL4DHanime * _animations
pointeur vers le tableau d'animations passé à l'init avec gl4dhInit
Definition: gl4dhAnimeManager.c:21
void gl4dfConvTex2Tex(GLuint in, GLuint out, GLboolean flipV)
Copie la texture identifiée par in dans out. Le mode d'interpolation (par défaut GL_NEAREST) est à re...
Definition: gl4dfConversion.c:72
static shader_t ** findfnInShadersList(const char *filename)
recherche un shader à partir du nom de fichier dans la liste shaders_list.
Definition: gl4du.c:719
INLINE GL4DMVector gl4dmMatrixXVector(GL4DMMatrix mat, GL4DMVector vec)
Definition: gl4dm.inl:34
void gl4dhClean(void)
demande l'état libération à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:76
void(* resize)(int w, int h)
Definition: gl4duw_SDL2.c:23
static Uint32 _cur_color
La couleur en cours ; a modifier avec les fonctions setColor.
Definition: gl4dp.c:42
@ GL4DH_INIT
Definition: gl4dhAnimeManager.h:21
GL4DAPI void GL4DAPIENTRY gl4duwKeyDownFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key down.
Definition: gl4duw_SDL2.c:181
@ GL4DF_OP_MULT
Definition: gl4df.h:37
#define GL4DAPI
Definition: gl4dummies.h:86
void gl4dqConjugate(const gl4dqQuaternion q, gl4dqQuaternion conjugate)
fonction de calcul du conjugué d'un gl4dqQuaternion
Definition: gl4dq.c:19
static GLuint _mcmd_NT_map_tex_id
Definition: gl4dfFractalPainting.c:32
@ GL4DU_ALL
Definition: gl4du.h:41
GLuint fcommGetPlane(void)
Definition: gl4dfCommon.c:65
GL4DAPI void GL4DAPIENTRY gl4duPushMatrix(void)
empile (sauvegarde) la matrice courante et utilise une nouvelle matrice dont le contenu est le meme q...
Definition: gl4du.c:1107
static GLuint _op
Definition: gl4dfOp.c:19
GLuint id
Definition: gl4du.c:42
double gl4dmGRand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle ]-7, +7[. Ici la distribution est Gaussienne.
Definition: gl4dm.c:43
GL4DAPI double GL4DAPIENTRY gl4dGetElapsedTime(void)
Donne le temps ecoule en millisecondes depuis t0.
Definition: gl4dummies.c:220
static GLuint _buTreeWidth
Definition: gl4dfFractalPainting.c:29
static void subdivision2Tex(GLubyte **parentData, GLubyte **levelData, GLushort **childData, GLuint *childDataSize, GLubyte **childPos, unsigned int w, unsigned int h)
Definition: gl4dfFractalPainting.c:956
GL4DAPI void GL4DAPIENTRY btFree(bin_tree_t **tree, void(GL4DAPIENTRY *freeData)(void *))
static uint32 KT1[256]
Definition: aes.c:465
GLenum index_mode
Definition: gl4dg.c:99
size_t size
Definition: gl4du.c:64
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenCubef(void)
Génère un objet-géométrie de type cube et renvoie son identifiant (référence).
Definition: gl4dg.c:248
static int mdTexData(unsigned int w, unsigned int h)
Definition: gl4dfFractalPainting.c:990
GL4DAPI void GL4DAPIENTRY gl4dhClean(void)
demande l'état libération à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:76
char * gl4dExtractFromDecData(const char *decData, const char *filename)
recherche le shader filename dans le dat décrypté decData et retourne une copie du code.
Definition: gl4dummies.c:105
static void mainLoopBody(void *window, void **data)
corps de la boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:381
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetI(const GLfloat *mcmd_I)
A documenter.
Definition: gl4dfFractalPainting.c:238
void gl4dpFilledCircle(int x0, int y0, int r)
dessine un cercle plein centré en (x0, y0) de rayon r en utilisant l'algorithme de Bresenham'77.
Definition: gl4dp.c:372
void gl4dpUpdateScreen(GLint *rect)
met à jour l'écran en envoyant la sous texture de dimensions rect à GL. Si rect vaut NULL,...
Definition: gl4dp.c:247
static uint32 RCON[10]
Definition: aes.c:104
GL4DAPI GLuint GL4DAPIENTRY gl4duFindShader(const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:330
static GLuint _noiseTex
Definition: gl4dfScattering.c:16
GL4DAPI void GL4DAPIENTRY gl4dpCircle(int x0, int y0, int r)
dessine un cercle centré en (x0, y0) de rayon r en utilisant l'algorithme de Bresenham'77.
Definition: gl4dp.c:326
static GLuint planeffunc(void)
Definition: gl4dfCommon.c:74
static uint32 KT0[256]
Definition: aes.c:464
static int _glDepthSize
Definition: gl4duw_SDL2.c:43
static shader_t * shaders_list
liste de vertex et fragment shaders. Chaque shader est composé d'un id (GL), du type,...
Definition: gl4du.c:73
static int _w
largeur et hauteur de la texture _wTexId liée en écriture au framebuffer _fbo
Definition: gl4dhAnimeManager.c:32
@ GL4DU_DEMO_HELPER
Definition: gl4du.h:39
static void triangleEdge(GLubyte *parentData, GLubyte *levelData, ll_t **llmap, GLushort mapWidth, GLushort mapHeight, int x0, int y0, int w, int h, int current_level, int computing_level)
Definition: gl4dfFractalPainting.c:815
void gl4dfSobelSetMixMode(GL4DFenum mode)
Fonction liée au filtre Sobel. Méthode de combinaison du résultat final du Sobel avec l'image d'origi...
Definition: gl4dfSobel.c:59
void gl4dfConvFrame2Tex(GLuint *out)
Envoie le framebuffer actif (ou l'écran) vers une texture.
Definition: gl4dfConversion.c:21
GL4DAPI GLuint GL4DAPIENTRY gl4dgGenDiskf(GLuint slices)
Génère un objet-géométrie de type disque et renvoie son identifiant (référence).
Definition: gl4dg.c:330
GLenum shadertype
Definition: gl4du.c:43
GL4DAPI pair_t GL4DAPIENTRY llInsert(linked_list_t *ll, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:48
void * geom
Definition: gl4dg.c:93
GLuint gl4dgGenFanConef(GLuint slices, GLboolean base)
Génère un objet-géométrie de type fan-cone et renvoie son identifiant (référence).
Definition: gl4dg.c:278
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 ...
Definition: gl4du.c:1176
GLboolean gl4duBindMatrix(const char *name)
active (met en current) la matrice liée au nom name passé en argument.
Definition: gl4du.c:1064
static GLboolean _isLuminance
Definition: gl4dfSobel.c:20
static int * _fifo
Definition: gl4dfCanny.c:387
INLINE GL4DMVector gl4dmVector3Normalize(GL4DMVector vec)
Definition: gl4dm.inl:117
GLuint stacks
Definition: gl4dg.c:98
void llDelete(linked_list_t *ll, llnode_t **node, void(*freeData)(void *))
Definition: linked_list.c:74
void 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...
Definition: gl4du.c:1441
double gl4dGetTime(void)
Donne le temps ecoule en millisecondes depuis ti.
Definition: gl4dummies.c:243
void gl4dfScattering(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Filtre 2D de mélange de pixels (éparpillement)
Definition: gl4dfScattering.c:24
void * data
Definition: list.h:32
void gl4dfBlurSetWeightMapTranslate(GLfloat weightMapTranslate)
Indique la translation de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:32
static _GL4DUMatrix * _gl4dCurMatrix
la matrice _GL4DUMatrix courante.
Definition: gl4du.c:84
static GLuint _plan
Definition: gl4dfCommon.c:17
GL4DAPI void GL4DAPIENTRY gl4duwPassiveMotionFunc(void(*func)(int x, int y))
affecte la fonction appelée lorsqu'un utilisateur déplace la souris dans la fenêtre sans qu'aucun bou...
Definition: gl4duw_SDL2.c:197
Uint32 gl4dpGetColor(void)
revoie la _cur_color.
Definition: gl4dp.c:45
GLfloat * gl4dpSDLSurfaceToLuminanceMap(SDL_Surface *s)
convertie une surface SDL en un tableau de luminances comprises entre 0 et 1 (L = 0....
Definition: gl4dp.c:401
GLuint slices
Definition: gl4dg.c:127
void gl4dgSetGeometryOptimizationLevel(GLuint level)
Modifie le niveau d'optimisation de certaines des géométries à générer (exemple le torus,...
Definition: gl4dg.c:204
void gl4dMCMDSetUseRoughnessMap(GLuint map_tex_id)
Permet d'indiquer l'usage ou non d'une map (texture) pour récupérer les valeurs locales de roughness.
Definition: gl4dfFractalPainting.c:272
static void fake_resize(int w, int h)
fonction fictive liée au callback de resize de la fenêtre.
Definition: gl4duw_SDL2.c:59
static GLuint _height
Definition: gl4dfBlur.c:19
#define BLUR_MAX_RADIUS
Definition: gl4dfBlurWeights.h:11
GLboolean gl4duGetIntegerv(GL4DUenum pname, GLint *params)
Renseigne sur la valeur du paramètre demandé. Le paramètre est envoyé via pname et sera stocké dans p...
Definition: gl4du.c:1696
static void opfinit(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Definition: gl4dfOp.c:35
GL4DAPI double GL4DAPIENTRY gl4dmURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [0, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:19
GL4DAPI void GL4DAPIENTRY gl4duwMouseFunc(void(*func)(int button, int state, int x, int y))
affecte la fonction appelée lorsqu'un utilisateur appuie ou relache un bouton de la souris dans la fe...
Definition: gl4duw_SDL2.c:189
static void _moreheap(fheap_t *h)
Definition: fixed_heap.c:133
GL4DAPI char *GL4DAPIENTRY pathOf(const char *path)
Renvoie le chemin vers le dossier contenant le fichier passé en argument.
Definition: gl4dummies.c:319
GL4DAPI GLfloat *GL4DAPIENTRY gl4dmTriangleEdge(GLuint width, GLuint height, GLfloat H)
génère une heightmap en utilisant l'algorithme du triangle-edge. Les valeurs retournées dans la map s...
Definition: gl4dm.c:127
GL4DAPI void GL4DAPIENTRY gl4dInitTime(void)
Initialise ti.
Definition: gl4dummies.c:233
static void llMapFree(ll_t **llmap, GLushort mapWidth, GLushort mapHeight)
Definition: gl4dfFractalPainting.c:786
static void llInsert(ll_t **head, GLushort x, GLushort y)
Definition: gl4dfFractalPainting.c:764
GL4DAPI void GL4DAPIENTRY gl4dpFilledCircle(int x0, int y0, int r)
dessine un cercle plein centré en (x0, y0) de rayon r en utilisant l'algorithme de Bresenham'77.
Definition: gl4dp.c:372
Definition: fixed_heap.c:14
GL4DAPI GLboolean GL4DAPIENTRY gl4duDeleteMatrix(const char *name)
supprime la matrice liée au nom name passé en argument.
Definition: gl4du.c:1089
float x
Definition: gl4dm.h:362
GL4DAPI void GL4DAPIENTRY list_erase(list_t *list, size_t index)
Supprime un élément d’une liste.
Definition: list.c:117
GLuint gl4dgGenConef(GLuint slices, GLboolean base)
Génère un objet-géométrie de type cone et renvoie son identifiant (référence).
Definition: gl4dg.c:252
static GLuint _tempTexId[2]
Definition: gl4dfScattering.c:16
static GLfloat * mkDiskVerticesf(GLuint slices)
Definition: gl4dg.c:928
static int _glDoubleBuffer
Definition: gl4duw_SDL2.c:43
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetTextureId(void)
retourne l'identifiant (OpenGL) de la texture liée à l'écran en cours.
Definition: gl4dp.c:173
static void resize(window_t *win)
est appelée au moment du redimensionnement de la fenêtre win, elle récupère la taille de la fenêtre à...
Definition: gl4duw_SDL2.c:306
GL4DAPI GLboolean GL4DAPIENTRY gl4duwBindWindow(const char *title)
recherche et positionne "courant" une fenêtre en fonction de son titre.
Definition: gl4duw_SDL2.c:154
@ GL4DH_UPDATE_WITH_AUDIO
Definition: gl4dhAnimeManager.h:22
void gl4dpClearScreenWith(Uint32 color)
Efface l'écran en y mettant la valeur color.
Definition: gl4dp.c:201
void gl4dpRect(GLint *rect)
dessine un rectangle rect en utilisant la couleur en cours.
Definition: gl4dp.c:272
@ GL4DF_SOBEL_MIX_MULT
Definition: gl4df.h:34
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateShader(GLenum shadertype, const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:277
GL4DAPI void GL4DAPIENTRY gl4dpSetColor(Uint32 color)
met dans _cur_color la couleur passee en argument.
Definition: gl4dp.c:50
void gl4duDeleteProgram(GLuint id)
supprime le program dont l'identifiant openGL est id de la liste de programs programs_list.
Definition: gl4du.c:574
GLboolean gl4duwCreateWindow(int argc, char **argv, const char *title, int x, int y, int width, int height, Uint32 wflags)
créé une fenêtre SDL avec un contexte OpenGL.
Definition: gl4duw_SDL2.c:106
static GLboolean _change_seed
Definition: gl4dfFractalPainting.c:35
GL4DAPI void GL4DAPIENTRY gl4duwKeyUpFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key up.
Definition: gl4duw_SDL2.c:185