Bonsoir,
J'alloue la mémoire d'un tableau contenant les pixels d'une image. Si je déclare classiquement mon tableau ( ex: image[512][1024][3] ) tout se passe bien, et j'arrive à mapper mon objet...
mais avec le code suivant, ça se complique :
l'image résultante est complètement brouillée...
pourtant l'allocation se passe sans erreur (testé) et je désalloue
(avec free, ou delete selon le cas c ou c++).
Est-ce un probleme d'initialisation de mon tableau ?
Texture est une variable globale, et l'allocation dynamique est faite dans une fonction secondaire.
Merci pour toute info,
Bonne soirée, et douce nuit.
Gil
/////////////////// ALLOC DYNAMIQUE /////////////////////
width = cinfo.image_width;
height = cinfo.image_height;
int dim_gris = width*height;
int dim_rgb = width*height*3;
/////////////////// ESSAI EN C ////////////////////////
/*
texture = (unsigned char ***)calloc(height,sizeof(unsigned char **));
if (texture == NULL) exit (1);
for ( int i = 0; i < height; i++ )
{
texture[i] = (unsigned char **)calloc(width,sizeof(unsigned char *));
if (texture[i] == NULL) exit (1);
}
for ( i = 0; i < height; i++ )
for ( j = 0; j < width; j++ )
{
texture[i][j] = (unsigned char *)calloc(3,sizeof(unsigned char ));
if (texture[i][j] == NULL) exit (1);
}
*/
/////////////////////// ESSAI C++ //////////////////////////
texture = new unsigned char **[height];
for ( i=0; i<height; i++)
texture[i] = new unsigned char *[width];
for ( i=0; i<height; i++ )
for ( j=0; j<width; j++ )
texture[i][j] = new unsigned char [3];
////////////////////////// FIN //////////////////////