Fr LuxRender Volumes - LuxRender Wiki
Luxrender GPL Physically Based Renderer

Fr LuxRender Volumes

Personal tools

From LuxRender Wiki

Jump to: navigation, search

Volumes

LuxRender inclut un système de participation des milieux, puissant & flexible, qui contrôle la façon dont se comporte la lumière quand elle se déplace à travers des objets ou dans l'espace entre les objets. Lors de la création d'une scène qui utilise le rendu volumétrique, vous créez des «milieux» spéciaux ou shaders de volume, qui sont ensuite affectés à l'intérieur et l'extérieur des objets de la scène:

- Le milieu intérieur qui définit la façon dont la lumière se déplace à l'intérieur de l'objet.
- le milieu extérieur qui définit la façon dont la lumière se déplace à travers l'espace entre l'objet qu'il vient de quitter et la prochaine rencontre.

Le "réglage du volume intérieur" est principalement utilisé pour donner la diffusion interne et l'absorption de l'objet auquel il est affecté. la plupart du temps, vous allez créer un "milieu intérieur" pour chaque matériau pour lequel vous voulez avoir des effets de diffusion et d'absorption interne c'est à dire pour tous sans exception.

Le "réglage du volume extérieur" est généralement utilisé pour fournir des effets atmosphériques. On maintient le même matériau pour tous les objets de la scène. Actuellement, les volumes ne disposent pas de système de priorité. Cela signifie que lorsque la lumière se déplace d'un volume vers l'autre sans passer par l'air (par exemple un liquide dans un verre), vous devez affecter un matériau séparé à la surface où les volumes se touchent, en utilisant les volumes de ces deux objets au lieu de son volume intérieur et son volume extérieur.
Lors de l'utilisation de volumes extérieurs, certaines précautions doivent être prises avec des formes planes comme des feuilles ou des tissus. Vous devez vous assurer de régler le volume extérieur en même temps à l'intérieur et à l'extérieur de la forme, sinon LuxRender peut confondre à quels volumes certaines frontières impliquant cette surface appartiennent, conduisant à une apparence incorrect de la forme. Évitez d'utiliser des volumes intérieurs sur des formes planes car cela ne fonctionnera pas. La raison est que l'extérieur définit ce qui est en face de la face, et que l'intérieur définit ce qu'il y a derrière. Dans le cas d'une forme ouverte plane, ce serait le même air/eau/brouillard/vide/etc sur les deux faces. Pour que les deux volumes soit le même air/eau/brouillard/vide/etc, vous devez utiliser un modifieur "Solidify" dans Blender pour que la forme soit un volume fermé & plein.

Quand vous n'attribuez pas de volume, LuxRender comprend que le volume est juste un vide. Cela fonctionne très bien pour l'air, sauf si vous avez besoin d'effets atmosphériques. Dans certains cas, le volume ayant poursuivre derrière le plan qui est souhaité, par exemple en utilisant un plan de "verre" comme la surface de l'eau dans un récipient opaque. Dans ce cas, le volume va continuer au-delà de l'avion jusqu'à ce qu'il frappe un objet solide, qui vous donnera l'eau volumétrique alors que seulement jamais la modélisation de la surface. LuxRender exige toujours des objets à avoir un matériau de surface définie. Si vous voulez un objet "volume seul", comme pour un conteneur de simulation nuage ou de la fumée, ajouter un matériau "nul" à la surface pour la rendre transparente.

Contents


Types de volume

Il y a 3 différent types de matériau "volume". Tous les 3 sont des shaders généraux "approximatifs", juste avec une complexité variable.

Clair

Le milieu "clair" utilisé avec le matériau "verre2"
.


La matériau "clair" est un volume simple qui produit de la réfraction et de l'absorption mais pas de diffusion. Primairement, ça veut dire qu'il sera utilisé avec des matériaux "clairs", comme le verre coloré. Il peut aussi être utilisé pour ajouter un certain réalisme au matériau "translucide" (absorption sous-surfacique) à peu de frais de performance. Cependant, ce n'est pas un vrai matériau de dispersions sous-surfaciques, il sera insatisfaisant spécialement si vous voulez bloquer des sources de lumières claires.

Il a deux propriétés:
- une couleur d'absorption.
- un indice de réfraction

Couleur d'absorption (sigma_a)

La couleur d'absorption détermine la quantité de lumière perdue quand elle passe au travers du volume. Ça définit un coefficient d'atténuation, ce qui signifie que la couleur deviendra plus sombre et saturée, plus elle se déplacera à travers le volume. Ca veut dire également que ce contrôle de couleur paraitra travailler "à l'envers". Si vous spécifiez en premier la couleur d'absorption rouge, Luxrender va supprimer la lumière rouge, en vous laissant avec un volume bleu cyan.

