GL4Dummies  0.1.7
Référence du fichier aes.c

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>
Graphe des dépendances par inclusion de aes.c:

Aller au code source de ce fichier.

Macros

#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)
 

Fonctions

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

Variables

static uint8 FSb [256]
 
static uint32 FT0 [256]
 
static uint32 FT1 [256]
 
static uint32 FT2 [256]
 
static uint32 FT3 [256]
 
static uint8 RSb [256]
 
static uint32 RT0 [256]
 
static uint32 RT1 [256]
 
static uint32 RT2 [256]
 
static uint32 RT3 [256]
 
static uint32 RCON [10]
 
static uint32 KT0 [256]
 
static uint32 KT1 [256]
 
static uint32 KT2 [256]
 
static uint32 KT3 [256]
 

Description détaillée

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.

Documentation des macros

◆ 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 ) ] ^ \
FT3[ (uint8) ( Y3 ) ]; \
\
X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
FT3[ (uint8) ( Y0 ) ]; \
\
X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
FT3[ (uint8) ( Y1 ) ]; \
\
X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
FT3[ (uint8) ( Y2 ) ]; \
}

◆ 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 ) ] ^ \
RT3[ (uint8) ( Y1 ) ]; \
\
X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
RT3[ (uint8) ( Y2 ) ]; \
\
X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
RT3[ (uint8) ( Y3 ) ]; \
\
X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
RT3[ (uint8) ( Y0 ) ]; \
}

◆ GET_UINT32_BE

#define GET_UINT32_BE (   n,
  b,
 
)
Valeur :
{ \
(n) = ( (uint32) (b)[(i) ] << 24 ) \
| ( (uint32) (b)[(i) + 1] << 16 ) \
| ( (uint32) (b)[(i) + 2] << 8 ) \
| ( (uint32) (b)[(i) + 3] ); \
}

◆ MUL

#define MUL (   x,
 
)    ( ( x && y ) ? pow[(log[x] + log[y]) % 255] : 0 )

◆ PUT_UINT32_BE

#define PUT_UINT32_BE (   n,
  b,
 
)
Valeur :
{ \
(b)[(i) ] = (uint8) ( (n) >> 24 ); \
(b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
(b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
(b)[(i) + 3] = (uint8) ( (n) ); \
}

◆ ROTR8

#define ROTR8 (   x)
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 ) )

Documentation des fonctions

