afficher les menus
Connexion
Pseudo : 

Mot de passe : 


mot de passe égaré ?

S'inscrire !
Thèmes
screenshot

(7 thèmes)
Qui est en ligne
17 utilisateur(s) en ligne (dont 17 sur Documentation en ligne)

Membre(s): 0
Invité(s): 17

plus...
Qui est passé ?
[Retour | Afficher cette page en format imprimable]

Page soumise par Mooky


<= Page précédante <= Sommaire => Page suivante =>

15.1 Les utilisations de la radiosité


A partir de Blender v2.31

Tout d'abord, un peu de théorie ! Vous pouvez passer directement à la section suivante et revenir ici plus tard si vous vous posez des questions.

Durant les années 80 et 90, la radiosité a été un sujet "chaud" de l'informatique graphique 3D. Différentes méthodes ont été développées, celles qui ont eu le plus de succès étaient basées sur le concept d' "affinement progressif" avec un schéma de "subdivision adaptative" (dans le sens d'amélioration progressive). C'est cette méthode qu'utilise Blender ( 100 fois sur le métier remettez votre ouvrage !!!!).

Pour utiliser la radiosité dans Blender de façon optimale, il est important de bien comprendre les principes suivants:

  • Finite Element Method = Méthode du Nombre fini d'éléments

De nombreuses méthodes de calcul ou de simulations graphiques considèrent la complexité du réel selon un nombre fini (déterminé) d'éléments. Pour avoir une solution visuellement intéressante (et scientifiquement prouvée), il n'est pas nécessaire d'aller jusqu'à un niveau moléculaire de détails. Vous pouvez très bien réduire votre problème à un nombre fini (déterminé) d'éléments représentatifs et explicites. C'est un fait admis que de tels systèmes aboutissent rapidement à une solution stable et fiable.

La radiosité est un exemple typique de cette méthode, attendu que chaque face est considérée, ainsi que son émission de lumière, dans son ensemble, comme un nombre fini d'éléments.

  • Patches and Elements

Dans l'univers de la radiosité, nous distinguons deux types de faces 3D :

Patches (Emetteurs). Ce sont des triangles ou des carrés capables d'émettre de l'énergie. Pour une résolution rapide, il est important qu'ils soient aussi peu nombreux que possible. Pour rendre les choses encore plus rapide, on considère dans la modélisation, que l'énergie est irradiée par leur centre ; leur taille ne doit pas être trop importante pour une répartition réaliste de l'énergie. (Par exemple, quand un objet est situé juste au-dessus du centre d'un de ces émetteurs (Patches), toute l'énergie qu'il émet est obscurcie par cet objet, même s'il est très étendu ! Un tel émetteur (Patch) doit être subdivisé en plusieurs plus petits).

Elements (Récepteurs). Ce sont des triangles ou des carrés qui reçoivent de l'énergie. Chaque récepteur (Element) est associé à un émetteur (Patch). En fait, les émetteurs (Patches) sont subdivisés en de nombreux petits récepteurs (Elements). Quand un récepteur (Element) reçoit de l'énergie, il en absorbe une partie (en fonction de la couleur) et rend le reste (énergie non utilisée) à l'émetteur (Patch), pour une radiation ultérieure. Comme les récepteurs (Elements) sont aussi les faces que nous affichons, il est important qu'ils soient aussi petits que possible, pour exprimer les limites subtiles des ombres et les dégradés de lumière.

  • Affinage progressif

Cette méthode, au départ, examine tous les émetteurs disponibles. Celui qui a la réserve d'énergie la plus importante, est sélectionné pour irradier toute son énergie dans l'environnement. Les récepteurs de cet environnement capturent cette énergie et l'ajoutent à celle qui est en réserve dans leurs émetteurs associés. Puis, le même processus recommence avec l'émetteur qui possède maintenant le plus d'énergie en réserve. Et cela continue pour tous les émetteurs jusqu'à ce qu'il n'y ait plus d'énergie capturée ou que l'énergie en réserve ait atteint une certaine valeur.

  • La méthode de l'hémicube (comme hémisphère) ou demi-cube

Le calcul de la quantité d'énergie que chaque émetteur (Patch) donne à un récepteur (Element) est transmise par l'intermédiaire "d'hémicubes". Situé exactement au centre de l'émetteur, un hémicube (littéralement un "demi-cube") est constitué par 5 petites images de l'environnement. Pour chaque pixel de ces images, un récepteur visible est codé d'après sa couleur, et la quantité d'énergie transmise peut être calculée. Utilisée avec certains matériels spécialisés ("hardware") cette méthode peut être accélérée de façon significative. Dans Blender, les calculs par "hémicubes" sont traités par logiciel ("software").

Cette méthode est, en fait, une simplification et une optimisation de la formule de la radiosité "réelle" (facteur de forme différentielle). Pour cette raison, la résolution de l'hémicube (le nombre de pixels de ses images) est approximatif et son réglage avec précaution est important pour éviter l'apparition de crénelages.

  • Subdivision "améliorative"

Puisque la taille des émetteurs (Patches) et des récepteurs (Elements) d'un maillage définie la qualité de la radiosité, des schémas de subdivision automatique ont été développés pour définir leur taille optimale. Blender possède deux méthodes de subdivision automatique :

1. Subdivide-shoot Patches. (Subdivision par tir des émetteurs). En irradiant l'énergie dans l'environnement et en comparant les valeurs de l'hémicube avec la valeur réelle mathématique ("form factor"), les erreurs peuvent être détectées indiquant ainsi la nécessité de futures subdivisions de l'émetteur. Les résultats donnent des émetteurs plus petits, un temps de résolution plus long, mais un réalisme plus important.

2. Subdivide-shoot Elements. (Subdivision par tir des récepteurs). En irradiant l'énergie dans l'environnement et en détectant les changements importants d'énergie dans un émetteur, les récepteurs qui lui sont associés sont subdivisés à un niveau supplémentaire. Les résultats sont : des récepteurs plus petits, un temps de résolution plus long, peut être plus de crénelage, mais un niveau de détails plus élevé.

  • Affichage et post-processus.

Dans Blender, la subdivision des récepteurs est "équilibrée", cela signifie que chaque récepteur (Element) ne diffère que d'un seul niveau de subdivision par rapport à ses voisins. C'est important pour un affichage correct et agréable de la radiosité avec l'algorithme de Gouraud. Généralement, après résolution, on obtient des milliers de petits récepteurs (Elements). Par filtrage et élimination des doublons, leur nombre est considérablement réduit sans pour autant altérer la qualité de la radiosité. Blender stocke les quantités d'énergie sous forme de nombres à virgule flottante. Cela rend possible les réglages dans les situations d'éclairage très difficile, en changeant les valeurs du multiplicateur standard et de la composante gamma.

  • Radiosité pour modéliser

L'ultime étape remplace le maillage en entrée par la solution de radiosité (bouton Replace Meshes). Alors les couleurs des points sont converties, de nombres à virgule flottante vers des valeurs RGB codées sur 24 bits. Les anciens "objets maillages" (Mesh Objects) sont supprimés et remplacés par un ou plusieurs nouveaux "objets maillages". Vous pouvez maintenant supprimer les données utilisées pour les calculs de radiosité (Free Data). Les nouveaux objets ont un "Matériel" par défaut qui permet de leur appliquer un rendu. Deux réglages sont importants pour travailler avec les "couleurs de sommets" (vertex colours) :

VColPaint. Cette option remplace les valeurs RGB normales du Matériel par les "couleurs de sommets" (vertex colours). Vous devez ajouter des Lampes pour voir les couleurs de la radiosité. En fait, vous pouvez utiliser les éclairages et les ombrages de Blender, comme d'habitude, et obtenir un "look" de radiosité correct lors du "rendu".

VColLight. Les "couleurs de sommets" (vertex colours) sont ajoutées à la lumière lors du "rendu". Même sans Lampe, vous pouvez quand même voir le résultat. Avec cette option, les "couleurs de sommets" (vertex colours) sont pré-multipliées par la couleur RGB du Matériel. Cela donne des ajustages de ton précis de la quantité de "lumière de radiosité" ('Radiosity light') lors du "rendu" final.

Comme souvent dans Blender, les réglages de la Radiosité sont regroupés dans un bloc de donnés. Celui-ci est associé à une Scène, et toute Scène de Blender peut avoir un bloc de donnés différent. Cela permet de diviser des environnements complexes en plusieurs Scènes avec chacune leur solution de radiosité indépendante.

<= Page précédante <= Sommaire => Page suivante =>


[Retour | Afficher cette page en format imprimable]

Page soumise par Mooky
Chat block