Comme c'est difficile pour beaucoup de gens, un type de texture spéciale est prévue pour vous simplifier la vie: "couleur en profondeur". Cette texture demande une couleur RVB et une distance qui fixe jusqu'où un rayon lumineux doit voyager à travers le volume avant d'atteindre cette couleur. Elle produira alors en sortie un spectre d'absorption pour vous en fonction de ces données. Si un rayon atteint exactement la distance donnée, il correspondra à la couleur que vous avez défini. S'il parcourt une distance plus courte, il sera plus clair et moins saturée que la couleur donnée. S'il dépasse la distance spécifiée, il sera plus sombre et plus saturée. Contrairement à la couleur d'absorption normale, la "couleur en profondeur" vous permet de définir une couleur et d'être sûr que votre volume ait réellement cette couleur. Vous pouvez utiliser une texture pour la valeur de la "couleur de transmission", ce qui permet des choses comme des couleurs spectrales à une profondeur particulière.

Il est également possible de régler l'absorption en utilisant des données mesurées, via un type de données tabulées de texture. Vous devrait le connecter au canal de la couleur d'absorption sans l'utilisation de la "couleur en profondeur". Si votre fichier utilise une unité autre que le mètre, la sortie de la couleur d'absorption doit être mis à l'échelle pour compenser l'échelle de la texture.

La profondeur d'absorption de la gauche vers la droite: 10m, 1m, 10cm, 1cm, et 1mm.


La saturation de la couleur d'absorption de la gauche vers la droite: 0.0, 0.5, 0.9, 0.999 et 1.0.


Indices de réfractions (Fresnel)

Les propriétés de réfraction sont définies par la valeur du Fresnel. Elle peut accepter une valeur constante d'IOR, ou bien vous pouvez définir des collections de données plus complexes avec des textures de Fresnel.
La réfraction de volume n'est pas supportée par tous les matériaux. En fait, dans LuxRender r1.30 (et les versions antérieures), le seul matériau qui l'utilisait était le "verre2", pour tous les autres, soit ils ne tenaient compte des réfractions, soit ils avaient déjà leurs propres réglages d'IOR utilisés à la place.

Exemple d'indices of réfraction de la gauche vers la droite: gaz hydrogène (1.000132), glace d'eau (1.31), verre commun (1.519), verre lourd et cristal (1.805), et diamant (2.41)


Le matériau "clair" utilisé avec le matériau "verre rugueux":
Texture de sol. de patro (modélisation 3D de Stanford Computer Graphics Lab)
.


Homogène

Smokeball.jpg Air homogeneous.jpg

Le volume homogène représente un volume avec une distribution uniforme de particules microscopiques. Lorsqu'il est utilisé comme un volume intérieur, il peut être utilisé pour la dispersion sous-surfacique (SSS) ou des liquides nuageux. Il peut également être utilisé en tant que volume du monde, ce qui permettra la diffusion atmosphérique.

IMPORTANT: La diffusion atmosphérique est très légère. Pour la simuler efficacement, vous devez utiliser l'intégrateur de volume "single", jamais "multi". Ça permettra de réduire considérablement le bruit dans la scène.
L'intégrateur "multi" doit être utilisé avec la lourde diffusion interne (c.a.d. SSS)

Le volume "homogène" possède les mêmes paramètres d'indice de réfraction et d'absorption que ceux du volume "clair".
En plus de ceux-ci, il dispose de deux paramètres supplémentaires:

- la couleur de dispersion.
- l"asymétrie de dispersion.

Couleur de dispersion (sigma_s)

La "couleur de dispersion" détermine la couleur et la densité des particules. Des valeurs hautes sont plus denses. Ce paramètre peut aussi affecter la couleur de votre volume, mais elle sera déterminée en premier par la couleur d'absorption:

Gauche: l'absorption est colorée avec une dispersion grise.
Droite: La dispersion est colorée avec une absorption grise.
Les deux utilisent le gris RGB: 0.1,0.1,0.9


L'effet de la profondeur d'absorption et l'échelle de dispersion sur un matériau avec une absorption colorée
.


Bien que la couleur de diffusion a des valeurs RVB, ce ne sont pas strictement des valeurs "flottante" RGB comme les autres champs de couleur. Vous pouvez spécifier des valeurs supérieures à 1. En fait, pour les volumes intérieurs lourds, vous aurez souvent besoin d'utiliser des valeurs dans la gamme 30 à 100, ou même plus. Pour les effets atmosphériques, une valeur d'environ 0,1 est beaucoup, et peut-être même trop. Pour aider à faire face à ce large éventail de valeurs, certains exporteurs LuxRender vont vous présenter un ensemble de valeurs RVB et un "facteur d'échelle" par lequel les valeurs RVB seront multipliés. Donc si vous voulez un coefficient final autour de 100 avec une teinte bleu, vous pouvez définir le facteur d'échelle de 100, et utiliser 0,9, 0,9, 1,0 pour les valeurs RVB. Vous obtiendrez donc le coefficient final de 90, 90, 100.

Un exemple de différentes valeurs du sigma_s lorsqu'il est utilisé pour des effets atmosphériques. Le plafond est d'environ 2m de haut. L'absorption est réglée pour laisser la lumière à une intensité de 90% à 40m.
Les valeurs du Sigma_s de gauche à droite: 0,001, 0,01, 0,05, 0,1, 1,0


Informations techniques