◆ 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
ctxAES context
ivinitialization vector (modified after use)
inputbuffer holding the ciphertext
outputbuffer holding the plaintext
lenlength of the data to be decrypted
842 {
843  int i;
844  unsigned char temp[16];
845 
846  while( len > 0 )
847  {
848  memcpy( temp, input, 16 );
849  aes_decrypt( ctx, input, output );
850 
851  for( i = 0; i < 16; i++ )
852  output[i] = output[i] ^ iv[i];
853 
854  memcpy( iv, temp, 16 );
855 
856  input += 16;
857  output += 16;
858  len -= 16;
859  }
860 }

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
ctxAES context
ivinitialization vector (modified after use)
inputbuffer holding the plaintext
outputbuffer holding the ciphertext
lenlength of the data to be encrypted
817 {
818  int i;
819 
820  while( len > 0 )
821  {
822  for( i = 0; i < 16; i++ )
823  output[i] = input[i] ^ iv[i];
824 
825  aes_encrypt( ctx, output, output );
826  memcpy( iv, output, 16 );
827 
828  input += 16;
829  output += 16;
830  len -= 16;
831  }
832 }

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
ctxAES context
inputciphertext block
outputplaintext block
724 {
725  uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
726 
727  RK = ctx->drk;
728 
729  GET_UINT32_BE( X0, input, 0 ); X0 ^= RK[0];
730  GET_UINT32_BE( X1, input, 4 ); X1 ^= RK[1];
731  GET_UINT32_BE( X2, input, 8 ); X2 ^= RK[2];
732  GET_UINT32_BE( X3, input, 12 ); X3 ^= RK[3];
733 
734 #define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
735 { \
736  RK += 4; \
737  \
738  X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
739  RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
740  RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
741  RT3[ (uint8) ( Y1 ) ]; \
742  \
743  X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
744  RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
745  RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
746  RT3[ (uint8) ( Y2 ) ]; \
747  \
748  X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
749  RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
750  RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
751  RT3[ (uint8) ( Y3 ) ]; \
752  \
753  X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
754  RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
755  RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
756  RT3[ (uint8) ( Y0 ) ]; \
757 }
758 
759  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
760  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
761  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
762  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
763  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
764  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
765  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
766  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
767  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
768 
769  if( ctx->nr > 10 )
770  {
771  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
772  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
773  }
774 
775  if( ctx->nr > 12 )
776  {
777  AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
778  AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
779  }
780 
781  RK += 4;
782 
783  X0 = RK[0] ^ ( RSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
784  ( RSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
785  ( RSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
786  ( RSb[ (uint8) ( Y1 ) ] );
787 
788  X1 = RK[1] ^ ( RSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
789  ( RSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
790  ( RSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
791  ( RSb[ (uint8) ( Y2 ) ] );
792 
793  X2 = RK[2] ^ ( RSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
794  ( RSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
795  ( RSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
796  ( RSb[ (uint8) ( Y3 ) ] );
797 
798  X3 = RK[3] ^ ( RSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
799  ( RSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
800  ( RSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
801  ( RSb[ (uint8) ( Y0 ) ] );
802 
803  PUT_UINT32_BE( X0, output, 0 );
804  PUT_UINT32_BE( X1, output, 4 );
805  PUT_UINT32_BE( X2, output, 8 );
806  PUT_UINT32_BE( X3, output, 12 );
807 }

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)

633 {
634  uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
635 
636  RK = ctx->erk;
637 
638  GET_UINT32_BE( X0, input, 0 ); X0 ^= RK[0];
639  GET_UINT32_BE( X1, input, 4 ); X1 ^= RK[1];
640  GET_UINT32_BE( X2, input, 8 ); X2 ^= RK[2];
641  GET_UINT32_BE( X3, input, 12 ); X3 ^= RK[3];
642 
643 #define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
644 { \
645  RK += 4; \
646  \
647  X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
648  FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
649  FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
650  FT3[ (uint8) ( Y3 ) ]; \
651  \
652  X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
653  FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
654  FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
655  FT3[ (uint8) ( Y0 ) ]; \
656  \
657  X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
658  FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
659  FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
660  FT3[ (uint8) ( Y1 ) ]; \
661  \
662  X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
663  FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
664  FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
665  FT3[ (uint8) ( Y2 ) ]; \
666 }
667 
668  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
669  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
670  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
671  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
672  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
673  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
674  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
675  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
676  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
677 
678  if( ctx->nr > 10 )
679  {
680  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
681  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
682  }
683 
684  if( ctx->nr > 12 )
685  {
686  AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
687  AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
688  }
689 
690  RK += 4;
691 
692  X0 = RK[0] ^ ( FSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
693  ( FSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
694  ( FSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
695  ( FSb[ (uint8) ( Y3 ) ] );
696 
697  X1 = RK[1] ^ ( FSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
698  ( FSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
699  ( FSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
700  ( FSb[ (uint8) ( Y0 ) ] );
701 
702  X2 = RK[2] ^ ( FSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
703  ( FSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
704  ( FSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
705  ( FSb[ (uint8) ( Y1 ) ] );
706 
707  X3 = RK[3] ^ ( FSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
708  ( FSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
709  ( FSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
710  ( FSb[ (uint8) ( Y2 ) ] );
711 
712  PUT_UINT32_BE( X0, output, 0 );
713  PUT_UINT32_BE( X1, output, 4 );
714  PUT_UINT32_BE( X2, output, 8 );
715  PUT_UINT32_BE( X3, output, 12 );
716 }

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)
899  {
900  size_t l = 0;
901  char * data = NULL;
902  FILE * f;
903  struct stat buf;
904  if(stat(file, &buf) != 0) {
905  fprintf(stderr, "%s:%d: erreur %d: %s\n", __FILE__, __LINE__, errno, strerror(errno));
906  return NULL;
907  }
908  data = malloc( (buf.st_size + 1) * sizeof * data );
909  assert(data);
910  if( (f = fopen(file, "rb")) == NULL ) {
911  fprintf(stderr, "%s:%d: erreur %d: %s\n", __FILE__, __LINE__, errno, strerror(errno));
912  free(data);
913  return NULL;
914  }
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);
918  free(data);
919  fclose(f);
920  return NULL;
921  }
922  fclose(f);
923  vaetvient((unsigned char *)data, (int)l, 1);
924  return data;
925 }

Références vaetvient().

Référencé par gl4duCreateProgramFED().

◆ aes_gen_tables()

static void aes_gen_tables ( void  )
static
115 {
116  int i;
117  uint8 x, y;
118  uint8 pow[256];
119  uint8 log[256];
120 
121  /*
122  * compute pow and log tables over GF(2^8)
123  */
124  for( i = 0, x = 1; i < 256; i++, x ^= XTIME( x ) )
125  {
126  pow[i] = x;
127  log[x] = i;
128  }
129 
130  /*
131  * calculate the round constants
132  */
133  for( i = 0, x = 1; i < 10; i++, x = XTIME( x ) )
134  {
135  RCON[i] = (uint32) x << 24;
136  }
137 
138  /*
139  * generate the forward and reverse S-boxes
140  */
141  FSb[0x00] = 0x63;
142  RSb[0x63] = 0x00;
143 
144  for( i = 1; i < 256; i++ )
145  {
146  x = pow[255 - log[i]];
147 
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 );
152  x ^= y ^ 0x63;
153 
154  FSb[i] = x;
155  RSb[x] = i;
156  }
157 
158  /*
159  * generate the forward and reverse tables
160  */
161  for( i = 0; i < 256; i++ )
162  {
163  x = FSb[i]; y = XTIME( x );
164 
165  FT0[i] = (uint32) ( x ^ y ) ^
166  ( (uint32) x << 8 ) ^
167  ( (uint32) x << 16 ) ^
168  ( (uint32) y << 24 );
169 
170  FT0[i] &= 0xFFFFFFFF;
171 
172  FT1[i] = ROTR8( FT0[i] );
173  FT2[i] = ROTR8( FT1[i] );
174  FT3[i] = ROTR8( FT2[i] );
175 
176  y = RSb[i];
177 
178  RT0[i] = ( (uint32) MUL( 0x0B, y ) ) ^
179  ( (uint32) MUL( 0x0D, y ) << 8 ) ^
180  ( (uint32) MUL( 0x09, y ) << 16 ) ^
181  ( (uint32) MUL( 0x0E, y ) << 24 );
182 
183  RT0[i] &= 0xFFFFFFFF;
184 
185  RT1[i] = ROTR8( RT0[i] );
186  RT2[i] = ROTR8( RT1[i] );
187  RT3[i] = ROTR8( RT2[i] );
188  }
189 }

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
969  {
970  return 0;
971 }

◆ aes_set_key()

void aes_set_key ( aes_context ctx,
uint8 key,
int  keysize 
)
473 {
474  int i;
475  uint32 *RK, *SK;
476  static int ft_init = 0;
477  static int kt_init = 0;
478 
479  if( ft_init == 0 )
480  {
481  aes_gen_tables();
482 
483  ft_init = 1;
484  }
485 
486  switch( keysize )
487  {
488  case 128: ctx->nr = 10; break;
489  case 192: ctx->nr = 12; break;
490  case 256: ctx->nr = 14; break;
491  default : return;
492  }
493 
494  RK = ctx->erk;
495 
496  for( i = 0; i < (keysize >> 5); i++ )
497  {
498  GET_UINT32_BE( RK[i], key, i << 2 );
499  }
500 
501  /*
502  * setup encryption round keys
503  */
504  switch( ctx->nr )
505  {
506  case 10:
507 
508  for( i = 0; i < 10; i++, RK += 4 )
509  {
510  RK[4] = RK[0] ^ RCON[i] ^
511  ( FSb[ (uint8) ( RK[3] >> 16 ) ] << 24 ) ^
512  ( FSb[ (uint8) ( RK[3] >> 8 ) ] << 16 ) ^
513  ( FSb[ (uint8) ( RK[3] ) ] << 8 ) ^
514  ( FSb[ (uint8) ( RK[3] >> 24 ) ] );
515 
516  RK[5] = RK[1] ^ RK[4];
517  RK[6] = RK[2] ^ RK[5];
518  RK[7] = RK[3] ^ RK[6];
519  }
520  break;
521 
522  case 12:
523 
524  for( i = 0; i < 8; i++, RK += 6 )
525  {
526  RK[6] = RK[0] ^ RCON[i] ^
527  ( FSb[ (uint8) ( RK[5] >> 16 ) ] << 24 ) ^
528  ( FSb[ (uint8) ( RK[5] >> 8 ) ] << 16 ) ^
529  ( FSb[ (uint8) ( RK[5] ) ] << 8 ) ^
530  ( FSb[ (uint8) ( RK[5] >> 24 ) ] );
531 
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];
537  }
538  break;
539 
540  case 14:
541 
542  for( i = 0; i < 7; i++, RK += 8 )
543  {
544  RK[8] = RK[0] ^ RCON[i] ^
545  ( FSb[ (uint8) ( RK[7] >> 16 ) ] << 24 ) ^
546  ( FSb[ (uint8) ( RK[7] >> 8 ) ] << 16 ) ^
547  ( FSb[ (uint8) ( RK[7] ) ] << 8 ) ^
548  ( FSb[ (uint8) ( RK[7] >> 24 ) ] );
549 
550  RK[9] = RK[1] ^ RK[8];
551  RK[10] = RK[2] ^ RK[9];
552  RK[11] = RK[3] ^ RK[10];
553 
554  RK[12] = RK[4] ^
555  ( FSb[ (uint8) ( RK[11] >> 24 ) ] << 24 ) ^
556  ( FSb[ (uint8) ( RK[11] >> 16 ) ] << 16 ) ^
557  ( FSb[ (uint8) ( RK[11] >> 8 ) ] << 8 ) ^
558  ( FSb[ (uint8) ( RK[11] ) ] );
559 
560  RK[13] = RK[5] ^ RK[12];
561  RK[14] = RK[6] ^ RK[13];
562  RK[15] = RK[7] ^ RK[14];
563  }
564  break;
565 
566  default:
567 
568  break;
569  }
570 
571  /*
572  * setup decryption round keys
573  */
574  if( kt_init == 0 )
575  {
576  for( i = 0; i < 256; i++ )
577  {
578  KT0[i] = RT0[ FSb[i] ];
579  KT1[i] = RT1[ FSb[i] ];
580  KT2[i] = RT2[ FSb[i] ];
581  KT3[i] = RT3[ FSb[i] ];
582  }
583 
584  kt_init = 1;
585  }
586 
587  SK = ctx->drk;
588 
589  *SK++ = *RK++;
590  *SK++ = *RK++;
591  *SK++ = *RK++;
592  *SK++ = *RK++;
593 
594  for( i = 1; i < ctx->nr; i++ )
595  {
596  RK -= 8;
597 
598  *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
599  KT1[ (uint8) ( *RK >> 16 ) ] ^
600  KT2[ (uint8) ( *RK >> 8 ) ] ^
601  KT3[ (uint8) ( *RK ) ]; RK++;
602 
603  *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
604  KT1[ (uint8) ( *RK >> 16 ) ] ^
605  KT2[ (uint8) ( *RK >> 8 ) ] ^
606  KT3[ (uint8) ( *RK ) ]; RK++;
607 
608  *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
609  KT1[ (uint8) ( *RK >> 16 ) ] ^
610  KT2[ (uint8) ( *RK >> 8 ) ] ^
611  KT3[ (uint8) ( *RK ) ]; RK++;
612 
613  *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
614  KT1[ (uint8) ( *RK >> 16 ) ] ^
615  KT2[ (uint8) ( *RK >> 8 ) ] ^
616  KT3[ (uint8) ( *RK ) ]; RK++;
617  }
618 
619  RK -= 8;
620 
621  *SK++ = *RK++;
622  *SK++ = *RK++;
623  *SK++ = *RK++;
624  *SK++ = *RK++;
625 }

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 
)
862  {
863  int i;
864  static aes_context ctx;
865  static int ft = 1;
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 };
870  if(ft) {
871  aes_set_key( &ctx, buf, 256 );
872  for(i = 0; i < 15; i++)
873  aes_encrypt(&ctx, buf, buf);
874  aes_set_key( &ctx, buf, 256 );
875  ft = 0;
876  }
877  i = 0;
878  if(vaouvient == 0) {
879  while(i < len) {
880  aes_encrypt(&ctx, &data[i], &data[i]);
881  i += 16;
882  }
883  } else {
884  while(i < len) {
885  aes_decrypt(&ctx, &data[i], &data[i]);
886  i += 16;
887  }
888  }
889 }

Références aes_decrypt(), aes_encrypt(), et aes_set_key().

Référencé par aes_from_tar().

Documentation des variables

◆ FSb

uint8 FSb[256]
static

◆ FT0

uint32 FT0[256]
static

Référencé par aes_gen_tables().

◆ FT1

uint32 FT1[256]
static

Référencé par aes_gen_tables().

◆ FT2

uint32 FT2[256]
static

Référencé par aes_gen_tables().

◆ FT3

uint32 FT3[256]
static

Référencé par aes_gen_tables().

◆ KT0

uint32 KT0[256]
static

Référencé par aes_set_key().

◆ KT1

uint32 KT1[256]
static

Référencé par aes_set_key().

◆ KT2

uint32 KT2[256]
static

Référencé par aes_set_key().

◆ KT3

uint32 KT3[256]
static

Référencé par aes_set_key().

◆ RCON

uint32 RCON[10]
static

Référencé par aes_gen_tables(), et aes_set_key().

◆ RSb

uint8 RSb[256]
static

Référencé par aes_decrypt(), et aes_gen_tables().

◆ RT0

uint32 RT0[256]
static

Référencé par aes_gen_tables(), et aes_set_key().

◆ RT1

uint32 RT1[256]
static

Référencé par aes_gen_tables(), et aes_set_key().

◆ RT2

uint32 RT2[256]
static

Référencé par aes_gen_tables(), et aes_set_key().

◆ RT3

uint32 RT3[256]
static

Référencé par aes_gen_tables(), et aes_set_key().

gl4dummies.h
gestion simplifiée de GL sous différents OS et fonctionnalité de cryptage des shaders.
llInsertAt
GL4DAPI void GL4DAPIENTRY llInsertAt(llnode_t **here, void *data)
Definition: linked_list.c:55
gl4dfMCMDSetNoisePhaseChange
void gl4dfMCMDSetNoisePhaseChange(const GLfloat *mcmd_noise_phase_change)
A documenter.
Definition: gl4dfFractalPainting.c:254
gl4dfMCMDSetNoiseS
void gl4dfMCMDSetNoiseS(const GLfloat *mcmd_noise_S)
A documenter.
Definition: gl4dfFractalPainting.c:246
gl4dfMCMDSetI
void gl4dfMCMDSetI(const GLfloat *mcmd_I)
A documenter.
Definition: gl4dfFractalPainting.c:238
FSb
static uint8 FSb[256]
Definition: aes.c:86
gl4dfMCMDChangeSeed
void gl4dfMCMDChangeSeed(GLboolean change_seed)
A documenter.
Definition: gl4dfFractalPainting.c:226
gl4dmGURand
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
_buTreeSize
static GLuint _buTreeSize
Definition: gl4dfFractalPainting.c:29
geom_t
Definition: gl4dg.c:90
fheapCreate
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
list_get
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
window_t::mousemotion
void(* mousemotion)(int x, int y)
Definition: gl4duw_SDL2.c:27
list_insert
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
quit
static void quit(void)
Definition: gl4dfCommon.c:37
program_t::sshaders
int sshaders
Definition: gl4du.c:55
gl4dfOpSetOp
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
gl4duwKeyDownFunc
void gl4duwKeyDownFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key down.
Definition: gl4duw_SDL2.c:181
GL4DHanime::transition
void(* transition)(void(*anim0)(int), void(*anim1)(int), Uint32 fullTime, Uint32 elapsedTime, int state)
Definition: gl4dhAnimeManager.h:31
_opPId
static GLuint _opPId
Definition: gl4dfOp.c:19
gl4dgGenTeapotf
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
GL4DFenum
Definition: gl4df.h:27
_width
static GLuint _width
Definition: gl4dfFractalPainting.c:30
llEmpty
int llEmpty(linked_list_t *ll)
Definition: linked_list.c:44
gl4dfMCMDTakeColor
void gl4dfMCMDTakeColor(GLboolean mcmd_take_color)
A documenter.
Definition: gl4dfFractalPainting.c:222
fake_mousebutton
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
gl4dfCannySetMixMode
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
llFind
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_new
vector_t vector_new(size_t data_size)
Créé un nouvel objet vector_t.
Definition: vector.c:18
gl4dqConjugate
void gl4dqConjugate(const gl4dqQuaternion q, gl4dqQuaternion conjugate)
fonction de calcul du conjugué d'un gl4dqQuaternion
Definition: gl4dq.c:19
aes_context
AES context structure.
Definition: aes.h:41
gl4duMakeBinRelativePath
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
_screen_list
static screen_node_t * _screen_list
Definition: gl4dp.c:30
gl4duLoadMatrixd
void gl4duLoadMatrixd(const GLdouble *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1309
GL4DU_MATRIX
@ GL4DU_MATRIX
Definition: gl4du.h:24
gl4dfSobelSetResultMode
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
btInsert
pair_t btInsert(bin_tree_t **tree, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:13
llPushBack
GL4DAPI void GL4DAPIENTRY llPushBack(linked_list_t *ll, void *data)
Definition: linked_list.c:20
init
static void init(void)
Definition: gl4dfScattering.c:124
triangle_edge
static void triangle_edge(GLfloat *im, int x, int y, int w, int h, int width, GLfloat ri, GLfloat H)
Definition: gl4dm.c:79
gl4duGenMatrix
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
gl4duCreateShader
GLuint gl4duCreateShader(GLenum shadertype, const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:277
vector_t::data_size
size_t data_size
Definition: vector.h:35
gstatic_t
Definition: gl4dg.c:104
cannyfinit
static void cannyfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfCanny.c:87
_mcmd_take_color
static GLboolean _mcmd_take_color
Definition: gl4dfFractalPainting.c:35
MMAT4XMAT4
#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
gl4dgDelete
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
gl4dfBlurSetWeightMapScale
void gl4dfBlurSetWeightMapScale(GLfloat weightMapScale)
Indique le scale de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:36
aes_decrypt
void aes_decrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block decryption (ECB mode)
Definition: aes.c:721
_tempTexId
static GLuint _tempTexId[3]
Definition: gl4dfFractalPainting.c:29
gl4dhGetTicks
Uint32 gl4dhGetTicks(void)
renvoie le nombre de milisecondes passée depuis le top-départ donné par gl4dhStartingSignal.
Definition: gl4dhAnimeManager.c:106
gl4duCreateShaderFED
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
gtorus_t::index_row_count
GLsizei index_row_count
Definition: gl4dg.c:130
_rand_threshold
static GLfloat _rand_threshold
Definition: gl4dfFractalPainting.c:34
gl4dpGetWidth
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetWidth(void)
retourne la largeur de l'écran.
Definition: gl4dp.c:178
UNDEFINED_PARENT
#define UNDEFINED_PARENT
Definition: gl4dfFractalPainting.c:730
llEnd
llnode_t ** llEnd(linked_list_t *ll)
Definition: linked_list.c:92
gl4dpGetColor
GL4DAPI Uint32 GL4DAPIENTRY gl4dpGetColor(void)
revoie la _cur_color.
Definition: gl4dp.c:45
vector_t::size
size_t size
Definition: vector.h:34
gl4dmMatrixLookAt
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
gl4dfSobelSetMixMode
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
@ GL4DF_CANNY_RESULT_INV_LUMINANCE
Definition: gl4df.h:43
freeWindows
static void freeWindows(void *window)
libère la fenêtre
Definition: gl4duw_SDL2.c:287
gl4dpScreenHasChanged
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
gl4dmVector3Cross
INLINE GL4DMVector gl4dmVector3Cross(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:82
linked_list_t::head
struct llnode_t * head
Definition: linked_list.h:35
gl4dgGetVAO
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
vector_set
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
IN_SCREEN
#define IN_SCREEN(x, y)
macro pour tester si x et y sont dans limites de l'ecran
Definition: gl4dp.h:72
setDimensions
static void setDimensions(GLuint w, GLuint h)
Definition: gl4dfScattering.c:179
_garray_size
static GLint _garray_size
Definition: gl4dg.c:148
gl4dqRotatePoint
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
GL4DMVector
Méthodes alternative utilisant des fonctions inline (compatible seulement a partir de la norme c99)
Definition: gl4dm.h:360
pair_t::ptr
void ** ptr
Definition: bin_tree.h:23
gl4dpGetWidth
GLuint gl4dpGetWidth(void)
retourne la largeur de l'écran.
Definition: gl4dp.c:178
GL4DHanime
Definition: gl4dhAnimeManager.h:27
gl4duGetMatrixData
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
window_t::glContext
SDL_GLContext glContext
Definition: gl4duw_SDL2.c:22
gsphere_t
Definition: gl4dg.c:96
linked_list_t
Definition: linked_list.h:34
shader_t::sprograms
int sprograms
Definition: gl4du.c:48
gl4du.h
The GL4Dummies Utilities.
gl4dInitTime0
GL4DAPI void GL4DAPIENTRY gl4dInitTime0(void)
Initialise t0.
Definition: gl4dummies.c:210
list_delete
void list_delete(list_t list)
Détruit une liste.
Definition: list.c:43
shader_t::programs
program_t ** programs
Definition: gl4du.c:49
GL4DF_OP_OVERLAY
@ GL4DF_OP_OVERLAY
Definition: gl4df.h:39
GE_GRID2D
@ GE_GRID2D
Definition: gl4dg.c:86
window_t::keydown
void(* keydown)(int keycode)
Definition: gl4duw_SDL2.c:24
gtorus_t::index_mode
GLenum index_mode
Definition: gl4dg.c:129
btFree
void btFree(bin_tree_t **tree, void(*freeData)(void *))
Definition: bin_tree.c:104
gl4dfSobelSetResultMode
void gl4dfSobelSetResultMode(GL4DFenum mode)
Fonction liée au filtre Sobel. Méthode de calcul du résultat final du Sobel.
Definition: gl4dfSobel.c:35
gl4dgInit
GL4DAPI void GL4DAPIENTRY gl4dgInit(void)
Initialise les structures nécessaire au stockage des géométries proposées par GL4Dummies....
Definition: gl4dg.c:174
vector_get
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
gteapot_t::buffer
GLuint buffer
Definition: gl4dg.c:143
gl4dpRect
GL4DAPI void GL4DAPIENTRY gl4dpRect(GLint *rect)
dessine un rectangle rect en utilisant la couleur en cours.
Definition: gl4dp.c:272
gl4duwDisableManageEvents
void gl4duwDisableManageEvents(void)
Definition: gl4duw_SDL2.c:217
llPop
GL4DAPI void *GL4DAPIENTRY llPop(linked_list_t *ll)
Definition: linked_list.c:38
MKFWINIT3
MKFWINIT3(fractalPainting, void, GLuint, GLuint, GLboolean)
KT2
static uint32 KT2[256]
Definition: aes.c:466
KT3
static uint32 KT3[256]
Definition: aes.c:467
gl4dgClean
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
gl4duw_SDL2.h
Fonctions haut-niveau de GL4Dummies pour la gestion des fenêtres avec SDL2.
gl4dpInitScreenWithDimensions
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
GL4DHanime::time
Uint32 time
Definition: gl4dhAnimeManager.h:28
_cur_screen
static screen_node_t ** _cur_screen
Definition: gl4dp.c:30
GL4DW_POS_CENTERED
#define GL4DW_POS_CENTERED
Used to indicate that the window position should be centered.
Definition: gl4duw_SDL2.h:316
quit
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
init
static void init(void)
Definition: gl4dfOp.c:109
window_t::mousebutton
void(* mousebutton)(int button, int state, int x, int y)
Definition: gl4duw_SDL2.c:26
GL4DF_OP_DIV
@ GL4DF_OP_DIV
Definition: gl4df.h:38
gl4dqComputeScalaire
void gl4dqComputeScalaire(gl4dqQuaternion q)
fonction de calcul de la partie scalaire d'un gl4dqQuaternion unitaire où seule la partie imaginaire ...
Definition: gl4dq.c:14
gl4dMCMDSetUseInterpolationMap
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
llFirst
GL4DAPI llnode_t **GL4DAPIENTRY llFirst(linked_list_t *ll)
Definition: linked_list.c:88
gl4dfBasicVS
static const char * gl4dfBasicVS
Definition: gl4dfCommon.h:22
gl4dgGenTorusf
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
GL4DW_OPENGL
#define GL4DW_OPENGL
window usable with OpenGL context
Definition: gl4duw_SDL2.h:256
gl4duScalef
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
gl4daInit
void gl4daInit(gl4daArcball *a, int x, int y)
fonction qui initialise la position de l'arcball
Definition: gl4da.c:37
gl4duTranslated
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
_mcmd_noise_S
static GLfloat _mcmd_noise_S[4]
Definition: gl4dfFractalPainting.c:38
MFRUSTUM
#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
bin_tree_t::lc
struct bin_tree_t * lc
Definition: bin_tree.h:30
cannyffunc
static void cannyffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfCanny.c:145
gl4dfCannySetMixMode
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
gl4dmSURand
double gl4dmSURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:28
fractalPaintingfinit
static void fractalPaintingfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfFractalPainting.c:70
btNext
GL4DAPI bin_tree_t **GL4DAPIENTRY btNext(bin_tree_t **ptr)
Definition: bin_tree.c:100
gl4duPrintFPS
GL4DAPI void GL4DAPIENTRY gl4duPrintFPS(FILE *fp)
imprime dans le fichier pointé par fp le Frame-Per-Second.
Definition: gl4du.c:252
gl4duLookAtf
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
gl4dfMCMDSetSubdivisionMethod
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
gl4dfMCMDSetSkeletonizeRandThreshold
void gl4dfMCMDSetSkeletonizeRandThreshold(GLfloat rand_threshold)
A documenter.
Definition: gl4dfFractalPainting.c:258
mkConeVerticesf
static GLfloat * mkConeVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:867
gl4dqMultiply
void gl4dqMultiply(const gl4dqQuaternion qa, const gl4dqQuaternion qb, gl4dqQuaternion qr)
fonction de calcul de la multiplication de deux gl4dqQuaternions
Definition: gl4dq.c:27
gl4duMultMatrixf
void gl4duMultMatrixf(const GLfloat *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1324
gl4duMultMatrixd
void gl4duMultMatrixd(const GLdouble *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1342
ggrid2d_t::width
GLuint width
Definition: gl4dg.c:136
gl4dpLine
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
screen_node_t::h
GLuint h
Definition: gl4dp.c:26
GL4DF_CANNY_RESULT_LUMINANCE
@ GL4DF_CANNY_RESULT_LUMINANCE
Definition: gl4df.h:42
gteapot_t
Definition: gl4dg.c:142
GL4DF_CANNY_MIX_NONE
@ GL4DF_CANNY_MIX_NONE
Definition: gl4df.h:44
llInsert
pair_t llInsert(linked_list_t *ll, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:48
_mcmd_Ir
static GLfloat _mcmd_Ir[4]
Definition: gl4dfFractalPainting.c:36
gl4dmMatrixTranspose
INLINE GL4DMMatrix gl4dmMatrixTranspose(GL4DMMatrix mat)
Definition: gl4dm.inl:56
findidInShadersList
static shader_t ** findidInShadersList(GLuint id)
recherche un shader à partir de son identifiant openGL dans la liste shaders_list.
Definition: gl4du.c:738
gl4dmMatrixXMatrix
INLINE GL4DMMatrix gl4dmMatrixXMatrix(GL4DMMatrix mat1, GL4DMMatrix mat2)
Definition: gl4dm.inl:8
gteapot_t::slices
GLuint slices
Definition: gl4dg.c:144
gl4dpSetScreen
int gl4dpSetScreen(GLuint id)
active comme écran courant l'écran dont l'id est passé en argument.
Definition: gl4dp.c:145
_subdivision_method
static GLuint _subdivision_method
Definition: gl4dfFractalPainting.c:28
_pId
static GLuint _pId[5]
Definition: gl4dfFractalPainting.c:28
gl4duCreateShaderFED
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
matrixData
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
gl4dqNormalize
void gl4dqNormalize(gl4dqQuaternion q)
fonction qui transforme un gl4dqQuaternion en un gl4dqQuaternion unitaire
Definition: gl4dq.c:39
_isLuminance
static GLboolean _isLuminance
Definition: gl4dfCanny.c:20
in
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
gl4dfMCMDSetNoiseH
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseH(const GLfloat *mcmd_noise_H)
A documenter.
Definition: gl4dfFractalPainting.c:242
gl4dgGenCubef
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
gl4duUpdateShaders
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
_wdTexId
static GLuint _wdTexId
Definition: gl4dhAnimeManager.c:29
gl4dmTriangleEdge
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
gl4dpLine
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
COTANGENT
#define COTANGENT(X)
Definition: gl4dm.h:61
filenameOf
char * filenameOf(const char *path)
Renvoie le nom de fichier sans le chemin.
Definition: gl4dummies.c:346
aes_set_key
void aes_set_key(aes_context *ctx, uint8 *key, int keysize)
Definition: aes.c:472
window_t::keyup
void(* keyup)(int keycode)
Definition: gl4duw_SDL2.c:25
AES_RROUND
#define AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3)
RSb
static uint8 RSb[256]
Definition: aes.c:95
gl4dmMatrixRotate
INLINE GL4DMMatrix gl4dmMatrixRotate(float angle, float x, float y, float z)
Definition: gl4dm.inl:164
attachShader
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
@ GL4DF_CANNY_MIX_ADD
Definition: gl4df.h:45
sendMatrix
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
gl4dgSetGeometryOptimizationLevel
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
_curWindow
static window_t * _curWindow
la fenêtre window_t courante (coté code,
Definition: gl4duw_SDL2.c:39
gcylinder_t::buffer
GLuint buffer
Definition: gl4dg.c:115
_tempTexId
static GLuint _tempTexId[3]
Definition: gl4dfBlur.c:19
gl4duOrthod
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
gl4dfCannySetMixFactor
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
gsphere_t::index_row_count
GLsizei index_row_count
Definition: gl4dg.c:100
gl4dqMagnitude
float gl4dqMagnitude(gl4dqQuaternion q)
fonction qui calcule la norme d'un gl4dqQuaternion
Definition: gl4dq.c:35
_btWindows
static bin_tree_t * _btWindows
arbre binaire contenant l'ensemble des fenêtres créées.
Definition: gl4duw_SDL2.c:35
gl4duwCreateWindow
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
MIN
#define MIN(a, b)
Definition: gl4dm.h:57
gcylinder_t
Definition: gl4dg.c:114
gl4duMultMatrixByName
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixByName(const char *name)
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies....
Definition: gl4du.c:1360
weights
static GLfloat weights[]
Definition: gl4dfBlurWeights.h:32
init
static void init(void)
Definition: gl4dfFractalPainting.c:691
_tempTexId
static GLuint _tempTexId[2]
Definition: gl4dfSobel.c:19
gl4dq.h
fonctions de manipulation de Quaternions
gl4dExtensionSupported
int GL4DAPIENTRY gl4dExtensionSupported(const char *extension)
recherche une extension dans glGetString(GL_EXTENSIONS)
Definition: gl4dummies.c:50
fractalPaintingffunc
static void fractalPaintingffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfFractalPainting.c:76
ggrid2d_t::buffers
GLuint buffers[2]
Definition: gl4dg.c:135
gl4dfMCMD
GL4DAPI void GL4DAPIENTRY gl4dfMCMD(GLuint in, GLuint out, GLboolean flipV)
A documenter.
Definition: gl4dfFractalPainting.c:45
gl4dqRotatePoint
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
gsphere_t::buffers
GLuint buffers[2]
Definition: gl4dg.c:97
gl4dgGenSpheref
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
ggrid2d_t::index_nb_rows
GLsizei index_nb_rows
Definition: gl4dg.c:139
program_t
Definition: gl4du.c:53
quit
static void quit(void)
Definition: gl4dfOp.c:165
list_t::data_size
size_t data_size
Definition: list.h:45
_mixMode
static GLuint _mixMode
Definition: gl4dfCanny.c:19
_mcmd_noise_H
static GLfloat _mcmd_noise_H[4]
Definition: gl4dfFractalPainting.c:37
gl4dm.inl
Fonctions de gestion de matrix (inline).
gl4duwMotionFunc
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
_hasManageEvents
static int _hasManageEvents
flag permettant de savoir si la lib gère les événements
Definition: gl4duw_SDL2.c:47
quit
static void quit(void)
Definition: gl4dfMedian.c:158
gl4duDeleteShader
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
_blurPId
static GLuint _blurPId
Definition: gl4dfBlur.c:19
_width
static GLuint _width
Definition: gl4dfBlur.c:19
gl4dhUpdateWithAudio
GL4DAPI void GL4DAPIENTRY gl4dhUpdateWithAudio(void)
met à jour parmi les animations passées en argument l'animation en cours.
Definition: gl4dhAnimeManager.c:132
fcommMatchTex
void fcommMatchTex(GLuint goal, GLuint orig)
Definition: gl4dfCommon.c:45
_list_t
Definition: list.h:31
btFind
pair_t btFind(bin_tree_t **tree, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:32
gl4dqMultiply
void gl4dqMultiply(const gl4dqQuaternion qa, const gl4dqQuaternion qb, gl4dqQuaternion r)
fonction de calcul de la multiplication de deux gl4dqQuaternions
Definition: gl4dq.c:27
program_t::shaders
shader_t ** shaders
Definition: gl4du.c:56
vector_t
Tableau dynamique (vecteur)
Definition: vector.h:32
gl4dpGetTextureId
GLuint gl4dpGetTextureId(void)
retourne l'identifiant (OpenGL) de la texture liée à l'écran en cours.
Definition: gl4dp.c:173
gl4dfConvTex2Tex
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
gl4duMakeBinRelativePath
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
MKFWINIT0
MKFWINIT0(plane, GLuint)
_aelist
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
_cannyPId
static GLuint _cannyPId[3]
Definition: gl4dfCanny.c:19
gl4dqMagnitude
float gl4dqMagnitude(gl4dqQuaternion q)
fonction qui calcule la norme d'un gl4dqQuaternion
Definition: gl4dq.c:35
ti
static struct timeval ti
Une variable de temps. A initialiser avec gl4dInitTime.
Definition: gl4dummies.c:229
gl4duwCatchSDL_EventFunc
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
shader_t::mod_time
time_t mod_time
Definition: gl4du.c:45
geom_t::type
geom_e type
Definition: gl4dg.c:92
_mcmd_I
static GLfloat _mcmd_I[4]
Definition: gl4dfFractalPainting.c:41
llMapNew
static ll_t ** llMapNew(GLushort mapWidth, GLushort mapHeight)
Definition: gl4dfFractalPainting.c:780
gl4dGetFps
double gl4dGetFps(void)
Calcule le FPS - Frames Per Second.
Definition: gl4dummies.c:262
gl4dQuit
void gl4dQuit(void)
se charge de desalouer la memoire eventuellement utilisee par gl4dummies
Definition: gl4dummies.c:58
gl4dfMCMDSetNoiseS
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseS(const GLfloat *mcmd_noise_S)
A documenter.
Definition: gl4dfFractalPainting.c:246
gl4dMCMDSetUseNoiseScaleMap
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
gl4dMCMDSetUseNoiseScaleMap
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
bin_tree.h
Fonctions de gestion d'arbres binaires.
gl4dfBlur
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
init
static void init(void)
Definition: gl4dfBlur.c:135
scatteringfinit
static void scatteringfinit(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Definition: gl4dfScattering.c:32
mv
GL4DAPI int GL4DAPIENTRY mv(const char *src, const char *dst)
Déplace un fichier.
Definition: gl4dummies.c:285
_focusedWindow
static window_t * _focusedWindow
la fenêtre window_t ayant le focus (
Definition: gl4duw_SDL2.c:41
gl4dfMCMDSetSubdivisionMethod
void gl4dfMCMDSetSubdivisionMethod(GLuint method)
Permet de modifier la méthode de subdivision utilisée : 0 Triangle-Edge, 1 Diamond-Square.
Definition: gl4dfFractalPainting.c:266
gl4duPerspectived
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
_GL4DUMatrix::name
char * name
Definition: gl4du.c:62
XTIME
#define XTIME(x)
Definition: aes.c:111
fheapDelete
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
getProcAddress
#define getProcAddress(name)
Definition: gl4dummies.c:41
GL4DMMatrix
Definition: gl4dm.h:365
GL4DF_CANNY_RESULT_RGB
@ GL4DF_CANNY_RESULT_RGB
Definition: gl4df.h:40
gstatic_t::buffer
GLuint buffer
Definition: gl4dg.c:105
GL4DF_OP_ADD
@ GL4DF_OP_ADD
Definition: gl4df.h:35
gl4daMapToSphere
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
fake_catchSDL_Event
static int fake_catchSDL_Event(SDL_Event *event)
fonction fictive liée au callback de catchSDL_Event.
Definition: gl4duw_SDL2.c:93
aes_context::nr
int nr
Definition: aes.h:45
gl4dfOp
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
mv
int mv(const char *src, const char *dst)
Déplace un fichier.
Definition: gl4dummies.c:285
_op0
static const GLuint _op0
Definition: gl4dfOp.c:18
_mdbu_version
static GLuint _mdbu_version
Definition: gl4dfFractalPainting.c:28
gl4dgGenCylinderf
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
gl4dhStartingSignal
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
gl4dp.h
Primitives de dessin 2D et de manipulation de couleurs.
shader_t::nprograms
int nprograms
Definition: gl4du.c:48
GL4DM_PI
#define GL4DM_PI
Definition: gl4dm.h:28
gl4duTranslatef
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
gl4dfMCMD_mdbuV1FS
static const char * gl4dfMCMD_mdbuV1FS
Definition: gl4dfFractalPainting.c:535
fixed_heap.h
gestion de tas d'éléments à taille fixe.
gl4duFrustumf
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
gl4duCleanUnattached
GL4DAPI void GL4DAPIENTRY gl4duCleanUnattached(GL4DUenum what)
supprime programs et/ou shaders non liés.
Definition: gl4du.c:626
llNew
GL4DAPI linked_list_t *GL4DAPIENTRY llNew(void)
Definition: linked_list.c:12
btDelete
GL4DAPI void GL4DAPIENTRY btDelete(bin_tree_t **ptr, void(GL4DAPIENTRY *freeData)(void *))
aes_decrypt
void aes_decrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block decryption (ECB mode)
Definition: aes.c:721
gl4dfOp
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
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.
Definition: aes.c:837
btLast
bin_tree_t ** btLast(bin_tree_t **ptr)
Definition: bin_tree.c:54
mkRegularGridTriangleIndices
static GL4Dvaoindex * mkRegularGridTriangleIndices(GLuint width, GLuint height)
Definition: gl4dg.c:687
gl4dgDraw
void gl4dgDraw(GLuint id)
Dessine un objet-géométrie dont l'identifiant (référence) est passé en argument.
Definition: gl4dg.c:451
gl4duwBindWindow
GLboolean gl4duwBindWindow(const char *title)
recherche et positionne "courant" une fenêtre en fonction de son titre.
Definition: gl4duw_SDL2.c:154
gl4dpCopyFromSDLSurfaceWithTransforms
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
gl4duDeleteProgram
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
gl4dfMCMD_mdLocalFS
static const char * gl4dfMCMD_mdLocalFS
Definition: gl4dfFractalPainting.c:406
gl4dmMatrixInverse
INLINE GL4DMMatrix gl4dmMatrixInverse(GL4DMMatrix mat)
Definition: gl4dm.inl:262
gl4dpGetPixels
GL4DAPI GLuint *GL4DAPIENTRY gl4dpGetPixels(void)
retourne le pointeur vers les pixels de l'écran courant.
Definition: gl4dp.c:188
gl4dfMedian
GL4DAPI void GL4DAPIENTRY gl4dfMedian(GLuint in, GLuint out, GLuint nb_iterations, GLboolean flipV)
Filtre 2D médian 3x3.
Definition: gl4dfMedian.c:22
GL4DH_FREE
@ GL4DH_FREE
Definition: gl4dhAnimeManager.h:24
gl4dm.h
macros et fonctions liées aux calculs mathématiques propres à l'utilisation de GL4Dummies.
mkTeapotVerticesf
static GLfloat * mkTeapotVerticesf(GLuint slices)
Definition: gl4dg.c:1078
llFree
static void llFree(ll_t **head)
Definition: gl4dfFractalPainting.c:770
bin_tree_t::rc
struct bin_tree_t * rc
Definition: bin_tree.h:30
list_set
GL4DAPI void GL4DAPIENTRY list_set(list_t list, void *el, size_t index)
Modifie un élément dans une liste.
Definition: list.c:151
gl4dpHLine
void gl4dpHLine(int x0, int x1, int y)
dessine un segment horizontal (x0, y) -> (x1, y).
Definition: gl4dp.c:354
gl4dfMCMD_mdbuV1FSOld
static const char * gl4dfMCMD_mdbuV1FSOld
Definition: gl4dfFractalPainting.c:618
gl4duLoadMatrixd
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixd(const GLdouble *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1309
GL4DU_GEOMETRY_SHADER
@ GL4DU_GEOMETRY_SHADER
Definition: gl4du.h:23
gl4duPerspectivef
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
gl4dpInitScreen
GLuint gl4dpInitScreen(void)
initialise (ou réinitialise) l'écran aux dimensions du viewport OpenGL, le lie à l'identifiant (OpenG...
Definition: gl4dp.c:111
gl4dfMCMDSetSkeletonizeRandThreshold
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetSkeletonizeRandThreshold(GLfloat rand_threshold)
A documenter.
Definition: gl4dfFractalPainting.c:258
_width
static GLuint _width
Definition: gl4dfScattering.c:16
gl4dmVectorXVector
INLINE GL4DMVector gl4dmVectorXVector(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:45
ggrid2d_t::height
GLuint height
Definition: gl4dg.c:136
_offsetV
static GLfloat _offsetV[BLUR_MAX_RADIUS<< 1]
Definition: gl4dfBlur.c:20
gl4duwDisplayFunc
void gl4duwDisplayFunc(void(*func)(void))
affecte la fonction appelée lors de l'affichage.
Definition: gl4duw_SDL2.c:205
gl4dfMCMDSetNoiseT
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoiseT(const GLfloat *mcmd_noise_T)
A documenter.
Definition: gl4dfFractalPainting.c:250
fheapDestroy
GL4DAPI void GL4DAPIENTRY fheapDestroy(size_t heap_id)
libère l'ensemble du tas et sa mémoire.
Definition: fixed_heap.c:90
gl4duInit
void gl4duInit(int argc, char **argv)
Initialise la bibliothèque.
Definition: gl4du.c:194
gl4dfOpSetOp
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
gl4dfConvSetFilter
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_new
list_t list_new(size_t data_size)
Créé une nouvelle liste.
Definition: list.c:18
vaetvient
void vaetvient(unsigned char *data, int len, int vaouvient)
Definition: aes.c:862
drawOrUpdateWithAudio
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
gl4duwIdleFunc
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
init
static void init(void)
Definition: gl4dfCommon.c:23
gl4dgGenTeapotf
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
fheapClean
GL4DAPI void GL4DAPIENTRY fheapClean(void)
libère tous les tas créés par cette bibliothèque.
Definition: fixed_heap.c:101
gl4dpInitScreenWithDimensions
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
gl4duGetMatrixData
void * gl4duGetMatrixData(void)
retourne le pointeur vers les données de la matrice (pile de "une matrice 4x4") courante.
Definition: gl4du.c:1678
sobelffunc
static void sobelffunc(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfSobel.c:88
_mixFactor
static GLfloat _mixFactor
Definition: gl4dfCanny.c:18
gl4duPushMatrix
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
MKFWINIT3(sobel, void, GLuint, GLuint, GLboolean)
gl4dfCannySetThresholds
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
bin_tree_t::next
struct bin_tree_t ** next
Definition: bin_tree.h:30
gl4dfMCMDDimensions
void gl4dfMCMDDimensions(GLuint width, GLuint height)
A documenter.
Definition: gl4dfFractalPainting.c:49
vector_insert
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
gl4duInit
GL4DAPI void GL4DAPIENTRY gl4duInit(int argc, char **argv)
Initialise la bibliothèque.
Definition: gl4du.c:194
_seed
static GLfloat _seed
Definition: gl4dfFractalPainting.c:34
gl4dmVector4Dot
INLINE float gl4dmVector4Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:101
gl4duTranslated
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
FT0
static uint32 FT0[256]
Definition: aes.c:87
gl4dfMCMDSetIr
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetIr(const GLfloat *mcmd_Ir)
A documenter.
Definition: gl4dfFractalPainting.c:234
gl4duLookAtd
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
gdisk_t::buffer
GLuint buffer
Definition: gl4dg.c:121
gl4dInitTime
void gl4dInitTime(void)
Initialise ti.
Definition: gl4dummies.c:233
uint32
#define uint32
Definition: aes.c:49
planefinit
static GLuint planefinit(void)
Definition: gl4dfCommon.c:69
gl4duPrintProgramInfoLog
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
fcvNormals
static void fcvNormals(GLfloat *p, GLfloat y, int i)
Definition: gl4dg.c:818
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.
Definition: aes.c:837
gl4dhInit
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
findPathOfMe
static void findPathOfMe(const char *argv0)
Definition: gl4du.c:131
gl4dmURand
double gl4dmURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [0, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:19
bin_tree_t::data
void * data
Definition: bin_tree.h:29
gl4duScaled
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
gl4dfSobel
void gl4dfSobel(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Sobel (détection des contours)
Definition: gl4dfSobel.c:27
aes_self_test
int aes_self_test(void)
Checkup routine.
Definition: aes.c:969
gl4dfMCMDSetSkeletonize
void gl4dfMCMDSetSkeletonize(GLboolean skeletonize)
A documenter.
Definition: gl4dfFractalPainting.c:230
gl4daTrack
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
manageEvents
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
gl4dfBlurSetWeightMapComponent
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
window_t
structure de données englobant le nom de la fenêtre, le pointeur vers sa structure SDL,...
Definition: gl4duw_SDL2.c:19
gl4dfMCMDSetNoisePhaseChange
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetNoisePhaseChange(const GLfloat *mcmd_noise_phase_change)
A documenter.
Definition: gl4dfFractalPainting.c:254
gl4dg.h
The GL4Dummies Geometry.
ccl
static void ccl(GLuint tex)
Definition: gl4dfCanny.c:93
gl4dfCommon.h
The GL4Dummies filters : éléments communs pour les fichiers gl4dfxxx.c.
_tempTexId
static GLuint _tempTexId[3]
Definition: gl4dfMedian.c:15
queuePut
static void queuePut(int i)
Definition: gl4dfCanny.c:406
GL4DF_SOBEL_MIX_ADD
@ GL4DF_SOBEL_MIX_ADD
Definition: gl4df.h:33
_lowTh
static GLfloat _lowTh
Definition: gl4dfCanny.c:18
gl4dmVector2Dot
INLINE float gl4dmVector2Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:93
gl4dfCannySetThresholds
void gl4dfCannySetThresholds(GLfloat lowTh, GLfloat highTh)
Fonction liée au filtre Canny. Modification des seuils : bas (lowTh) et haut (highTh).
Definition: gl4dfCanny.c:81
vector_t::data
void * data
Definition: vector.h:33
gl4dgDelete
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
updateScreenFromGPU
static void updateScreenFromGPU(void)
Definition: gl4dp.c:225
vector_erase
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
_mcmd_noise_phase_change
static GLfloat _mcmd_noise_phase_change[4]
Definition: gl4dfFractalPainting.c:40
gl4daArcball
Definition: gl4da.h:27
gl4dpCopyFromSDLSurfaceWithTransforms
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
R_MASK
#define R_MASK
masque pour la composante rouge
Definition: gl4dp.h:26
gl4dpSDLSurfaceToLuminanceMap
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
findMatrix
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
gl4duRotatef
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
gl4dmVector4Normalize
INLINE GL4DMVector gl4dmVector4Normalize(GL4DMVector vec)
Definition: gl4dm.inl:129
detachShader
static void detachShader(program_t *prg, shader_t *sh)
détache (délie) un program à un shader et vice versa.
Definition: gl4du.c:923
gl4dfCanny
void gl4dfCanny(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Canny (détection des contours)
Definition: gl4dfCanny.c:32
gl4dgGenGrid2df
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
gl4dqQuaternionToMatrix
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
gl4dMCMDSetUseExtrapolationMap
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
_mcmd_I_map_tex_id
static GLuint _mcmd_I_map_tex_id
Definition: gl4dfFractalPainting.c:31
gl4duMultMatrixf
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixf(const GLfloat *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1324
gl4duLoadIdentityd
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityd(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1277
bin_tree_t
Definition: bin_tree.h:28
mkRegularGridTriangleAdjacencyIndices
static GL4Dvaoindex * mkRegularGridTriangleAdjacencyIndices(GLuint width, GLuint height)
Definition: gl4dg.c:759
gl4duOrthof
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
G_MASK
#define G_MASK
masque pour la composante verte
Definition: gl4dp.h:28
gl4duRotatef
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
_sobelPId
static GLuint _sobelPId
Definition: gl4dfSobel.c:19
gl4duwMotionFunc
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
_heap
static fheap_t _heap
Definition: fixed_heap.c:26
scatteringffunc
static void scatteringffunc(GLuint in, GLuint out, GLuint radius, GLuint displacementmap, GLuint weightmap, GLboolean flipV)
Definition: gl4dfScattering.c:38
gl4duAtExit
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
gl4dpMap
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
list_new
GL4DAPI list_t GL4DAPIENTRY list_new(size_t data_size)
Créé une nouvelle liste.
Definition: list.c:18
gl4duLoadIdentityf
void gl4duLoadIdentityf(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1262
gl4dgGenQuadf
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
@ GL4DU_GEOMETRY
Definition: gl4du.h:38
_GL4DUMatrix::top
GLuint top
Definition: gl4du.c:66
gl4duwEnableManageEvents
GL4DAPI void GL4DAPIENTRY gl4duwEnableManageEvents(void)
Definition: gl4duw_SDL2.c:213
_mixFactor
static GLfloat _mixFactor
Definition: gl4dfSobel.c:18
_pop
static size_t _pop(size_t *stack, size_t *head)
Definition: fixed_heap.c:150
list_t
Liste chaînée dynamique.
Definition: list.h:42
GE_QUAD
@ GE_QUAD
Definition: gl4dg.c:79
ll_t::next
struct ll_t * next
Definition: gl4dfFractalPainting.c:748
GL4DM_EPSILON
#define GL4DM_EPSILON
Definition: gl4dm.h:37
gl4dpGetHeight
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetHeight(void)
retourne la hauteur de l'écran.
Definition: gl4dp.c:183
gl4dgGenGrid2df
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
linked_list_t::tail
struct llnode_t ** tail
Definition: linked_list.h:36
gl4duCleanUnattached
void gl4duCleanUnattached(GL4DUenum what)
supprime programs et/ou shaders non liés.
Definition: gl4du.c:626
_mcmd_NS_map_tex_id
static GLuint _mcmd_NS_map_tex_id
Definition: gl4dfFractalPainting.c:32
aes_context::erk
unsigned long erk[64]
Definition: aes.h:43
gl4duLookAtf_DNW
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
getET
static double(* getET)(void)
Definition: gl4dummies.c:191
gl4duFrustumd
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
vector_delete
void vector_delete(vector_t vector)
Détruit un objet de type vector_t.
Definition: vector.c:36
btFirst
bin_tree_t ** btFirst(bin_tree_t **ptr)
Definition: bin_tree.c:45
shader_t::filename
char * filename
Definition: gl4du.c:44
_empty
static int _empty(size_t head)
Definition: fixed_heap.c:154
GL4DF_CANNY_RESULT_INV_RGB
@ GL4DF_CANNY_RESULT_INV_RGB
Definition: gl4df.h:41
geom_e
geom_e
Definition: gl4dg.c:76
_buTreeHeight
static GLuint _buTreeHeight
Definition: gl4dfFractalPainting.c:29
freeGeom
static void freeGeom(void *data)
Definition: gl4dg.c:531
GE_FAN_CONE
@ GE_FAN_CONE
Definition: gl4dg.c:82
gl4dpSetScreen
GL4DAPI int GL4DAPIENTRY gl4dpSetScreen(GLuint id)
active comme écran courant l'écran dont l'id est passé en argument.
Definition: gl4dp.c:145
gl4dfBlurSetWeightMapScale
GL4DAPI void GL4DAPIENTRY gl4dfBlurSetWeightMapScale(GLfloat weightMapScale)
Indique le scale de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:36
GE_SPHERE
@ GE_SPHERE
Definition: gl4dg.c:78
blurfinit
static void blurfinit(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Definition: gl4dfBlur.c:45
gl4df.h
The GL4Dummies filters : filtres de rendu de la bibliothèque GL4Dummies.
fheap_t::heap
char * heap
Definition: fixed_heap.c:16
aes_gen_tables
static void aes_gen_tables(void)
Definition: aes.c:114
FT2
static uint32 FT2[256]
Definition: aes.c:89
btFind
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
gl4duLoadMatrixf
GL4DAPI void GL4DAPIENTRY gl4duLoadMatrixf(const GLfloat *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1294
llPush
GL4DAPI void GL4DAPIENTRY llPush(linked_list_t *ll, void *data)
Definition: linked_list.c:28
gl4dgGenCylinderf
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
_mixMode
static GLuint _mixMode
Definition: gl4dfSobel.c:19
gl4duLookAtd
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
@ GL4DU_VERTEX_SHADER
Definition: gl4du.h:21
MIDENTITY
#define MIDENTITY(m)
Chargement d'une matrice identitéé dans m.
Definition: gl4dm.h:338
gl4dfMCMDChangeSeed
GL4DAPI void GL4DAPIENTRY gl4dfMCMDChangeSeed(GLboolean change_seed)
A documenter.
Definition: gl4dfFractalPainting.c:226
gl4dGetFps
GL4DAPI double GL4DAPIENTRY gl4dGetFps(void)
Calcule le FPS - Frames Per Second.
Definition: gl4dummies.c:262
setParentDataY
static void setParentDataY(GLubyte *parentData, GLushort value, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:809
GL4DF_SOBEL_RESULT_INV_RGB
@ GL4DF_SOBEL_RESULT_INV_RGB
Definition: gl4df.h:29
mkStaticf
static GLuint mkStaticf(geom_e type)
Definition: gl4dg.c:593
gl4dfBlurSetWeightMapTranslate
GL4DAPI void GL4DAPIENTRY gl4dfBlurSetWeightMapTranslate(GLfloat weightMapTranslate)
Indique la translation de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:32
gl4daArcball::radius
float radius
Definition: gl4da.h:29
llInsertAt
void llInsertAt(llnode_t **here, void *data)
Definition: linked_list.c:55
gl4dgGenFanConef
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
gl4dqComputeScalaire
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
@ GL4DH_DRAW
Definition: gl4dhAnimeManager.h:23
_pId
static GLuint _pId
identifiant du programme GLSL
Definition: gl4dp.c:36
fheapGet
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
gl4daInit
void gl4daInit(gl4daArcball *a, int x, int y)
fonction qui initialise la position de l'arcball
Definition: gl4da.c:37
_size
static int _size
Definition: gl4dfCanny.c:387
fcommMatchTex
void fcommMatchTex(GLuint goal, GLuint orig)
Definition: gl4dfCommon.c:45
newWindow
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
aes.h
Utilisée pour décrypter des shaders données en archive cryptée AES.
gl4duLookAtf
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
gl4dmVector2Normalize
INLINE GL4DMVector gl4dmVector2Normalize(GL4DMVector vec)
Definition: gl4dm.inl:105
gl4dExtractFromDecData
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
gl4dfConvSetFilter
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
gl4duLoadMatrixf
void gl4duLoadMatrixf(const GLfloat *matrix)
Chargement d'une matrice matrix dans la matrice en cours.
Definition: gl4du.c:1294
geom_t::vao
GLuint vao
Definition: gl4dg.c:91
shader_t::todelete
unsigned todelete
Definition: gl4du.c:47
gl4dMCMDSetUseRoughnessMap
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
gl4duOrthod
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
gl4duPrintShaderInfoLog
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
gl4dfConvTex2Frame
GL4DAPI void GL4DAPIENTRY gl4dfConvTex2Frame(GLuint in)
Envoie une texture identifiée par in vers le framebuffer actif (ou écran).
Definition: gl4dfConversion.c:50
mkTorusVerticesf
static GLfloat * mkTorusVerticesf(GLuint slices, GLuint stacks, GLfloat radius)
Definition: gl4dg.c:937
fheap_t::nmem
size_t nmem
Definition: fixed_heap.c:15
window_t::passivemousemotion
void(* passivemousemotion)(int x, int y)
Definition: gl4duw_SDL2.c:28
_scatteringPId
static GLuint _scatteringPId
Definition: gl4dfScattering.c:16
ll_t::x
GLushort x
Definition: gl4dfFractalPainting.c:747
newGL4DUMatrix
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
MPERSPECTIVE
#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
gl4dgDraw
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
gl4duFrustumd
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
drawTex
static void drawTex(GLuint tId, const GLfloat scale[2], const GLfloat translate[2])
Definition: gl4dp.c:557
gl4dExtensionSupported
GL4DAPI int GL4DAPIENTRY gl4dExtensionSupported(const char *extension)
recherche une extension dans glGetString(GL_EXTENSIONS)
Definition: gl4dummies.c:50
gl4dgGenDiskf
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
gl4dh.h
Bibliothèque demoHelper.
gl4dfMCMDSetSkeletonize
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetSkeletonize(GLboolean skeletonize)
A documenter.
Definition: gl4dfFractalPainting.c:230
_height
static GLuint _height
Definition: gl4dfFractalPainting.c:30
gl4dgGenSpheref
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
gl4dfConvTex2Frame
void gl4dfConvTex2Frame(GLuint in)
Envoie une texture identifiée par in vers le framebuffer actif (ou écran).
Definition: gl4dfConversion.c:50
gl4daTrack
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
gl4dqNormalize
void gl4dqNormalize(gl4dqQuaternion q)
fonction qui transforme un gl4dqQuaternion en un gl4dqQuaternion unitaire
Definition: gl4dq.c:39
FT1
static uint32 FT1[256]
Definition: aes.c:88
vector_set
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
gl4dmSURand
GL4DAPI double GL4DAPIENTRY gl4dmSURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:28
gl4duPrintProgramInfoLog
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
FT3
static uint32 FT3[256]
Definition: aes.c:90
gl4duwPassiveMotionFunc
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
_tempTexId
static GLuint _tempTexId[5]
Definition: gl4dfCanny.c:19
mkSphereVerticesf
static GLfloat * mkSphereVerticesf(GLuint slices, GLuint stacks)
Definition: gl4dg.c:663
gcone_t::base
GLboolean base
Definition: gl4dg.c:111
_hasInit
static int _hasInit
Definition: gl4dg.c:150
gl4duwMouseFunc
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
gl4daArcball::position
float position[3]
Definition: gl4da.h:30
aes_self_test
int aes_self_test(void)
Checkup routine.
Definition: aes.c:969
GL4DU_SHADER
@ GL4DU_SHADER
Definition: gl4du.h:35
fcvbNormals
static void fcvbNormals(GLfloat *p, GLfloat y, int i)
Definition: gl4dg.c:825
AES_FROUND
#define AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3)
fake_passivemousemotion
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
_newheap
static fheap_t _newheap(size_t nmem, size_t size)
Definition: fixed_heap.c:118
gl4duSendMatrices
void gl4duSendMatrices(void)
envoie toutes matrices au program shader en cours et en utilisant leurs noms pour obtenir le uniform ...
Definition: gl4du.c:1161
add
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
@ GE_CONE
Definition: gl4dg.c:81
gl4duScaled
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
llNext
llnode_t ** llNext(llnode_t **node)
Definition: linked_list.c:84
gtorus_t::buffers
GLuint buffers[2]
Definition: gl4dg.c:126
gl4dpDeleteScreen
GL4DAPI void GL4DAPIENTRY gl4dpDeleteScreen(void)
supprime l'écran et se repositionne sur le premier
Definition: gl4dp.c:157
_tempTexId
static GLuint _tempTexId[3]
Definition: gl4dfOp.c:19
gl4duwDisableManageEvents
GL4DAPI void GL4DAPIENTRY gl4duwDisableManageEvents(void)
Definition: gl4duw_SDL2.c:217
gl4dfConvFrame2Tex
GL4DAPI void GL4DAPIENTRY gl4dfConvFrame2Tex(GLuint *out)
Envoie le framebuffer actif (ou l'écran) vers une texture.
Definition: gl4dfConversion.c:21
gl4dfScatteringChange
void gl4dfScatteringChange(void)
Force le changement de la carte de mélange (éparpillement) utilisée.
Definition: gl4dfScattering.c:28
vector_new
GL4DAPI vector_t GL4DAPIENTRY vector_new(size_t data_size)
Créé un nouvel objet vector_t.
Definition: vector.c:18
gl4dMCMDSetUseInterpolationMap
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
gl4duTranslatef
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
gl4dpCopyFromSDLSurface
void gl4dpCopyFromSDLSurface(SDL_Surface *s)
copie la surface SDL vers l'écran en cours en prenant 100% de l'écran.
Definition: gl4dp.c:462
_highTh
static GLfloat _highTh
Definition: gl4dfCanny.c:18
vector_t::limit_size
size_t limit_size
Definition: vector.h:36
gl4duwIdleFunc
void gl4duwIdleFunc(void(*func)(void))
affecte la fonction appelée lors de l'idle (calcul/simulation avant affichage).
Definition: gl4duw_SDL2.c:201
quit
static void quit(void)
Definition: gl4dfCanny.c:376
gl4dpGetPixels
GLuint * gl4dpGetPixels(void)
retourne le pointeur vers les pixels de l'écran courant.
Definition: gl4dp.c:188
addInShadersList
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
_pId
static GLuint _pId
Definition: gl4dfConversion.c:19
gl4dhDraw
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
pair_t
Definition: bin_tree.h:22
screen_node_t::isCPUToDate
GLuint isCPUToDate
Definition: gl4dp.c:26
gl4duwMainLoop
void gl4duwMainLoop(void)
boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:166
llEnd
GL4DAPI llnode_t **GL4DAPIENTRY llEnd(linked_list_t *ll)
Definition: linked_list.c:92
_isInvert
static GLboolean _isInvert
Definition: gl4dfCanny.c:20
getParentDataX
static GLushort getParentDataX(GLubyte *parentData, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:793
_subdivision_func
static void(* _subdivision_func[])(GLubyte *, GLubyte *, ll_t **, GLushort, GLushort, int, int, int, int, int, int)
Definition: gl4dfFractalPainting.c:951
mkGrid2dNormalsf
static void mkGrid2dNormalsf(GLuint width, GLuint height, GLfloat *data)
Definition: gl4dg.c:999
gl4duPrintShaderInfoLog
void gl4duPrintShaderInfoLog(GLuint object, FILE *fp)
imprime s'il existe l'infoLog de la compilation du Shader object dans fp.
Definition: gl4du.c:218
deleteFromProgramsList
static void deleteFromProgramsList(program_t **pp)
supprime le program pointé par pp de la liste des programs programs_list.
Definition: gl4du.c:889
gl4dpClearScreen
void gl4dpClearScreen(void)
Efface l'écran en mettant 0.
Definition: gl4dp.c:193
hurst
static GLfloat hurst(GLfloat d, GLfloat H)
Definition: gl4dm.c:75
gl4duHasInit
GL4DAPI int GL4DAPIENTRY gl4duHasInit(void)
indique si la bibliothèque a été initialisée
Definition: gl4du.c:201
gl4dmPrintVector
INLINE void gl4dmPrintVector(GL4DMVector vec)
Definition: gl4dm.inl:426
list_erase
void list_erase(list_t *list, size_t index)
Supprime un élément d’une liste.
Definition: list.c:117
gl4duPopMatrix
void gl4duPopMatrix(void)
dépile la matrice courante en restaurant l'état précédemment sauvegardé à l'aide de gl4duPushMatrix.
Definition: gl4du.c:1121
_garray
static geom_t * _garray
Definition: gl4dg.c:147
gl4dfMCMDSetNoiseT
void gl4dfMCMDSetNoiseT(const GLfloat *mcmd_noise_T)
A documenter.
Definition: gl4dfFractalPainting.c:250
gl4dMCMDSetUseNoiseTranslateMap
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
getParentDataY
static GLushort getParentDataY(GLubyte *parentData, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:798
gl4dhDraw
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
GL4DMVector::y
float y
Definition: gl4dm.h:362
_medianPId
static GLuint _medianPId
Definition: gl4dfMedian.c:15
setParentDataX
static void setParentDataX(GLubyte *parentData, GLushort value, GLushort mapWidth, int x, int y, int i)
Definition: gl4dfFractalPainting.c:803
GL4DF_SOBEL_RESULT_INV_LUMINANCE
@ GL4DF_SOBEL_RESULT_INV_LUMINANCE
Definition: gl4df.h:31
aes_encrypt
void aes_encrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block encryption (ECB mode)
Definition: aes.c:630
list_delete
GL4DAPI void GL4DAPIENTRY list_delete(list_t list)
Détruit une liste.
Definition: list.c:43
gl4dhGetTicks
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
MKFWINIT3(canny, void, GLuint, GLuint, GLboolean)
vaetvient
void vaetvient(unsigned char *data, int len, int vaouvient)
Definition: aes.c:862
MORTHO
#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
_gl4duMatrices
static bin_tree_t * _gl4duMatrices
arbre binaire contenant l'ensemble des matrices _GL4DUMatrix gérées.
Definition: gl4du.c:82
gl4dgGenTorusf
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
gl4dMCMDSetUseExtrapolationMap
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
gl4dGetElapsedTime
double gl4dGetElapsedTime(void)
Donne le temps ecoule en millisecondes depuis t0.
Definition: gl4dummies.c:220
mkFanConeVerticesf
static GLfloat * mkFanConeVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:890
window_t::window
SDL_Window * window
Definition: gl4duw_SDL2.c:21
gl4daResize
void gl4daResize(gl4daArcball *a, int w, int h)
fonction à appeler au resize de la fenêtre
Definition: gl4da.c:31
gl4dMCMDSetUseNoiseTranslateMap
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
fake_keydown
static void fake_keydown(int keycode)
fonction fictive liée au callback de touche clavier enfoncée.
Definition: gl4duw_SDL2.c:64
mkRegularGridStripsAdjacencyIndices
static GL4Dvaoindex * mkRegularGridStripsAdjacencyIndices(GLuint width, GLuint height)
Definition: gl4dg.c:793
gl4dfScattering
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
gl4duwEnableManageEvents
void gl4duwEnableManageEvents(void)
Definition: gl4duw_SDL2.c:213
_geometry_optimization_level
static GLuint _geometry_optimization_level
Definition: gl4dg.c:151
gl4dfMCMDSetMDBUVersion
void gl4dfMCMDSetMDBUVersion(GLuint version)
A documenter.
Definition: gl4dfFractalPainting.c:262
diamondSquare
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
GL4DAPIENTRY
#define GL4DAPIENTRY
Definition: gl4dummies.h:87
window_t::idle
void(* idle)(void)
Definition: gl4duw_SDL2.c:29
window_t::name
char * name
Definition: gl4duw_SDL2.c:20
_pathOfMe
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
gl4duwGetSDL_Window
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
gl4duScalef
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
_GL4DUMatrix
structure de données pour une pile de "une matrice 4x4".
Definition: gl4du.c:61
gl4dhInit
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
_maxLevel
static int _maxLevel
Definition: gl4dfFractalPainting.c:33
fheapGet
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
RT2
static uint32 RT2[256]
Definition: aes.c:98
gl4dfMCMDSetMDBUVersion
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetMDBUVersion(GLuint version)
A documenter.
Definition: gl4dfFractalPainting.c:262
llDelete
GL4DAPI void GL4DAPIENTRY llDelete(linked_list_t *ll, llnode_t **node, void(__cdecl *freeData)(void *))
gl4dpClearScreenWith
GL4DAPI void GL4DAPIENTRY gl4dpClearScreenWith(Uint32 color)
Efface l'écran en y mettant la valeur color.
Definition: gl4dp.c:201
gl4dmGRand
GL4DAPI double GL4DAPIENTRY gl4dmGRand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle ]-7, +7[. Ici la distribution est Gaussienne.
Definition: gl4dm.c:43
vector_get
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
genId
static GLuint genId(void)
Definition: gl4dg.c:576
gl4dfMCMD_mdFS
static const char * gl4dfMCMD_mdFS
Definition: gl4dfFractalPainting.c:349
RT0
static uint32 RT0[256]
Definition: aes.c:96
fheap_t::stack
size_t * stack
Definition: fixed_heap.c:17
getElapsedTime_sub2
static double getElapsedTime_sub2(void)
Definition: gl4dummies.c:199
aes_encrypt
void aes_encrypt(aes_context *ctx, unsigned char input[16], unsigned char output[16])
AES block encryption (ECB mode)
Definition: aes.c:630
llFree
GL4DAPI void GL4DAPIENTRY llFree(linked_list_t *ll, void(*freeData)(void *))
Definition: linked_list.c:96
gl4dfScatteringChange
GL4DAPI void GL4DAPIENTRY gl4dfScatteringChange(void)
Force le changement de la carte de mélange (éparpillement) utilisée.
Definition: gl4dfScattering.c:28
gl4duDeleteMatrix
GLboolean gl4duDeleteMatrix(const char *name)
supprime la matrice liée au nom name passé en argument.
Definition: gl4du.c:1089
program_t::nshaders
int nshaders
Definition: gl4du.c:55
gl4duIsMatrix
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
program_t::id
GLuint id
Definition: gl4du.c:54
gl4dpScreenHasChanged
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
fheap_t::head
size_t head
Definition: fixed_heap.c:17
gl4duRotated
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
quit
static void quit(void)
Definition: gl4dfBlur.c:208
gl4da.h
fonctions de manipulation du repère caméra
gl4duwResizeFunc
GL4DAPI void GL4DAPIENTRY gl4duwResizeFunc(void(*func)(int width, int height))
affecte la fonction appelée lors du resize.
Definition: gl4duw_SDL2.c:177
mkGrid2dVerticesf
static GLfloat * mkGrid2dVerticesf(GLuint width, GLuint height, GLfloat *heightmap)
Definition: gl4dg.c:967
_h
static int _h
Definition: gl4dhAnimeManager.c:32
GL4DF_SOBEL_MIX_NONE
@ GL4DF_SOBEL_MIX_NONE
Definition: gl4df.h:32
pair_t::compResult
int compResult
Definition: bin_tree.h:24
gl4dmMatrixScale
INLINE GL4DMMatrix gl4dmMatrixScale(float x, float y, float z)
Definition: gl4dm.inl:188
gl4dfMedian
void gl4dfMedian(GLuint in, GLuint out, GLuint nb_iterations, GLboolean flipV)
Filtre 2D médian 3x3.
Definition: gl4dfMedian.c:22
aes_set_key
void aes_set_key(aes_context *ctx, unsigned char *key, int keysize)
AES key schedule.
freeGL4DUMatrix
static void freeGL4DUMatrix(void *matrix)
libère la pile de "une matrice 4x4".
Definition: gl4du.c:968
gl4duSendMatrix
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
program_t * next
Definition: gl4du.c:57
gsphere_t::slices
GLuint slices
Definition: gl4dg.c:98
list_t::begin
struct _list_t * begin
Definition: list.h:43
fheapClean
void fheapClean(void)
libère tous les tas créés par cette bibliothèque.
Definition: fixed_heap.c:101
gl4duCreateShaderIM
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
gl4duSendMatrices
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
fake_mousemotion
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
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.
Definition: aes.c:812
fheapDelete
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
_quadId
static GLuint _quadId
identifiant de la géométrie QUAD GL4Dummies
Definition: gl4dp.c:39
gl4duwGetSDL_Window
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
gcone_t::slices
GLuint slices
Definition: gl4dg.c:110
_GL4DUMatrix::nmemb
size_t nmemb
Definition: gl4du.c:65
UNDEFINED_CHILD
#define UNDEFINED_CHILD
Definition: gl4dfFractalPainting.c:731
gl4dfMCMD
void gl4dfMCMD(GLuint in, GLuint out, GLboolean flipV)
A documenter.
Definition: gl4dfFractalPainting.c:45
_weightMapComponent
static GLuint _weightMapComponent
Definition: gl4dfBlur.c:19
gl4duUpdateShaders
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
gl4duCreateShaderIM
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
btLast
GL4DAPI bin_tree_t **GL4DAPIENTRY btLast(bin_tree_t **ptr)
Definition: bin_tree.c:54
programs_list
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
llnode_t
Definition: linked_list.h:29
DISK_FAN
#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
gl4duPerspectived
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
gl4duFindShader
GLuint gl4duFindShader(const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:330
gcylinder_t::slices
GLuint slices
Definition: gl4dg.c:116
_glMinorVersion
static int _glMinorVersion
Definition: gl4duw_SDL2.c:43
gdisk_t::slices
GLuint slices
Definition: gl4dg.c:122
init
static void init(void)
Definition: gl4dfCanny.c:256
geom_t::id
GLuint id
Definition: gl4dg.c:91
quit
static void quit(void)
Definition: gl4dfScattering.c:197
_filter
static GLenum _filter
Definition: gl4dfConversion.c:18
window_t::catchSDL_Event
int(* catchSDL_Event)(SDL_Event *event)
Definition: gl4duw_SDL2.c:31
fheapCreate
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
gl4duwGetWindowSize
void gl4duwGetWindowSize(int *w, int *h)
récupère la largeur et la hauteur de la fenêtre courante.
Definition: gl4duw_SDL2.c:312
_height
static GLuint _height
Definition: gl4dfScattering.c:16
gl4dhAnimeManager.h
Bibliothèque de gestion des écrans d'animation et de mises à jour en fonction du son.
gl4droid.h
Fonctionnalités spécifiques au système Android.
_GL4DUMatrix::type
GLenum type
Definition: gl4du.c:63
_list_t::next
struct _list_t * next
Definition: list.h:33
gl4dfMCMDSetIr
void gl4dfMCMDSetIr(const GLfloat *mcmd_Ir)
A documenter.
Definition: gl4dfFractalPainting.c:234
gl4dfMCMD_select4mcmdFS
static const char * gl4dfMCMD_select4mcmdFS
Definition: gl4dfFractalPainting.c:302
gl4dfCannySetResultMode
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
_glMajorVersion
static int _glMajorVersion
les paramètres par défaut du contexte OpenGL
Definition: gl4duw_SDL2.c:43
GL4DU_AT_EXIT
@ GL4DU_AT_EXIT
Definition: gl4du.h:40
GL4DF_CANNY_MIX_MULT
@ GL4DF_CANNY_MIX_MULT
Definition: gl4df.h:46
gl4duMultMatrixByName
void gl4duMultMatrixByName(const char *name)
Multiplication de la matrice en cours par une des matrices connues dans GL4Dummies....
Definition: gl4du.c:1360
gl4dmPrintMatrix
INLINE void gl4dmPrintMatrix(GL4DMMatrix mat)
Definition: gl4dm.inl:430
shader_t::verify_timestamp
GLboolean verify_timestamp
Definition: gl4du.c:46
gl4duPrintFPS
void gl4duPrintFPS(FILE *fp)
imprime dans le fichier pointé par fp le Frame-Per-Second.
Definition: gl4du.c:252
vector_delete
GL4DAPI void GL4DAPIENTRY vector_delete(vector_t vector)
Détruit un objet de type vector_t.
Definition: vector.c:36
PUT_UINT32_BE
#define PUT_UINT32_BE(n, b, i)
Definition: aes.c:65
gl4duwMainLoop
GL4DAPI void GL4DAPIENTRY gl4duwMainLoop(void)
boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:166
ggrid2d_t::index_row_count
GLsizei index_row_count
Definition: gl4dg.c:138
gl4dfSobel
GL4DAPI void GL4DAPIENTRY gl4dfSobel(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Sobel (détection des contours)
Definition: gl4dfSobel.c:27
MKFWINIT4
MKFWINIT4(op, void, GLuint, GLuint, GLuint, GLboolean)
gl4dgInit
void gl4dgInit(void)
Initialise les structures nécessaire au stockage des géométries proposées par GL4Dummies....
Definition: gl4dg.c:174
screen_node_t::next
struct screen_node_t * next
Definition: gl4dp.c:27
ll_t
Definition: gl4dfFractalPainting.c:746
gl4dfSobelSetMixFactor
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
DRAW_WITH_GEOMETRY_OPTIMIZATION
#define DRAW_WITH_GEOMETRY_OPTIMIZATION(geom)
dessine un element-array selon la topologie de l'objet.
Definition: gl4dg.c:57
MAX
#define MAX(a, b)
Definition: gl4dm.h:58
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.
Definition: aes.c:812
fake_display
static void fake_display(void)
fonction fictive liée au callback de display.
Definition: gl4duw_SDL2.c:91
gl4dInitTime0
void gl4dInitTime0(void)
Initialise t0.
Definition: gl4dummies.c:210
gl4dgGenGrid2dFromHeightMapf
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
quit
static void quit(void)
Definition: gl4dfSobel.c:222
SELECT_GEOMETRY_OPTIMIZATION
#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
gl4dmMatrixOrtho
INLINE GL4DMMatrix gl4dmMatrixOrtho(float left, float right, float bottom, float top, float nearVal, float farVal)
Definition: gl4dm.inl:246
gl4dQuit
GL4DAPI void GL4DAPIENTRY gl4dQuit(void)
se charge de desalouer la memoire eventuellement utilisee par gl4dummies
Definition: gl4dummies.c:58
fheap_t::size
size_t size
Definition: fixed_heap.c:15
GL4DHstate
GL4DHstate
Definition: gl4dhAnimeManager.h:20
llnode_t::next
struct llnode_t * next
Definition: linked_list.h:31
_fbo
static GLuint _fbo
identifiant du framebuffer utilisé pour dessiner les animations
Definition: gl4dhAnimeManager.c:25
gl4dpHLine
GL4DAPI void GL4DAPIENTRY gl4dpHLine(int x0, int x1, int y)
dessine un segment horizontal (x0, y) -> (x1, y).
Definition: gl4dp.c:354
pathOf
char * pathOf(const char *path)
Renvoie le chemin vers le dossier contenant le fichier passé en argument.
Definition: gl4dummies.c:319
triangleNormalf
static void triangleNormalf(GLfloat *out, GLfloat *p0, GLfloat *p1, GLfloat *p2)
Definition: gl4dg.c:1191
medianfinit
static void medianfinit(GLuint in, GLuint out, GLuint nb_iterations, GLboolean flipV)
Definition: gl4dfMedian.c:27
gl4duwDisplayFunc
GL4DAPI void GL4DAPIENTRY gl4duwDisplayFunc(void(*func)(void))
affecte la fonction appelée lors de l'affichage.
Definition: gl4duw_SDL2.c:205
gl4duSendMatrix
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
gdisk_t
Definition: gl4dg.c:120
llNext
GL4DAPI llnode_t **GL4DAPIENTRY llNext(llnode_t **node)
Definition: linked_list.c:84
_lastWindown
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
getElapsedTime_sub1
static double getElapsedTime_sub1(void)
Definition: gl4dummies.c:193
gl4dqCreatePurFromPoint
void gl4dqCreatePurFromPoint(float *in, gl4dqQuaternion r)
fonction qui créé un gl4dqQuaternion pur à partir d'un vecteur
Definition: gl4dq.c:50
_maxi
static int _maxi(int a, int b)
Definition: gl4dg.c:1203
gl4dfMCMDTakeColor
GL4DAPI void GL4DAPIENTRY gl4dfMCMDTakeColor(GLboolean mcmd_take_color)
A documenter.
Definition: gl4dfFractalPainting.c:222
filenameOf
GL4DAPI char *GL4DAPIENTRY filenameOf(const char *path)
Renvoie le nom de fichier sans le chemin.
Definition: gl4dummies.c:346
gl4dfBlurSetWeightMapComponent
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
gl4duLoadIdentityf
GL4DAPI void GL4DAPIENTRY gl4duLoadIdentityf(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1262
gl4dpDeleteScreen
void gl4dpDeleteScreen(void)
supprime l'écran et se repositionne sur le premier
Definition: gl4dp.c:157
_weightMapScale
static GLfloat _weightMapScale
Definition: gl4dfBlur.c:20
shader_t
Definition: gl4du.c:41
gcylinder_t::base
GLboolean base
Definition: gl4dg.c:117
INLINE
#define INLINE
Definition: gl4dummies.h:50
GET_UINT32_BE
#define GET_UINT32_BE(n, b, i)
Definition: aes.c:56
screen_node_t::tId
GLuint tId
Definition: gl4dp.c:26
aes_context::drk
unsigned long drk[64]
Definition: aes.h:44
GL4DMVector::z
float z
Definition: gl4dm.h:362
btNext
bin_tree_t ** btNext(bin_tree_t **ptr)
Definition: bin_tree.c:100
windowCmpFunc
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
@ GL4DU_MATRIX_TYPE
Definition: gl4du.h:25
_offsetH
static GLfloat _offsetH[BLUR_MAX_RADIUS<< 1]
Definition: gl4dfBlur.c:20
addInShadersListFED
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
gl4duPerspectivef
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
gl4dqCreatePurFromPoint
void gl4dqCreatePurFromPoint(float *v, gl4dqQuaternion qr)
fonction qui créé un gl4dqQuaternion pur à partir d'un vecteur
Definition: gl4dq.c:50
ROTR8
#define ROTR8(x)
Definition: aes.c:109
fake_idle
static void fake_idle(void)
fonction fictive liée au callback de l'état idle de la fenêtre.
Definition: gl4duw_SDL2.c:89
aes_from_tar
char * aes_from_tar(const char *file)
Definition: aes.c:899
_pathOfMeInit
static int _pathOfMeInit
Definition: gl4du.c:114
matrixCmpFunc
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
gl4dpPutPixel
void gl4dpPutPixel(int x, int y)
met la couleur en cours à la coordonnée (x, y)
Definition: gl4dp.c:218
blurffunc
static void blurffunc(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Definition: gl4dfBlur.c:52
fake_keyup
static void fake_keyup(int keycode)
fonction fictive liée au callback de touche clavier relachée.
Definition: gl4duw_SDL2.c:68
gl4dpGetPixel
Uint32 gl4dpGetPixel(int x, int y)
renvoie la couleur à la coordonnée (x, y)
Definition: gl4dp.c:211
btFirst
GL4DAPI bin_tree_t **GL4DAPIENTRY btFirst(bin_tree_t **ptr)
Definition: bin_tree.c:45
btForAll
GL4DAPI void GL4DAPIENTRY btForAll(bin_tree_t *ptr, void(*todo)(void *, void **), void **ldata)
Definition: bin_tree.c:113
MKFWINIT6
MKFWINIT6(scattering, void, GLuint, GLuint, GLuint, GLuint, GLuint, GLboolean)
findInProgramsList
static program_t ** findInProgramsList(GLuint id)
recherche un program à partir de son identifiant openGL dans la liste programs_list.
Definition: gl4du.c:858
list_t::size
size_t size
Definition: list.h:44
GL4DU_FRAGMENT_SHADER
@ GL4DU_FRAGMENT_SHADER
Definition: gl4du.h:22
ggrid2d_t
Definition: gl4dg.c:134
initGL4DUW
static int initGL4DUW(int argc, char **argv)
initialise SDL et GL4Dummies.
Definition: gl4duw_SDL2.c:227
_mcmd_H_map_tex_id
static GLuint _mcmd_H_map_tex_id
Definition: gl4dfFractalPainting.c:31
gl4dpInitScreen
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
gl4dhUpdateWithAudio
void gl4dhUpdateWithAudio(void)
met à jour parmi les animations passées en argument l'animation en cours.
Definition: gl4dhAnimeManager.c:132
queueEmpty
static int queueEmpty(void)
Definition: gl4dfCanny.c:412
GE_DISK
@ GE_DISK
Definition: gl4dg.c:84
gcone_t::buffer
GLuint buffer
Definition: gl4dg.c:109
gtorus_t::stacks
GLuint stacks
Definition: gl4dg.c:127
_startingTime
static Uint32 _startingTime
Definition: gl4dhAnimeManager.c:17
GE_TORUS
@ GE_TORUS
Definition: gl4dg.c:85
gl4dfMCMDSetNoiseH
void gl4dfMCMDSetNoiseH(const GLfloat *mcmd_noise_H)
A documenter.
Definition: gl4dfFractalPainting.c:242
screen_node_t
Definition: gl4dp.c:24
list_insert
void list_insert(list_t *list, void *el, size_t index)
Insère un élément dans une liste.
Definition: list.c:65
gtorus_t
Definition: gl4dg.c:125
gl4dgGenQuadf
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
MUL
#define MUL(x, y)
Definition: aes.c:112
window_t::display
void(* display)(void)
Definition: gl4duw_SDL2.c:30
_skeletonize
static GLboolean _skeletonize
Definition: gl4dfFractalPainting.c:35
gl4duDeleteShader
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
@ GL4DF_SOBEL_RESULT_LUMINANCE
Definition: gl4df.h:30
shader_t::next
shader_t * next
Definition: gl4du.c:50
gl4dpClearScreen
GL4DAPI void GL4DAPIENTRY gl4dpClearScreen(void)
Efface l'écran en mettant 0.
Definition: gl4dp.c:193
gl4duMultMatrixd
GL4DAPI void GL4DAPIENTRY gl4duMultMatrixd(const GLdouble *matrix)
Multiplication de la matrice en cours par une matrice matrix.
Definition: gl4du.c:1342
gl4duAtExit
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
gl4duOrthof
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
_queue
static int _queue
Definition: gl4dfCanny.c:387
GL4DU_PROGRAM
@ GL4DU_PROGRAM
Definition: gl4du.h:36
gl4dGetTime
GL4DAPI double GL4DAPIENTRY gl4dGetTime(void)
Donne le temps ecoule en millisecondes depuis ti.
Definition: gl4dummies.c:243
gsphere_t::index_nb_rows
GLsizei index_nb_rows
Definition: gl4dg.c:101
aes_from_tar
char * aes_from_tar(const char *file)
Definition: aes.c:899
gl4duGenMatrix
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
gl4duCreateProgram
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
llPushBack
void llPushBack(linked_list_t *ll, void *data)
Definition: linked_list.c:20
gl4duHasInit
int gl4duHasInit(void)
indique si la bibliothèque a été initialisée
Definition: gl4du.c:201
__cdecl
#define __cdecl
Definition: gl4dummies.h:17
GE_TEAPOT
@ GE_TEAPOT
Definition: gl4dg.c:87
vector.h
Fonctions de gestion de vecteur.
gl4dpGetPixel
GL4DAPI Uint32 GL4DAPIENTRY gl4dpGetPixel(int x, int y)
renvoie la couleur à la coordonnée (x, y)
Definition: gl4dp.c:211
vector_erase
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
@ GE_CYLINDER
Definition: gl4dg.c:83
A_MASK
#define A_MASK
masque pour la composante alpha
Definition: gl4dp.h:32
llAdd
static void llAdd(ll_t **here, GLushort x, GLushort y)
Definition: gl4dfFractalPainting.c:756
llFree
void llFree(linked_list_t *ll, void(*freeData)(void *))
Definition: linked_list.c:96
_GL4DUMatrix::data
void * data
Definition: gl4du.c:67
mkCylinderVerticesf
static GLfloat * mkCylinderVerticesf(GLuint slices, GLboolean base)
Definition: gl4dg.c:901
llFirst
llnode_t ** llFirst(linked_list_t *ll)
Definition: linked_list.c:88
gl4wdummies.h
Partie ne concernant que windows de gl4dummies, ici se trouvent des wrappers vers les fonctions n'exi...
_mdTexId
static GLuint _mdTexId[4]
Definition: gl4dfFractalPainting.c:29
queueInit
static void queueInit(int n)
Definition: gl4dfCanny.c:388
gl4duCreateProgram
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
gl4daMapToSphere
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
gl4dpGetHeight
GLuint gl4dpGetHeight(void)
retourne la hauteur de l'écran.
Definition: gl4dp.c:183
screen_node_t::isGPUToDate
GLuint isGPUToDate
Definition: gl4dp.c:26
linked_list.h
Fonctions de gestion de listes chainees.
GL4DHanime::first
void(* first)(int state)
Definition: gl4dhAnimeManager.h:29
GL4DF_SOBEL_RESULT_RGB
@ GL4DF_SOBEL_RESULT_RGB
Definition: gl4df.h:28
_hasInit
static int _hasInit
flag permettant de savoir si la lib a déjà été initialisée
Definition: gl4duw_SDL2.c:45
B_MASK
#define B_MASK
masque pour la composante bleue
Definition: gl4dp.h:30
t0
static struct timeval t0
Le temps initial du programme. A initialiser avec gl4dInitTime0.
Definition: gl4dummies.c:186
GL4DF_OP_SUB
@ GL4DF_OP_SUB
Definition: gl4df.h:36
gl4duwKeyUpFunc
void gl4duwKeyUpFunc(void(*func)(int keycode))
affecte la fonction appelée lors de l'événement key up.
Definition: gl4duw_SDL2.c:185
init
static void init(void)
Definition: gl4dfSobel.c:158
gl4dhStartingSignal
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
llPush
void llPush(linked_list_t *ll, void *data)
Definition: linked_list.c:28
gl4dpSetColor
void gl4dpSetColor(Uint32 color)
met dans _cur_color la couleur passee en argument.
Definition: gl4dp.c:50
gl4dReadTextFile
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
_hasInit
static int _hasInit
Definition: gl4du.c:115
gl4dpCircle
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
mkRegularGridStripIndices
static GL4Dvaoindex * mkRegularGridStripIndices(GLuint width, GLuint height)
Definition: gl4dg.c:729
gl4dgGenGrid2dFromHeightMapf
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
gl4dgGetVAO
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
addScreen
static void addScreen(GLuint w, GLuint h)
ajoute un écran à la tête de liste d'écrans gérés.
Definition: gl4dp.c:122
gtorus_t::index_nb_rows
GLsizei index_nb_rows
Definition: gl4dg.c:131
gl4duwSetGLAttributes
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
gl4dgGenConef
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
init
static void init(void)
Definition: gl4dfMedian.c:105
gl4dfTexFS
static const char * gl4dfTexFS
Definition: gl4dfCommon.h:42
GE_NONE
@ GE_NONE
Definition: gl4dg.c:77
gl4dfMCMDDimensions
GL4DAPI void GL4DAPIENTRY gl4dfMCMDDimensions(GLuint, GLuint)
A documenter.
Definition: gl4dfFractalPainting.c:49
llnode_t::data
void * data
Definition: linked_list.h:30
gl4dpUpdateScreen
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
gl4dmVector3Dot
INLINE float gl4dmVector3Dot(GL4DMVector vec1, GL4DMVector vec2)
Definition: gl4dm.inl:97
list_set
void list_set(list_t list, void *el, size_t index)
Modifie un élément dans une liste.
Definition: list.c:151
fheapDestroy
void fheapDestroy(size_t heap_id)
libère l'ensemble du tas et sa mémoire.
Definition: fixed_heap.c:90
_weightMapTranslate
static GLfloat _weightMapTranslate
Definition: gl4dfBlur.c:20
opffunc
static void opffunc(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Definition: gl4dfOp.c:42
gl4dgClean
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
llEmpty
GL4DAPI int GL4DAPIENTRY llEmpty(linked_list_t *ll)
Definition: linked_list.c:44
gl4dmGURand
double gl4dmGURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [-1, +1[. Ici la distribution est Gaussienne ce...
Definition: gl4dm.c:71
gl4dfCannySetMixFactor
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
gl4duwGetWindowSize
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
mkRegularGridStripsIndices
static GL4Dvaoindex * mkRegularGridStripsIndices(GLuint width, GLuint height)
Definition: gl4dg.c:712
_isInvert
static GLboolean _isInvert
Definition: gl4dfSobel.c:20
btDelete
void btDelete(bin_tree_t **ptr, void(*freeData)(void *))
Definition: bin_tree.c:63
GL4DU_MATRICES
@ GL4DU_MATRICES
Definition: gl4du.h:37
btForAll
void btForAll(bin_tree_t *ptr, void(*todo)(void *, void **), void **ldata)
Definition: bin_tree.c:113
gl4duIsMatrix
GLboolean gl4duIsMatrix(const char *name)
indique s'il existe une matrice est liée au nom name passé en argument.
Definition: gl4du.c:1044
GL4DMVector::w
float w
Definition: gl4dm.h:362
medianffunc
static void medianffunc(GLuint in, GLuint out, GLuint nb_iterations, GLboolean flipV)
Definition: gl4dfMedian.c:34
btInsert
GL4DAPI pair_t GL4DAPIENTRY btInsert(bin_tree_t **tree, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: bin_tree.c:13
llPop
void * llPop(linked_list_t *ll)
Definition: linked_list.c:38
GL4DMMatrix::r
GL4DMVector r[4]
Definition: gl4dm.h:367
screen_node_t::w
GLuint w
Definition: gl4dp.c:26
llFind
pair_t llFind(linked_list_t *ll, const void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:63
deleteFromShadersList
static void deleteFromShadersList(shader_t **shp)
supprime le shader pointé par shp de la liste de shaders shaders_list.
Definition: gl4du.c:842
_gl4dLastMatrixn
static bin_tree_t ** _gl4dLastMatrixn
le noeud vers la dernière matrice _GL4DUMatrix créée.
Definition: gl4du.c:86
gl4dfBlurWeights.h
poids des matrices de convolution d'un Gaussian Blur : poids pour les matrices de rayon 0 à 128.
RT1
static uint32 RT1[256]
Definition: aes.c:97
gl4duLoadIdentityd
void gl4duLoadIdentityd(void)
Chargement d'une matrice identité dans la matrice en cours.
Definition: gl4du.c:1277
addInProgramsList
static program_t ** addInProgramsList(GLuint id)
ajoute un nouveau program dans la liste de program programs_list.
Definition: gl4du.c:873
MKFWINIT6
MKFWINIT6(blur, void, GLuint, GLuint, GLuint, GLuint, GLuint, GLboolean)
ggrid2d_t::index_mode
GLenum index_mode
Definition: gl4dg.c:137
fheapPut
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
list_get
void * list_get(list_t list, size_t index)
function description
Definition: list.c:175
gl4duwCatchSDL_EventFunc
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
gl4dqQuaternion
float gl4dqQuaternion[4]
Definition: gl4dq.h:24
gl4dfBlur
void gl4dfBlur(GLuint in, GLuint out, GLuint radius, GLuint nb_iterations, GLuint weight, GLboolean flipV)
Filtre 2D de flou Gaussien.
Definition: gl4dfBlur.c:40
llNew
linked_list_t * llNew(void)
Definition: linked_list.c:12
gl4duwResizeFunc
void gl4duwResizeFunc(void(*func)(int width, int height))
affecte la fonction appelée lors du resize.
Definition: gl4duw_SDL2.c:177
_head
static int _head
Definition: gl4dfCanny.c:387
GL4DHanime::last
void(* last)(int state)
Definition: gl4dhAnimeManager.h:30
_mini
static int _mini(int a, int b)
Definition: gl4dg.c:1207
screen_node_t::pixels
Uint32 * pixels
Definition: gl4dp.c:25
gl4dmMatrixTranslate
INLINE GL4DMMatrix gl4dmMatrixTranslate(float x, float y, float z)
Definition: gl4dm.inl:154
gl4dReadTextFile
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
putChildPos
#define putChildPos(cmap, i, v)
Definition: gl4dfFractalPainting.c:734
kmpSearch
static int kmpSearch(const char *p, const char *t)
recherche un motif dans un text
Definition: gl4dummies.c:129
gl4dmMatrixPerspective
INLINE GL4DMMatrix gl4dmMatrixPerspective(float fovy, float aspect, float znear, float zfar)
Definition: gl4dm.inl:231
MVEC3CROSS
#define MVEC3CROSS(r, u, v)
Produit vectoriel 3D entre u et v écrit dans r.
Definition: gl4dm.h:226
gl4duwSetGLAttributes
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
gl4duGetIntegerv
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
vector_insert
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
sobelfinit
static void sobelfinit(GLuint in, GLuint out, GLboolean flipV)
Definition: gl4dfSobel.c:81
quit
static void quit(void)
Definition: gl4dfFractalPainting.c:717
SQUARE
#define SQUARE(X)
Definition: gl4dm.h:60
fcommGetPlane
GLuint fcommGetPlane(void)
Definition: gl4dfCommon.c:65
gl4duCreateProgramFED
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
gl4duCreateProgramFED
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
gl4duClean
GL4DAPI void GL4DAPIENTRY gl4duClean(GL4DUenum what)
supprime tous les programs et/ou tous les shaders.
Definition: gl4du.c:581
gl4dfCanny
GL4DAPI void GL4DAPIENTRY gl4dfCanny(GLuint in, GLuint out, GLboolean flipV)
Filtre 2D Canny (détection des contours)
Definition: gl4dfCanny.c:32
GL4DUenum
GL4DUenum
Definition: gl4du.h:20
gl4dpCopyFromSDLSurface
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
_glist
static linked_list_t * _glist
Definition: gl4dg.c:149
fheapPut
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
gl4dfSobelSetMixFactor
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
_mcmd_noise_T
static GLfloat _mcmd_noise_T[4]
Definition: gl4dfFractalPainting.c:39
ll_t::y
GLushort y
Definition: gl4dfFractalPainting.c:747
_push
static void _push(size_t *stack, size_t *head, size_t value)
Definition: fixed_heap.c:146
gtorus_t::radius
GLdouble radius
Definition: gl4dg.c:128
gl4dpPutPixel
GL4DAPI void GL4DAPIENTRY gl4dpPutPixel(int x, int y)
met la couleur en cours à la coordonnée (x, y)
Definition: gl4dp.c:218
gl4duClean
void gl4duClean(GL4DUenum what)
supprime tous les programs et/ou tous les shaders.
Definition: gl4du.c:581
gl4dfMCMD_mdbuV0FS
static const char * gl4dfMCMD_mdbuV0FS
Definition: gl4dfFractalPainting.c:467
_mcmd_Ir_map_tex_id
static GLuint _mcmd_Ir_map_tex_id
Definition: gl4dfFractalPainting.c:31
MVEC3NORMALIZE
#define MVEC3NORMALIZE(v)
Normalise le vecteur 3D v.
Definition: gl4dm.h:260
GL4Dvaoindex
GLuint GL4Dvaoindex
Definition: gl4dummies.h:134
gl4dmMatrixIdentity
INLINE GL4DMMatrix gl4dmMatrixIdentity(void)
Definition: gl4dm.inl:141
gl4duPopMatrix
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
_wTexId
static GLuint _wTexId
identifiant de la texture liée en écriture au framebuffer _fbo (la texture dans laquelle les animatio...
Definition: gl4dhAnimeManager.c:29
gl4daResize
void gl4daResize(gl4daArcball *a, int w, int h)
fonction à appeler au resize de la fenêtre
Definition: gl4da.c:31
gl4dpMap
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
nbLevels
static int nbLevels(int w, int h)
Definition: gl4dfFractalPainting.c:751
gl4daArcball::center
float center[2]
Definition: gl4da.h:28
GE_CUBE
@ GE_CUBE
Definition: gl4dg.c:80
gl4dqQuaternionToMatrix
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
_glProfileMask
static int _glProfileMask
Definition: gl4duw_SDL2.c:43
gl4dfCannySetResultMode
void gl4dfCannySetResultMode(GL4DFenum mode)
Fonction liée au filtre Canny. Méthode de calcul du résultat final du Canny.
Definition: gl4dfCanny.c:36
setDimensions
static void setDimensions(GLuint w, GLuint h)
Definition: gl4dfBlur.c:197
InMap
#define InMap(x, y, w, h)
Definition: gl4dfFractalPainting.c:732
list.h
Fonctions de gestion de liste.
uint8
#define uint8
Definition: aes.c:45
queueGet
static int queueGet(void)
Definition: gl4dfCanny.c:409
RT3
static uint32 RT3[256]
Definition: aes.c:99
callAllWithState
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
gl4duBindMatrix
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
_animations
static GL4DHanime * _animations
pointeur vers le tableau d'animations passé à l'init avec gl4dhInit
Definition: gl4dhAnimeManager.c:21
gl4dfConvTex2Tex
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
findfnInShadersList
static shader_t ** findfnInShadersList(const char *filename)
recherche un shader à partir du nom de fichier dans la liste shaders_list.
Definition: gl4du.c:719
gl4dmMatrixXVector
INLINE GL4DMVector gl4dmMatrixXVector(GL4DMMatrix mat, GL4DMVector vec)
Definition: gl4dm.inl:34
gl4dhClean
void gl4dhClean(void)
demande l'état libération à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:76
window_t::resize
void(* resize)(int w, int h)
Definition: gl4duw_SDL2.c:23
_cur_color
static Uint32 _cur_color
La couleur en cours ; a modifier avec les fonctions setColor.
Definition: gl4dp.c:42
GL4DH_INIT
@ GL4DH_INIT
Definition: gl4dhAnimeManager.h:21
gl4duwKeyDownFunc
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
@ GL4DF_OP_MULT
Definition: gl4df.h:37
GL4DAPI
#define GL4DAPI
Definition: gl4dummies.h:86
gl4dqConjugate
void gl4dqConjugate(const gl4dqQuaternion q, gl4dqQuaternion conjugate)
fonction de calcul du conjugué d'un gl4dqQuaternion
Definition: gl4dq.c:19
_mcmd_NT_map_tex_id
static GLuint _mcmd_NT_map_tex_id
Definition: gl4dfFractalPainting.c:32
GL4DU_ALL
@ GL4DU_ALL
Definition: gl4du.h:41
fcommGetPlane
GLuint fcommGetPlane(void)
Definition: gl4dfCommon.c:65
gl4duPushMatrix
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
_op
static GLuint _op
Definition: gl4dfOp.c:19
shader_t::id
GLuint id
Definition: gl4du.c:42
gl4dmGRand
double gl4dmGRand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle ]-7, +7[. Ici la distribution est Gaussienne.
Definition: gl4dm.c:43
gl4dGetElapsedTime
GL4DAPI double GL4DAPIENTRY gl4dGetElapsedTime(void)
Donne le temps ecoule en millisecondes depuis t0.
Definition: gl4dummies.c:220
_buTreeWidth
static GLuint _buTreeWidth
Definition: gl4dfFractalPainting.c:29
subdivision2Tex
static void subdivision2Tex(GLubyte **parentData, GLubyte **levelData, GLushort **childData, GLuint *childDataSize, GLubyte **childPos, unsigned int w, unsigned int h)
Definition: gl4dfFractalPainting.c:956
btFree
GL4DAPI void GL4DAPIENTRY btFree(bin_tree_t **tree, void(GL4DAPIENTRY *freeData)(void *))
KT1
static uint32 KT1[256]
Definition: aes.c:465
gsphere_t::index_mode
GLenum index_mode
Definition: gl4dg.c:99
_GL4DUMatrix::size
size_t size
Definition: gl4du.c:64
gl4dgGenCubef
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
mdTexData
static int mdTexData(unsigned int w, unsigned int h)
Definition: gl4dfFractalPainting.c:990
gl4dhClean
GL4DAPI void GL4DAPIENTRY gl4dhClean(void)
demande l'état libération à tous les éléments du tableau d'animations.
Definition: gl4dhAnimeManager.c:76
gl4dExtractFromDecData
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
mainLoopBody
static void mainLoopBody(void *window, void **data)
corps de la boucle principale événement/simulation/affichage
Definition: gl4duw_SDL2.c:381
gl4dfMCMDSetI
GL4DAPI void GL4DAPIENTRY gl4dfMCMDSetI(const GLfloat *mcmd_I)
A documenter.
Definition: gl4dfFractalPainting.c:238
gl4dpFilledCircle
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
gl4dpUpdateScreen
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
RCON
static uint32 RCON[10]
Definition: aes.c:104
gl4duFindShader
GL4DAPI GLuint GL4DAPIENTRY gl4duFindShader(const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:330
_noiseTex
static GLuint _noiseTex
Definition: gl4dfScattering.c:16
gl4dpCircle
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
planeffunc
static GLuint planeffunc(void)
Definition: gl4dfCommon.c:74
KT0
static uint32 KT0[256]
Definition: aes.c:464
_glDepthSize
static int _glDepthSize
Definition: gl4duw_SDL2.c:43
shaders_list
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
_w
static int _w
largeur et hauteur de la texture _wTexId liée en écriture au framebuffer _fbo
Definition: gl4dhAnimeManager.c:32
GL4DU_DEMO_HELPER
@ GL4DU_DEMO_HELPER
Definition: gl4du.h:39
triangleEdge
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
MKFWINIT4
MKFWINIT4(median, void, GLuint, GLuint, GLuint, GLboolean)
gl4dfSobelSetMixMode
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
gl4dfConvFrame2Tex
void gl4dfConvFrame2Tex(GLuint *out)
Envoie le framebuffer actif (ou l'écran) vers une texture.
Definition: gl4dfConversion.c:21
gl4dgGenDiskf
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
shader_t::shadertype
GLenum shadertype
Definition: gl4du.c:43
gcone_t
Definition: gl4dg.c:108
llInsert
GL4DAPI pair_t GL4DAPIENTRY llInsert(linked_list_t *ll, void *data, int(*compar)(const void *newData, const void *nodeData))
Definition: linked_list.c:48
geom_t::geom
void * geom
Definition: gl4dg.c:93
gl4dgGenFanConef
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
gl4duFrustumf
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
gl4duBindMatrix
GLboolean gl4duBindMatrix(const char *name)
active (met en current) la matrice liée au nom name passé en argument.
Definition: gl4du.c:1064
_isLuminance
static GLboolean _isLuminance
Definition: gl4dfSobel.c:20
_fifo
static int * _fifo
Definition: gl4dfCanny.c:387
gl4dmVector3Normalize
INLINE GL4DMVector gl4dmVector3Normalize(GL4DMVector vec)
Definition: gl4dm.inl:117
gsphere_t::stacks
GLuint stacks
Definition: gl4dg.c:98
llDelete
void llDelete(linked_list_t *ll, llnode_t **node, void(*freeData)(void *))
Definition: linked_list.c:74
gl4duRotated
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
gl4dGetTime
double gl4dGetTime(void)
Donne le temps ecoule en millisecondes depuis ti.
Definition: gl4dummies.c:243
gl4dfScattering
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
_list_t::data
void * data
Definition: list.h:32
gl4dfBlurSetWeightMapTranslate
void gl4dfBlurSetWeightMapTranslate(GLfloat weightMapTranslate)
Indique la translation de la valeur appliquée depuis la weight map.
Definition: gl4dfBlur.c:32
_gl4dCurMatrix
static _GL4DUMatrix * _gl4dCurMatrix
la matrice _GL4DUMatrix courante.
Definition: gl4du.c:84
_plan
static GLuint _plan
Definition: gl4dfCommon.c:17
gl4duwPassiveMotionFunc
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
gl4dpGetColor
Uint32 gl4dpGetColor(void)
revoie la _cur_color.
Definition: gl4dp.c:45
gl4dpSDLSurfaceToLuminanceMap
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
gtorus_t::slices
GLuint slices
Definition: gl4dg.c:127
gl4dgSetGeometryOptimizationLevel
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
gl4dMCMDSetUseRoughnessMap
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
fake_resize
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
_height
static GLuint _height
Definition: gl4dfBlur.c:19
BLUR_MAX_RADIUS
#define BLUR_MAX_RADIUS
Definition: gl4dfBlurWeights.h:11
gl4duGetIntegerv
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
opfinit
static void opfinit(GLuint in1, GLuint in2, GLuint out, GLboolean flipV)
Definition: gl4dfOp.c:35
gl4dmURand
GL4DAPI double GL4DAPIENTRY gl4dmURand(void)
Retourne un nombre pseudo-aleatoire dans l'intervalle [0, 1[. Ici la distribution est uniforme.
Definition: gl4dm.c:19
gl4duwMouseFunc
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
_moreheap
static void _moreheap(fheap_t *h)
Definition: fixed_heap.c:133
pathOf
GL4DAPI char *GL4DAPIENTRY pathOf(const char *path)
Renvoie le chemin vers le dossier contenant le fichier passé en argument.
Definition: gl4dummies.c:319
gl4dmTriangleEdge
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
gl4dInitTime
GL4DAPI void GL4DAPIENTRY gl4dInitTime(void)
Initialise ti.
Definition: gl4dummies.c:233
llMapFree
static void llMapFree(ll_t **llmap, GLushort mapWidth, GLushort mapHeight)
Definition: gl4dfFractalPainting.c:786
llInsert
static void llInsert(ll_t **head, GLushort x, GLushort y)
Definition: gl4dfFractalPainting.c:764
gl4dpFilledCircle
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
fheap_t
Definition: fixed_heap.c:14
gl4duDeleteMatrix
GL4DAPI GLboolean GL4DAPIENTRY gl4duDeleteMatrix(const char *name)
supprime la matrice liée au nom name passé en argument.
Definition: gl4du.c:1089
GL4DMVector::x
float x
Definition: gl4dm.h:362
list_erase
GL4DAPI void GL4DAPIENTRY list_erase(list_t *list, size_t index)
Supprime un élément d’une liste.
Definition: list.c:117
gl4dgGenConef
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
_tempTexId
static GLuint _tempTexId[2]
Definition: gl4dfScattering.c:16
mkDiskVerticesf
static GLfloat * mkDiskVerticesf(GLuint slices)
Definition: gl4dg.c:928
_glDoubleBuffer
static int _glDoubleBuffer
Definition: gl4duw_SDL2.c:43
gl4dpGetTextureId
GL4DAPI GLuint GL4DAPIENTRY gl4dpGetTextureId(void)
retourne l'identifiant (OpenGL) de la texture liée à l'écran en cours.
Definition: gl4dp.c:173
resize
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
gl4duwBindWindow
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
@ GL4DH_UPDATE_WITH_AUDIO
Definition: gl4dhAnimeManager.h:22
gl4dpClearScreenWith
void gl4dpClearScreenWith(Uint32 color)
Efface l'écran en y mettant la valeur color.
Definition: gl4dp.c:201
gl4dpRect
void gl4dpRect(GLint *rect)
dessine un rectangle rect en utilisant la couleur en cours.
Definition: gl4dp.c:272
GL4DF_SOBEL_MIX_MULT
@ GL4DF_SOBEL_MIX_MULT
Definition: gl4df.h:34
gl4duCreateShader
GL4DAPI GLuint GL4DAPIENTRY gl4duCreateShader(GLenum shadertype, const char *filename)
retourne l'identifiant du shader décrit dans filename.
Definition: gl4du.c:277
gl4dpSetColor
GL4DAPI void GL4DAPIENTRY gl4dpSetColor(Uint32 color)
met dans _cur_color la couleur passee en argument.
Definition: gl4dp.c:50
gl4duDeleteProgram
void gl4duDeleteProgram(GLuint id)
supprime le program dont l'identifiant openGL est id de la liste de programs programs_list.
Definition: gl4du.c:574
gl4duwCreateWindow
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
_change_seed
static GLboolean _change_seed
Definition: gl4dfFractalPainting.c:35
gl4duwKeyUpFunc
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