Un problème que je me suis posé il y a 2 ou 3 ans et que je n'avais pas résolu
(suis programmeur du dimanche)
Je fais un calcul qui délivre un champs vectoriel 3D (champs de pression, champs éléctromagnétique...)
L'objectif est de visualiser les surfaces de niveau et de naviguer dedans:
- on ne voit que les potentiels supérieurs à un seuil.
- le seuil est le paramètre d'entrée et peut changer
- on délègue le rendu à la carte graphique (puisque c'est son job).
Mon idée était de créer une texture volumique dont la composante alpha représenterait les potentiels.
Puis d'appliquer un filtre sur l'alpha:
- rendre totalement opaque tous les alpha inférieurs à un seuil
- rendre totalement transparents les alpha supérieurs à ce seuil
En faisant varier le seuil => navigation/visualisation dans le isosurfaces.
Existe t-il une fonction qui au moment de la visualisation traite non linéairement l'alpha ? (arrondit à 0 ou 1 suivant un seuil)
----
Je sais que la méthode normale serait de calculer toutes les isosurfaces et de les afficher ou non suivant le seuil désiré.
Dans mon cas, le calcul du champs vectoriel était réalisé dés le départ dans un espace 3D discret, donc équivalent à une texture 3D, d'où cette idée... (saugrenue?)
----
p.s.: je pars en vacances, donc je ne pourrai probablement pas répondre
Partager