Techniquement parlant, la couleur de diffusion (sigma_s) et la couleur d'absorption (sigma_a) ne sont pas tellement des couleurs mais plutôt des valeurs de probabilité. Pour vous aider à bien comprendre, vous pouvez y penser plus simplement que des couleurs, mais plutôt des nuances de gris. Quand un rayon traverse un volume, un des deux événements suivants peut se produire à tout moment. Soit il peut être absorbé (perdre son énergie et disparaître) ou il peut être dispersé (reflété dans une autre direction). Sigma_a & sigma_s sont les probabilités respectives que ces événements se produisent à une distance donnée. Plus elles le sont, plus un rayon doit se déplacer peu (en moyenne) à travers le volume avant qu'un de ces événements se produisent.
Par exemple, élever la valeur du sigma_a augmente les chances que le rayon moyen soit absorbé, obscurcissant ainsi le volume. Élever la valeur du sigma_s augmente les probabilités qu'un événement de diffusion se produise, le volume paraîtrait alors plus lumineux et plus dense.

Savoir "pourquoi ce sont des valeurs de couleur" devient simple à expliquer: les sigma_a sont dépendants des longueurs d'ondes. Plutôt que d'être une valeur constante pour toutes les fréquences de la lumière, ils permettent des valeurs différentes pour différentes couleurs de la lumière. Par exemple, choisir un sigma_a jaune augmente la chance que la lumière jaune soit perdu par rapport aux autres couleurs, le volume prendra alors la couleur de la lumière restante (c.a.d. le complément du jaune donc plus violette).

Asymétrie de dispersion (g)

La valeur de l'asymétrie est un nombre compris entre -1 et +1 qui détermine si la dispersion est principalement vers l'avant (la lumière est diffusée dans la même direction que le rayon voyage) ou vers l'arrière (la lumière est diffusée en arrière vers où est venu le rayon). Des valeurs positives donnent une dispersion plus vers l'avant (meilleure pour les particules claires), des valeurs négatives donnent une dispersion plus vers l'arrière (meilleure pour les particules opaques). 0 est isotrope, ce qui signifie que la lumière est diffusée de façon uniforme dans toutes les directions.

Vous pouvez voir les capture d'écran dans l'espace 3D içi.

La lumière passant au travers d'un volume qui a une dispersion arrière bleu de -0.25 et une dispersion avant rouge de 0.25. La lumière voyageant de la gauche vers la droite, les vues sont respectivement à l'arrière (gauche), au dessus, et devant (droite). Vous pouvez voir les capture d'écran dans l'espace 3D içi.


Hétérogène

Le matériau "hétérogène" est le plus puissant (et aussi la plus lent) des 3 types. Il a les mêmes fonctionnalités que le volume "homogène", mais il inclut également le support des "marches de rayons". Cela signifie qu'il peut traiter avec des volumes variant par des propriétés internes, tels que les nuages, la fumée et le brouillard au ras du sol.

Le volume "hétérogène" peut être utilisé en volume extérieur, bien que cela ait un coût substantiel pour les performances (même avec l'intégrateur de volume "single"), il est déconseillée dans la plupart des cas. Un objet "conteneur de volume" dédié doit être utilisé pour des rendus de nuages ​​ou de brouillard.

Les volumes "clairs" et "homogènes" évalue les propriétés de volume une fois pendant le transit d'un rayon lumineux (au point d'entrée). Ils supposent ces propriétés sont constants sur tout le chemin jusqu'à l'autre côté du volume. Pour les volumes qui sont continues, cette optimisation est utile. Cependant, si le volume est "non continu" (comme un nuage), il apparaît des détails floues et les bords du récipient du volume deviennent visible. Afin de gérer les détails changeants, le volume "hétérogène" subdivise le chemin de transit du volume en plusieurs sous-chemins (un processus connu sous le nom "marches de rayons") et évalue les propriétés de nouveau à chaque sous-points.

Il y a plusieurs textures à utiliser pour le matériau "hétérogène" qui fournissent des données de structures au volume. La texture «exponentielle» va créer une pente ascendante pour produire un raz-de-brouillard. La texture «nuage» (à ne pas confondre avec les textures "Bruit de Perlin" de "Nuages" de Blender) est un générateur procédural de nuage pour les effets météorologiques. La texture "grille-densité" peut charger des ensembles de données "voxel" pour des formes de volume personnalisé. Tous les trois textures ont une sortie de type nombre "flottant". Ils peuvent être utilisés pour contrôler une texture "mélange" ou "bande" variant entre le noir et la couleur de dispersion ou la couleur d'absorption désirée. Autant la diffusion que l'absorption peuvent être texturées, elles ne sont pas mises à l'échelle automatiquement par l'autre.

Le volume "hétérogène" présente les mêmes propriétés que le volume "homogène", mais avec une option supplémentaire: la "taille du pas".

Taille du pas

La taille du pas définit l'espacement entre les sous-chemins des rayons, en mètre. Les pas les plus petits afficheront des détails de volume les plus nombreux, mais seront plus lent à rendre. En réglant le pas trop large, cela produira une apparence granuleuse ou alors flou du volume.