VolumeVisu RendTech Final
VolumeVisu RendTech Final
VolumeVisu RendTech Final
techniques de rendu de
volumes
Université BORDEAUX I
D’après :
DESS IMM, “Volume Visualization and Volume
Module Synthèse d’images Rendering Techniques” In Proc. of
Eurographics, Tutorial 6, 2000
M. Meissner, H. Pfister,
Florian LEVET, Edouard SUN R. Westermann, C.M. Wittenbrink
06/14/24 1
Introduction
Importance croissante dans la
visualisation 3D
Tache : afficher des données
volumétriques sous forme d’image 2D
dans laquelle on peut naviguer
Ne se base pas sur les surfaces
06/14/24 2
1-1 Domaines d’applications
Médecine : Scanner, ultrasons
Prototypage : Scanner CT industriels
Géosismique
Simulation faisant appel à la dynamique
des fluides
06/14/24 3
06/14/24 4
06/14/24 5
06/14/24 6
1-2 Base du volume rendering
(1/2)
06/14/24 7
06/14/24 8
1-2 Base du volume rendering
(2/2)
06/14/24 9
Absorption / Emission
Un élément de donnée volumétrique : un
voxel
Absorbe et émet de la lumière
Emission détermine la couleur et
l’intensité
Absorption opacité du voxel
Peut être classifié pour chaque voxel
06/14/24 10
06/14/24 11
1-3 Classification (1/2)
Permet de trouver des structures dans un
volume
Permet d’explorer et de visualiser
différentes zones du volume
Assignation de la couleur, l’intensité,
l’opacité et des propriétés du matériel
06/14/24 12
1-3 Classification (2/2)
06/14/24 13
1-4 Segmentation
Classifier deux zones différentes n’est pas
toujours possible
Ex : tissus différents apparaissent
identiques à cause de la nature du
scanner
Ces structures doivent être labellées ou
segmentées
06/14/24 14
1-5 Shading
Plusieurs techniques : globale, directe,
locale
Globale : prend en compte toutes les
lumières échangées entre tous les objets
Directe : prend seulement en compte les
lumières tombant directement sur l’objet
Locale : consiste en composantes
ambiante, spéculaire et diffuse
06/14/24 15
1-6 Calcul du gradient
Notion d’iso-surface
La normale utilisée dans le shading est
trouvée par le calcul du gradient
Grille échantillons considérés comme
des niveaux de gris
06/14/24 16
1-7 Compositing
On ne peut pas afficher les voxels de la
scène dans n’importe quel ordre à cause
de la transparence
2 solutions : front to back et back to front
Front to back peut être terminé avant la fin
de l’algo ( transparence a atteint un seuil )
Back to front : pas de terminaison avant la
fin
06/14/24 17
1-8 Filtrage de la couleur
Algorithme de rendu ré-échantillonne les valeurs
des données
Interpolation de ces valeurs
Importance de la façon d’afficher un volume car
peut générer de graves erreurs
06/14/24 18
2-0 Rendu de Volumes
Les deux approches
Rendu indirect de volume Rendu de surfaces
Recherche d’iso surfaces (marching-cubes,…)
Inconvénients :
- Contraintes sur l’ensemble des voxels (existence
d’iso surfaces, pas de « nuages », …)
- Volume considéré comme ensemble de surfaces
06/14/24 19
2-1 Bases théoriques, VRI
(Volume Rendering Integral) (1/3)
Version continue (VRI) :
L S
I ( x, r ) C ( s ) ( s ) exp( (t )dt )ds
0 0
I ( x, r ) : quantité de lumière de
longueur d’onde reçue
depuis le rayon r au point x du
plan image.
L : longueur du rayon
C : lumière de longueur d’onde
réfléchie et/ou émise vers s
dans la direction r
(s ) : densité d’atténuation de la
particule s
06/14/24 20
2-1 Bases théoriques, VRI
(Volume Rendering Integral) (2/3)
Version discrète (DVRI) :
L / s i 1
I ( x, r ) C (is) (is)s. exp( ( js)s)
i 0 j 0
s : longueur de l’intervalle
d’échantillonnage
06/14/24 21
2-1 Bases théoriques, VRI
(Volume Rendering Integral) (3/3)
Version discrète couramment utilisée :
Fonction de transparence : t (is ) exp( (is ) s )
06/14/24 22
2-2 Algorithmes les plus répandus
Raycasting
Splatting
Shear-Warp
3D Texture-Mapping (Hardware)
06/14/24 23
2-2-1 Algorithmes les plus répandus
Raycasting
Principe :
- Pas de surfaces Rayons traversent le volume
- Intervalles d’échantillonnage pas nécessairement
équidistants
- Les filtres les plus courant : voisin le plus proche
(nearest neighbour), trilinéaire, gaussienne,
spline cubique
06/14/24 24
2-2-1 Algorithmes les plus répandus
Splatting (1/2)
Principe :
- Chaque voxel = une sphère possédant une
valeur RGBα :
- Projection sur l’écran “splat” (éclaboussure)
- Projection dans l’ordre “Front To Back” (FTB)
- Voxels projetés sur l’écran + compositing
06/14/24 25
2-2-1 Algorithmes les plus répandus
Splatting (2/2)
Avantages :
- Considère seulement les voxels pertinents,
aucune traversée d’espace vide (contrairement
au raycasting).
- Les empreintes peuvent être pré calculés
phase de rasterization grandement accélérée
Inconvénients :
- Apparition de taches lors d’agrandissements
06/14/24 26
2-2-2 Algorithmes les plus répandus
Shear-Warp (1/2)
Principe:
- En pré calcul, découper le volume pour que les
rayons soient alignés sur les axes
06/14/24 27
2-2-2 Algorithmes les plus répandus
Shear-Warp (2/2)
Avantage :
- Rendu accéléré
Inconvénient :
- Qualité de rendu faible
06/14/24 28
2-2-3 Algorithmes les plus répandus
3D Texture-Mapping (1/2)
Principe:
- Utilisation des cartes
graphiques
- Instructions OpenGL
- Volume = texture 3D
- Textures découpées par des
polygones parallèles
- Volume rendu en mappant
les textures sur une série de
polygones
06/14/24 29
2-2-3 Algorithmes les plus répandus
3D Texture-Mapping (2/2)
Avantages :
- Rendu grandement accéléré par le traitement en
hardware
Inconvénients :
- Qualité de rendu faible
- Limité par la mémoire texture de la carte
06/14/24 30
2-2-4 Algorithmes les plus répandus
Bilan (1/3)
Raycasting Splatting Shear-Warp 3D T-
Map
Computerized
Tomography (CT)
scan de crâne
humain
Vue Zoomée sur
la dentition
CT scan d’une
artère du cerveau
montrant un
anévrisme
06/14/24 31
2-2-4 Algorithmes les plus répandus
Bilan (2/3)
Raycasting Splatting Shear-Warp 3D T-Map
Fonction
Marschner-Lobb
comprenant des
hautes-
fréquences
Simulation d’une
distribution de
potentiel
d’électrons
autour d’atomes
06/14/24 32
2-2-3 Algorithmes les plus répandus
Bilan (3/3)
Résultats :
- 3D Texture-Mapping, Shear-warp : temps de calcul < 1s
- Raycasting, Splatting : bons résultats visuels
- Qualité de Shear-warp comparable à Raycasting et
Splatting lorsque image non zoomée.
Comparaison Splatting/Raycasting :
- Splatting plus enclin à manquer les hautes fréquences.
- Raycasting plus rapide quand les données possèdent
peu d’échantillons non-pertinents.
06/14/24 33
Conclusion
VolumePro
Permet d’atteindre du temps réel pour des
données de taille 512*512*512
Techniques d’accélération
Regrouper les voxels en amas de voxels
voxels voisins
…
06/14/24 34
Liens
http://www.cs.sunysb.edu/~mueller/
http://www.gris.uni-tuebingen.de/~bartz/proj/volume/
http://www.gris.uni-tuebingen.de/~meissner/
http://graphics.stanford.edu/papers/lacroute_thesis/
06/14/24 35
06/14/24 36
06/14/24 37
06/14/24 38
06/14/24 39