Matthias Zwicker Hanspeter Pfister Jeroen van Baar Markus Gross EWA Volume Splatting Matthias Zwicker Hanspeter Pfister Jeroen van Baar Markus Gross
Volume Rendering Pourquoi le volume rendering? Génération d’images 2D à partir de volume de données 3D Exploitation « directe » de ces volumes de données (pas de reconstruction de primitives géométriques) Visualiser des informations sur l’intérieur des volumes
Algorithmes de rendu Il existe plusieurs méthodes pour visualiser les volumes de données: Extraction d’ iso-surfaces (algorithme des Marching Cubes) Ray Casting (backward mapping) Volume Splatting (forward mapping) Shear Warp (méthode hybride)
Algorithme idéal de rendu de volume Reconstruction d’une fonction continue en 3D Transformation de la fonction 3D dans le système de coordonnées de l’écran Évalue les intégrales d’opacité le long des lignes de vue
Ray Casting Algorithme de rendu « backward »: des rayons sont lancés à travers les pixels de l’écran vers les données Accumule les opacités des particules croisées par le rayon jusqu’à un certain seuil
Ray Casting Détermination de l’opacité pour chaque échantillon du volume traversé par un rayon (calcul d’une intégrale le long du rayon) Application d’une convolution 3D à chaque échantillon rencontré => plusieurs «échantillons » contribuent à un pixel Complexité: Au moins k3n3 (n: dimension du volume de données)
Volume Splatting Algorithme de « forward mapping » Les données sont envoyées sur l’écran Utilisation de « splats » ou « splatters » Les splatters, qu’est-ce que c’est ?
Splatter « Only You »
Volume Splatting Les données sont envoyées sur l’écran Splat! Besoin de calculer l’empreinte (« footprint ») de chaque splat Splat!
Splatting vs Ray Casting Chaque splat contribue dans plusieurs pixels de l’image de sortie Complexité du Splatting: n3k2 au plus Gros avantage de rapidité !
Volume Splatting ? Il faut calculer l’empreinte de chaque fonction Projection orthogonale ou perspective
Volume Splatting Remplir les pixels entre les différentes projections des échantillons, c’est à dire reconstruire une fonction continue => Convolution
Principe de l’algorithme de Splatting Chaque échantillon est convolué avec un noyau 3D Comme les noyaux sont les mêmes pour chaque échantillon, on peut les pré-calculer Les contributions sont assemblées de l’arrière à l’avant de l’image finale
Volume Splatting Une sphère est placée autour de chaque échantillon
EWA Volume splatting Nouvelle structure pour le rendu de volume direct Nouveau concept pour l’anti-aliasing Peut se réduire au « Surface Splatting »
Pipeline de rendu 3D 3D 3D 2D 2D
Ray Space Système de coordonnées non cartésien qui facilite la formulation de l’équation du rendu de volume Camera space Ray space
Noyaux elliptiques gaussiens Propriétés (cruciales pour l’EWA volume splatting ) : Ø Les gaussiennes sont fermées pour un mapping affine, et une convolution. Ø L’intégration d’une gaussienne 3D le long d’un axe de coordonnées donne une gaussienne 2D
Noyaux elliptiques gaussiens Ces propriétés permettent de calculer analytiquement le filtre de re-samplage comme une gaussienne 2D
Problème d’aliasing Noyau de reconstruction 3D Intégration le long d’une dimension Empreinte 2D
Problème d’aliasing Splat 1 Splat 2 Problème de recouvrement
Solution Splat 2 Splat 1 Somme pondérée des couleurs
Edge aliasing
Équation du rendu de volume Correspond à un modèle physique où le volume se compose de particules individuelles qui absorbent et émettent de la lumière.
Équation du rendu de volume : Longueur d’onde c: coefficient d’émission g: fonction d’extinction Exponentielle: facteur d’atténuation
Simplification de l’équation : fonction footprint
Simplification de l’équation Convolution de la fonction convolution de chaque fonction footprint séparément Algorithme de splatting sans artefacts d’aliasing
Surface Splatting
Surface Splatting Construction d’un noyau de reconstruction aplati en effectuant un scaling sur une direction (direction de la normale de la surface)
Conclusion Nouvelle primitive de splatting pour le rendu de volume/surface: EWA volume resampling filter Anti-aliasing très efficace Primitive appropriée pour rendre des volumes de données réguliers, rectilignes, curvilignes et irréguliers Donne des images de haute qualité