Dessiner des voxels [OpenGL] - Divers - Programmation
Marsh Posté le 19-03-2006 à 13:04:08
soit tu fais plusieures plans avec blending, soit tu utilises des Point Sprites ?
Marsh Posté le 19-03-2006 à 13:04:44
c'est vrai que j'ai les scans IRMs d'un pote, faudra que je joues avec
Marsh Posté le 19-03-2006 à 13:37:34
Et sinon, au niveau de l'éclairage, que me conseille-tu de pas trop couteux et suffisant pour détecter les formes?
Marsh Posté le 19-03-2006 à 14:02:50
je suis pas sûr que opengl t aide vraiment pour les voxels. en python ça risque les lenteurs.
il y a un algo appelé marching cube, qui transforme des voxels en triangles:
http://www.essi.fr/~lingrand/March [...] cueil.html
il te faut peut être un occtree pour gérer les surfaces cachées:
http://www.flipcode.com/articles/a [...] rees.shtml
Marsh Posté le 19-03-2006 à 14:26:43
Mon but est d'afficher les voxels.
J'importe des modèles discrets ou je discretise des modèles polygonaux.
En ce qui concerne l'algo des marching cubes il n'est pas suffisamment fiable dans certains cas. Ce qui m'interesse c'est surtout les calculs qu'on peut faire sur un modèle discret, le tout avec un affichage correct (ce que je ne suis pas sur d'avoir ).
Marsh Posté le 19-03-2006 à 14:53:48
Alors il te faut un occtree (aussi octree, quadtree).
Un occtree prends un espace cubique et le divise récursivement en 8 sous-cubes, formant un arbre de cubes qui est utilisé en conjonction avec un buffer de segments (s-buffer) pour l affichage des faces visibles.
Marsh Posté le 19-03-2006 à 12:45:41
J'aimerais savoir quelle est la méthode la plus performante pour afficher de nombreux voxels à l'écran.
J'ai un fichier de 30 mo contenant un bitmap, donc à chaque pixel non noir (!= 0) je dois afficher un voxel. Toutefois je code en python et mes diverses tentatives d'affichage ont échouée pour cause de lenteur extrème.
Comment dois-je afficher les voxels? J'affiche des cubes? J'affiche une display list contenant un cube? Je me débrouille pour ne pas afficher les faces en commun? Il y a t'il une autre solution?