Je vous explique mon probleme : j'ai un volume defini par un ensemble de voxels, c'est-a-dire des cellules delimitees par 8 points formant les sommets. Une valeur est attribuee a chacune de ces cellules.
Ces cellules ne sont pas cubiques, ni parellelepipediques, elles sont assez quelconques (en fait ce sont des cubes deformes, mais de maniere assez aleatoire).
Je desire afficher ce volume en temps reel en utilisant les textures 3D d'OpenGL, pour cela il faut que je definisse une texture 3D ce qui n'est rien d'autre qu'une matrice 3x3 de voxel-values, ou encore un cube dans l'espace defini par des voxels tous cubiques et de meme taille.
Donc voila mon probleme : transformer tous les voxels quelconques en une serie de voxels cubiques identiques.
J'ai deja ecrit un premier algorithme, mais celui-ci est tres lent :
Pour chaque voxel cubique,
(1) Determiner le voxel quelconque le plus proche
(2) Faire une interpolation trilineaire des valeurs des voxels quelconques les plus proches pour determiner la valeur du voxel cubique
Resultat : l'etape (1) est en O(n), donc mon algo est en O(n^2).
Sachant que mon dataset comporte quelque chose comme 50000 voxels, ca prend un temps incroyable (environ 2h sur mon Xeon 550).
Je desirerais implementer quelque chose de plus rapide. Toutes les propositions sont les bienvenues 
[edit]--Message édité par tgrx--[/edit]