mikeash.com: just this guy, you know?

next up previous contents
Next: Lancer de rayons Up: Techniques Previous: Voxels   Contents

Tranches

OpenGL et un grand nombre de cartes graphiques prennent en charge les textures 3D. Une texture 3D s'utilise pour texturer les polygones 2D exactement comme une texture 2D classique, et il n'est pas possible d'afficher la totalité de la texture en une seule opération.

Pourtant, s'il n'est pas possible d'afficher une texture 3D directement sur l'écran, il est possible d'utiliser ces textures pour afficher ses données volumiques. On calcule une suite de tranches dans le cube volumique qui sont toujours face à la caméra. Ces tranches sont texturées avec la texture 3D. Quand on dessine toutes les tranches, le résultat est une représentation du cube volumique sur l'écran. En variant le nombre de tranches dessinées, on peut très facilement changer le niveau de détail pour avoir des images plus détaillées ou plus lisses.

Figure 5: Le rendu volumique avec tranches dans une texture 3D

Cette technique utilise bien les capacités du matériel et elle peut être beaucoup plus rapide et moins coûteuse en calculs que la technique de voxels. Mais les capacités du matériel limitent les possibilités de cet algorithme. En effet, elle nécessite le chargement de toutes les données volumiques dans la mémoire de la carte graphique qui est généralement beaucoup plus petite que la mémoire principale de l'ordinateur.

Pour les données dynamiques, cela veut dire que chaque fois qu'on a de nouvelles données, il faut les charger dans la carte graphique. Comme la bande passante de la carte graphique est relativement faible, ce goulot d'étranglement peut poser problème. De plus, souvent les données volumiques ne sont pas dans un format qui est directement pris en charge par la carte graphique, ce qui nécessite une conversion coûteuse à chaque fois.

Il n'est pas possible de paralléliser cet algorithme, pour les mêmes raisons que pour l'algorithme de voxels. Il faudrait une bonne carte graphique pour chaque noeud, et ensuite reprendre les résultats sur la carte graphique qui est une opération lente.


next up previous contents
Next: Lancer de rayons Up: Techniques Previous: Voxels   Contents
Michael Ash 2005-09-21

Hosted at DigitalOcean.