Question idiote a propos des tableaux 3D

Signaler
Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004
-
Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004
-
Salut...

J'ai une question un peu idiote :
Est-ce que
unsigned char image [256][256][3];

est la meme chose que
unsigned char *** image;
image = new unsigned char **[256];
for (int i(256); --i;)
  {
  image[i]=new unsigned char*[l];
  for(int j=256; --j;) image[i][j]=new unsigned char[3];
  }

moi je pensais, mais on dirait que non...

7 réponses

Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004

oups, spa new unsigned char*[l] mais [256]
(foutu copier+coller) !
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
oui c'est pas la meme chose, char*** et char[][][]

un tableau est manipulé comme un pointeur mais n'en est pas un, les donnée son ordonnée de facon contigue et la taille est connu

attend que je trouve une belle definition d'un tableau ;)
Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004

Alors comment je peux faire pour allouer dynamiquement un tableau 3D d'unsigned char moa :( ??

J'suis triste d'un coup... (et coince mais ca, je le savais deja)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
c koi qui marche pas avec ce que tu a fait?
Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004

en fait je veux charger un tiff et l'utiliser en texture...
je le charge dans un tableau 1D avec la librairie Libtiff, puis je le 'converti' (le mot est pas correct, mais j'ai pas le courage de chercher) en tableau 3D pour la texture.
Quand je met unsigned char [256][256][3] C bon, mais moi je veux les charger dynamiquement (pour n'importe quelle taille de tif), et des que je passe avec un unsigned char *** ca ne fonctionne plus (logique d'apres ce que tu viens de me dire...)

voila voila...

D'une maniere ou d'un autre je trouverai bien un jour, mais c'est clair que la, j'en chie un peu pour un truc qui me paraissait simple au debut : (
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
ben c'est vrai, pour les tableau multi dimensionnel ca pourra jamais passer, d'une maniere general prefer les bibliotheque en c++ pour ne plus te servir de tableau mais de vector

ton unsigned char [256][256][3] n'est pas trop gros, autant le laisser en statique
Messages postés
8
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004

En fait, je ne pouvais pas le laisser en statique car je voulais que mon tableau texture s'adapte automatiquement a la taille du tif...

Au final, j'ai ete un peu idiot, il suffisait que je fasse un tableau 1D et que j'ecrive dans les bonnes cases [((i*taille ligne + j ) * 3 ) + 0/1/ou 2]...

En tout cas, merci pour ton aide...