|
Qu'est-ce que l'Octree et comment le paramétrer ? |
|
---|---|---|
Ze Grand Manitou
![]() ![]() Inscrit:
24/07/2003 14:50 De la Région Parisienne
Post(s): 21822
|
![]() Qu'est ce qu'un octree : C'est un méthode de partitionnement spatial qui permet de rapidement éliminer des vertex qui n'auront aucune importance dans le calcul. Exemple pratique : Prenons un exemple, vous avez une lumière qui va projeter l'ombre d'un cube sur une face plus loin. Il va donc essayer de projeter les points 1 à 1. Technique 1 : On a le vecteur lumière<->point qu'on allonge. Ensuite, pour chaque face de la scène, on fait quelques calculs vectoriels pour savoir si ce vecteur traverse la face. Si c'est le cas, la face reçoit l'ombre. Imaginez cette technique sur des scènes avec 1 million de faces dans lesquelles sont projetés d'autre objets de 1 million de faces... Les calculs prendront un temps fou vu qu'il re-teste chaque face à chaque fois ! Technique 2 : On utilise les octrees et vous pouvez enlever rapidement le plus gros des faces et ainsi ne tester que le minimum de faces. Pour cela on commence par créer un cube englobant toute la scène (tous les dessins suivants seront en 2D, mais imaginez la même chose en 3D) : ![]() Ce même cube est subdivisé en 8 (même si c'est 4 sur l'image vu que c'est en 2D ) : ![]() Puis encore... encore... l'option que vous réglez pour vos rendus correspondent au nombre de subdivisions : ![]() Maintenant, nous y mettons notre scène, dont les octrees les plus petits contiennent les vertex de leur volume respectif : ![]() À partir de là, il suffit juste de tester si le rayon *traverse* le cube principal... Si oui, alors on teste ses sous-cubes, si non on sait que tout le contenu de ce cube n'aura pas à être testé. On continue de vérifier cela jusqu'à atteindre les cubes les plus petits : ![]() Maintenant, on a plus qu'a tester les faces contenu dans les cubes restant, ce qui fait gagner un temps fou. Qu'est-ce que le niveau de subdivision change ? Imaginez que vous ayez une scène très très dense (au hasard, 2 millions de faces). Si vous ne subdivisez pas assez, on aura les octrees finaux avec encore plusieurs milliers de faces à tester s'ils sont sélectionnés. Donc il vaut mieux pousser l'octree sur les scènes complexes. Maintenant au contraire, vous avez une scène avec 3 points, et vous avez trop poussé la subdivision. Il va perdre du temps à éliminer des zones inutiles à chaque niveau de subdivision. En conclusion, il n'y a pas de paramétrage d'octree passe-partout, il faut l'adapter proportionnellement en fonction de la lourdeur de la scène. Il est paramétrable dans le panneau de rendu : ![]() Adaptation de la très bonne explication de Snark ICI
Contribution le : 03/06/2008 11:06
|
|
_________________
![]() Mickaël Guédon | Site pro : www.mickaelguedon.com | Fondateur du Blender Clan : www.blenderclan.org Auteur de Formations Blender chez Elephorm |
||
![]() ![]() |