Qu'est-ce que le rendu volumétrique ? Tout savoir sur les shaders volumétriques, des nuages aux explosions image

Qu'est-ce que le rendu volumétrique ? Tout savoir sur les shaders volumétriques, des nuages aux explosions

Auteur : Arndt von Koenigsmarck · Révision technique : Sergen Eren · Dernière révision : août 2026


La plupart des objets en 3D ne sont que des coquilles vides. Une voiture, un personnage, même une montagne, une fois rendus, ne sont généralement qu’une fine surface enveloppant le vide, car pour les objets solides, la surface est la seule chose que la caméra peut voir. Mais la nature regorge d’éléments qui ne sont pas du tout solides. Les nuages, le brouillard, la fumée, le feu, la poussière dans un rayon de lumière : on peut voir à l’intérieur et à travers eux, et la lumière se comporte différemment partout à l’intérieur de ces phénomènes. Le rendu de ces phénomènes est volumétrique, et l’outil qui décrit leur apparence est l'ombrage de volume. Cet article explique à la fois les concepts et la physique, puis la mise en pratique concrète au sein de Redshift, le moteur de rendu accéléré par GPU de Maxon.


Le rendu volumétrique, également appelé rendu de volume, est une technique qui consiste à générer des images à partir de grilles de données tridimensionnelles plutôt qu'à partir de surfaces. Alors qu’un modèle 3D classique est défini par des polygones décrivant son enveloppe extérieure, un volume est défini par des voxels, de minuscules cellules qui remplissent une région de l’espace, chacune stockant des valeurs telles que la densité ou la température. Le moteur de rendu examine le comportement de la lumière lorsqu’elle traverse toutes ces cellules : un volume peut ainsi être vaporeux à ses extrémités, dense en son centre et lumineux au milieu, tout en même temps.

La comparaison avec le rendu de surface est le moyen le plus simple de comprendre ce principe. Lorsqu’un rayon de lumière frappe la surface d’un polygone, le moteur de rendu évalue le matériau en un seul point précis, et c’est tout. Lorsqu’un rayon pénètre dans un volume, il n’y a pas de point unique à évaluer. Le rayon continue sa trajectoire, et chaque portion de ce parcours peut absorber, diffuser ou ajouter de la lumière. Un pixel est un carré coloré dans une image 2D ; un voxel est son équivalent en 3D, une valeur dans une grille spatiale. Cette dimension supplémentaire résume à elle seule tout le principe du rendu volumétrique, y compris pourquoi il est si beau et pourquoi il coûte si cher. 

Une simulation de fumée tourbillonnante et turbulente a été réalisée ici. En haut à gauche, la surface des nuages ainsi créés a été visualisée à l’aide de polygones classiques ; en haut à droite, un shader de volume a été utilisé pour le rendu, ce qui permet, par exemple, contre-jour réaliste, des dégradés subtils de transparence ainsi que la diffusion de la lumière au cœur même du volume. 

La caméra a été ici rapprochée de la simulation (montrée dans sa globalité plus haut) afin d'illustrer schématiquement la différence de méthode de calcul. La grille verte représente la matrice de pixels de l'image finale, organisée en lignes et en colonnes. Le pixel affiché en vert plein est celui en cours d'évaluation : il est traversé par un rayon de calcul (la flèche) issu du point de vue de la caméra, qui pénètre dans l'espace 3D de la scène. Dans le cas du modèle polygonal simple (à gauche sur l’image), le rayon touche la surface et peut y recueillir toutes les informations nécessaires (voir le marqueur rouge). Dans le cas d’un volume, ces informations ponctuelles sont insuffisantes, car le rayon de calcul doit recueillir des informations — notamment des données sur la densité et la diffusion de la lumière — à de nombreux endroits au sein du volume afin de rendre la fumée de manière réaliste.

Un shader de volume est le matériau utilisé pour les objets qui occupent un espace. Au lieu de décrire une surface, il indique au moteur de rendu comment le milieu, en chaque point à l’intérieur d’un volume, interagit avec la lumière. Presque tous les moteurs modernes construisent cette description à partir des trois mêmes éléments, et la documentation de Redshift propose une analogie facile à retenir avec les matériaux de surface pour chacun d’entre eux :

  • La diffusion est l’équivalent, au niveau du volume, d’une couleur diffuse. Elle définit la quantité de lumière qui rebondit sur les particules microscopiques à l’intérieur du milieu et sous quelle couleur, ce qui rend les nuages blancs et la fumée grise.

  • L’absorption est l’équivalent de la transparence. Elle définit la quantité de lumière que le milieu absorbe, ce qui rend la fumée épaisse sombre et les volumes denses opaques.

  • L’émission est l’équivalent de l’incandescence ou de l’auto-illumination. Elle permet au milieu d’émettre sa propre lumière, ce qui fait que le feu et les explosions brillent de l’intérieur.

Chaque nuage, banc de brouillard ou boule de feu que vous avez vu dans un film est un mélange de ces trois comportements, généralement généré par les données d’une simulation. Dans Redshift, ce rôle est assuré par le shader Standard Volume, un matériau volumique basé sur la physique destiné aux nuages, à la fumée, au feu et aux explosions. Une petite précision pour ceux qui sont arrivés ici via un moteur de recherche : il existe également un test de performance GPU bien connu appelé « Volume Shader BM » qui emprunte ce terme. Il s’agit d’un benchmark, et non d’un matériau. Cet article traite du véritable shader. 

Les physiciens qualifient le brouillard, la fumée et les nuages de « milieux participants », car l’espace lui-même intervient dans l’éclairage au lieu de laisser la lumière suivre son chemin jusqu’à ce qu’elle atteigne une surface. Lorsqu’un rayon traverse un tel milieu, quatre phénomènes peuvent se produire. La lumière peut être absorbée et transformée en chaleur. Elle peut être diffusée hors de la trajectoire du rayon, ce qui atténue son intensité. Elle peut être diffusée dans la trajectoire du rayon depuis une autre source, ce qui l'intensifie. Et le milieu peut lui-même émettre de la lumière. L’effet combiné d’atténuation dû à l’absorption et à la diffusion vers l’extérieur est appelé « extinction », et la fraction de lumière qui survit à une partie du trajet est appelée « transmittance ». Les paramètres du shader volumique sont en réalité des commandes intuitives pour les artistes permettant de contrôler précisément ces quantités.

Un autre concept joue un rôle étonnamment important : la fonction de phase, qui est l’équivalent volumétrique de la manière dont un matériau de surface distribue la lumière réfléchie. Elle répond à la question de savoir dans quelle direction la lumière continue après s’être diffusée. Les particules de fumée diffusent la lumière de manière à peu près égale dans toutes les directions, ce que l’on appelle la diffusion isotrope. Les gouttelettes d’eau dans les nuages projettent la lumière principalement vers l’avant, dans sa direction initiale. C’est cette diffusion vers l’avant qui explique pourquoi un nuage situé entre vous et le soleil présente une lisière argentée brillante, et pourquoi le brouillard à contre-jour brille. Les moteurs de rendu modélisent ce phénomène à l’aide de la fonction de phase de Henyey-Greenstein, un classique remontant à un article d’astrophysique de 1941, en utilisant une seule valeur d’anisotropie allant de moins un (diffusion vers l’arrière) à zéro (diffusion isotrope) et jusqu’à plus un (diffusion vers l’avant). Pour les nuages en particulier, Redshift propose en outre le modèle plus récent de Jendersie-d’Eon, qui se rapproche davantage de la véritable diffusion de Mie des gouttelettes d’eau et reproduit un pic de diffusion vers l’avant plus réaliste que ne le permet le modèle de Henyey-Greenstein. 

Pour chacun de ces rendus, le même nuage a été rendu et éclairé en contre-jour par le soleil. La seule différence réside dans le paramètre d'anisotropie du matériau volumique. De gauche à droite, les valeurs utilisées étaient respectivement -0,9, 0 et 0,85. La valeur d’anisotropie positive du rendu de droite montre clairement comment les rayons sont davantage réfractés vers l’arrière du volume nuageux, rendant ainsi la lumière du soleil plus visible au niveau des bords moins denses des nuages.

Pour les lecteurs qui souhaitent en savoir plus sur les coulisses, voici comment les développeurs de Redshift décrivent eux-mêmes le shader Standard Volume. En interne, il s’agit d’un proche parent du « Random Walk Subsurface Scattering » (diffusion sous-surface par marche aléatoire) dans le OpenPBR et Standard Surface. La Transluminescence simule la propagation de la lumière à travers un milieu fini et uniforme, tel que la peau ou la cire ; le shader « Volume Standard » applique le même principe à un milieu hétérogène dont la densité varie à chaque voxel. Les paramètres se correspondent presque un à un : la « Subsurface Color » correspond à la couleur de dispersion du shader « Volume », le « Subsurface Radius » correspond à la couleur de transparence, et la « Subsurface Scale » correspond au contrôle de profondeur (voir la figure suivante).

Le graphique compare la Transluminescence (SSS) (à gauche) au rendu volumique (à droite). Alors que la transluminescence simule la diffusion de la lumière à l’intérieur d’un volume délimité par une surface polygonale (comme la cire, la peau, le lait ou le marbre), un shader de volume simule des propriétés telles que la densité et l’émission de lumière due à la température à l’intérieur d’un espace qui n’est pas délimité par des polygones (comme les flammes, le brouillard, la fumée ou les nuages).

Lors du rendu, Redshift fait parcourir des rayons à travers le volume, en échantillonnant voxel par voxel à mesure que le rayon traverse le milieu. La grille de densité qu’il échantillonne correspond simplement à une description scalaire du nombre de particules présentes dans chaque voxel par rapport à l’espace vide, indépendamment de toute couleur. La couleur de diffusion correspond à l’albédo de ces particules en suspension, c’est-à-dire la couleur de la lumière qu’elles renvoient. Les paramètres d’anisotropie déterminent si cette lumière diffusée est projetée vers l’avant, vers l’arrière ou uniformément dans toutes les directions, en utilisant par défaut le modèle de Henyey-Greenstein ou celui de Jendersie-d’Eon pour les milieux aqueux tels que les nuages.

La couleur de transparence est l’élément le plus intéressant. Il s’agit d’un codage intuitif pour les artistes du « parcours libre moyen », c’est-à-dire la distance moyenne parcourue par chaque longueur d’onde de lumière à travers le milieu avant d’être éteinte. Les valeurs de rouge, vert et bleu représentent chacune la distance parcourue par leur longueur d’onde respective, et le paramètre « Profondeur » multiplie ces valeurs comprises entre 0 et 1 par des distances réelles, mesurées en centimètres et tenant compte de l’échelle de votre scène. Comme les différentes longueurs d’onde sont absorbées à des rythmes différents, la lumière qui parcourt une distance suffisante à travers un tel milieu finit par prendre une teinte opposée à la couleur de transparence, une fois que les autres longueurs d’onde ont été épuisées. C'est exactement ce phénomène physique qui rend l'eau profonde bleue, et c'est pourquoi une teinte de transparence subtile confère aux volumes une profondeur naturelle et organique qu'une couleur de diffusion uniforme ne peut pas offrir. 

Le parcours à travers les voxels explique comment un moteur de rendu interprète un volume, mais le véritable coût réside dans la fréquence à laquelle la lumière change de direction à l’intérieur de celui-ci. Si le moteur ne simule qu’un seul rebond, ce qu’on appelle la « diffusion simple », les milieux clairs comme une brume légère s’affichent correctement, mais un nuage dense apparaît sombre et sans vie. Les vrais nuages sont lumineux car les photons rebondissent des dizaines, voire des centaines de fois à l’intérieur avant de s’échapper ; un cumulus épais réfléchit jusqu’à 90 % de la lumière qui le frappe. Simuler cette diffusion multiple implique de suivre chaque rayon à travers de nombreux rebonds supplémentaires, et chaque rebond ajouté multiplie la charge de travail. C’est la véritable raison pour laquelle le rendu volumique a la réputation d’être lent, et c’est également là que le rendu GPU et les approximations astucieuses, abordées dans la deuxième partie, prennent tout leur sens. Les moteurs modernes réduisent encore davantage ce coût grâce au débruitage, bien que les volumes soient notoirement plus difficiles à débruiter que les surfaces, car les données auxiliaires qui guident un débruiteur, telles que les normales de surface, n’existent tout simplement pas à l’intérieur d’un nuage. 

Cette série d'images compare l'effet de différents réglages de la Profondeur de tracé sur le rendu d'un nuage contenant une source lumineuse cylindrique. De gauche à droite, les valeurs 1, 5 et 31 ont été utilisées pour la Profondeur de tracé ». Il est important de noter que l'intensité de diffusion dans le shader de volume doit être suffisamment élevée pour que l'intensité de la lumière diffusée à l'intérieur du volume soit visible.

Les volumes doivent pouvoir être transférés entre le logiciel qui les simule et le moteur qui les rend, ce problème a été résolu il y a plusieurs années grâce à OpenVDB. Développé à l’origine chez DreamWorks Animation, open source depuis 2012, récompensé par un Oscar pour ses réalisations techniques et désormais géré par l’Academy Software Foundation, OpenVDB est la norme de facto pour le stockage des données volumétriques. La documentation de Redshift en donne un résumé parfait en une seule ligne : « Les fichiers OpenVDB sont au rendu volumétrique ce que les fichiers EXR sont aux images HDR. » Alors qu’un fichier EXR stocke des pixels, un fichier VDB stocke des voxels, et ce de manière clairsemée ; ainsi, le vaste espace vide autour d’un panache de fumée vaporeux ne prend pratiquement pas de place sur le disque ou en mémoire.

À l’intérieur d’un fichier VDB, les données de voxels sont organisées en grilles nommées, que Redshift appelle « canaux » dans les contextes d’ombrage. Les noms relèvent davantage de conventions que de règles, mais les plus courants sont density, une valeur sans unité décrivant le nombre de particules remplissant chaque voxel et donc les zones où le volume a de l'épaisseur, temperature pour la chaleur qui alimente les émissions de feu, velocity pour le flou de mouvement, et parfois une grille color pour les volumes colorisés. Les noms de canaux sont sensibles à la casse dans Redshift, ce qui a causé bien des moments de confusion à de nombreux artistes. D’où proviennent les fichiers VDB ? Des outils de simulation tels que Houdini, le simulateur de fluides en temps réel EmberGen et le système Pyro intégré à Cinema 4D les exportent tous, et il existe d’excellentes ressources gratuites pour s’entraîner, notamment le célèbre ensemble de données sur les nuages des studios d’animation Walt Disney et les packs VDB gratuits de JangaFX


Redshift divise le rendu volumétrique en un petit ensemble d'outils, et savoir lequel utiliser représente la moitié du travail. Les volumes hétérogènes, c'est-à-dire tout ce qui présente une densité variable, comme les nuages, la fumée, le feu et les explosions, sont chargés via l’objet Redshift Volume, qui lit un fichier VDB ou une séquence VDB animée et affiche un cadre de sélection ou un aperçu sous forme de nuage de points dans la fenêtre de visualisation. L'aspect de ce volume est ensuite défini par le matériau « Volume standard ». Les volumes homogènes, c’est-à-dire les milieux uniformes tels que la brume atmosphérique et le brouillard, ne nécessitent aucune donnée voxel : l’objet « Environnement Redshift » remplit la scène, ou une couche de celle-ci dont la hauteur est limitée, avec un milieu de diffusion. C’est également l’outil utilisé pour l’éclairage volumétrique, notamment les célèbres « rayons divins » qui rendent visibles les rayons lumineux dans l’air poussiéreux. Enfin, un objet « Nuages » dédié génère des ciels procéduraux complets, avec un mode rapide et astucieux qui rend la couverture nuageuse sous forme d’arrière-plan et un mode entièrement volumétrique dans lequel un gratte-ciel ou un avion peut percer la couche nuageuse et être éclairé par celle-ci. 

Voici un exemple illustrant une fenêtre en verre éclairée de l'extérieur. Sans simulation atmosphérique de l'environnement, les rayons de lumière entre la fenêtre et le sol restent invisibles. Grâce à l’objet « Environnement Redshift », il est possible de simuler du brouillard ou une atmosphère visible, comme celle provoquée par une forte humidité ou des particules de poussière en suspension dans l’air. Ainsi, les rayons de lumière deviennent visibles, même entre les objets.

Une contrainte pratique mérite d’être clairement soulignée : les volumes doivent tenir entièrement dans la mémoire du GPU. Il s’agit de la seule catégorie de ressources exclue du système « out-of-core » de Redshift ; ainsi, une VDB gigantesque dépassant la VRAM disponible fera échouer le rendu plutôt que simplement le ralentir. Limiter la résolution des simulations à celle requise par la scène n’est pas seulement une question de vitesse, c’est aussi une question de budget mémoire.

Le matériau « Volume Standard » présente deux facettes. Utilisé seul, avec des noms de grilles saisis dans ses champs de canal, il suit un parcours rapide spécialement optimisé et se comporte comme un shader de volume classique et simple d’utilisation, avec des préréglages bien ajustés pour les nuages, la fumée et les flammes. Utilisé avec des nœuds d’entrée connectés, il devient entièrement programmable, vous permettant de contrôler la densité, la couleur et la température à l’aide de bruits procéduraux, de remapper des grilles et même de déplacer des voxels pour plus de détails. Pour une première utilisation, les champs intégrés suffisent amplement, et quatre groupes de paramètres se chargent de l’essentiel du travail :

  • Canal de volume et densité. Le champ « Canal » désigne la grille VDB qui définit la forme du volume, presque toujours la densité. Le paramètre « Densité » la multiplie et détermine le caractère globalement épais ou fin du milieu. Saisissez le nom de la grille à l’identique ; les canaux sont sensibles à la casse.

  • Dispersion. Les paramètres « Couleur » et « Échelle » déterminent ce que le volume reflète et avec quelle intensité. Le mode d’anisotropie choisit la fonction de phase : Henyey-Greenstein, avec son curseur allant de moins un à plus un, est le plus polyvalent et le choix idéal pour une fumée isotrope, tandis que Jendersie-d’Eon est le spécialiste des nuages qui modélise la lumière traversant des gouttelettes d’eau.

  • Transparence. Les paramètres « Couleur de transparence » et « Profondeur » mettent en œuvre les distances parcourues par longueur d’onde décrites dans la partie 1. Plus la couleur est foncée, plus le volume est épais ; plus elle est claire, plus il est fin ; et toute couleur teinte le volume, sa couleur opposée apparaissant en profondeur, y compris dans les ombres. Une saturation subtile fait ici toute la différence ; réglez la « Profondeur » en fonction de la taille réelle de votre volume, car elle est mesurée en centimètres.

  • Émission. Pour le feu et les explosions, pointez le canal d’émission vers la grille de température et choisissez le mode « Corps noir », qui convertit les températures en couleurs et intensités physiquement correctes sur l’échelle de Kelvin, allant du rouge foncé autour de 3 000 K au blanc et au bleu-blanc au-delà de 9 000 K. Le mode « Color » (Couleur), quant à lui, vous propose un dégradé, à savoir la rampe classique de flammes allant du noir au rouge puis au jaune, pour un feu stylisé qui ignore délibérément les lois de la physique. 

Rendu d'une torche allumée, avec la flamme et la fumée représentées à différentes températures (de gauche à droite : 0, 3 000, 6 000, 9 000 et 12 000 kelvins). Ce réglage peut être effectué ultérieurement à l’aide du matériau « Redshift Volume Standard » sans avoir à resimuler la scène. 
Au lieu de vous fier à une répartition physiquement exacte des valeurs de couleur et de luminosité basée sur les températures simulées, vous pouvez également utiliser des dégradés de couleurs personnalisés et des réglages de couleur standard au sein du matériau volumique pour personnaliser le rendu de la fumée et des flammes, par exemple, selon vos préférences.

La première partie a établi que les volumes denses ne prennent vie qu’avec la diffusion multiple, et Redshift met cela en évidence via un paramètre de rendu appelé « Profondeur de tracé », accompagné d’une exigence qu’il convient de retenir : la diffusion multiple volumétrique fonctionne avec l’éclairage global de type « Brute Force ». Augmenter la profondeur de traçage par rapport à sa valeur par défaut transforme un nuage, qui passe d’une masse grise à un objet lumineux et réaliste, au prix d’un coût de rendu qui augmente de manière exponentielle. Les nuages à diffusion directe bénéficient énormément d’une plus grande profondeur ; la fumée isotrope présente des rendements décroissants bien plus tôt ; le feu émissif gagne un magnifique débordement de lumière interne à mesure que sa lueur illumine la fumée qui l’entoure.

Redshift propose également trois raccourcis auxquels les artistes expérimentés ont recours avant d’augmenter la profondeur de tracé. Le premier est Atténuation de l'extinction, qui simule l’effet de centaines de rebonds supplémentaires en réduisant légèrement l’extinction à chaque rebond réel. Sa valeur par défaut de 0,2 est un juste milieu délibéré, et dans le test sur les nuages fourni par la documentation, il a produit un résultat plus lumineux et plus réaliste tout en s’affichant plus rapidement que la même scène sans ce paramètre. Le deuxième est Atténuation de l'anisotropie, son complément naturel, qui diminue légèrement l’anisotropie à chaque rebond afin que les rayons les plus profonds se diffusent de manière de plus en plus isotrope. Cela reproduit un principe classique du transfert radiatif connu sous le nom de principe de similitude de van de Hulst : dans les milieux à diffusion multiple intense, différentes combinaisons d’albédo de diffusion et d’anisotropie produisent un aspect pratiquement indiscernable tant que les propriétés de transport globales restent les mêmes. Comme l’évaluation de la diffusion anisotrope est coûteuse, l’assouplir au fil des rebonds permet à la fois de simuler une diffusion d’ordre élevé et de réduire le coût de rendu du volume. La troisième technique est l'échelle de densité des ombres, une astuce classique qui permet à la lumière de pénétrer plus profondément dans le volume sans en modifier la silhouette, simulant ainsi l'effet d'éclaircissement de la diffusion multiple à un coût bien moindre. Un volume bien équilibré combine généralement une profondeur de trace modérée avec ces astuces plutôt que de miser uniquement sur une profondeur excessive. 

Si vous travaillez avec Cinema 4D, vous n'avez pas besoin de logiciel externe pour générer des données de volume, car le système Pyro simule la fumée, le feu et les explosions de manière native. Le flux de travail est agréablement court. Tout objet doté d'une propriété balise Pyro Emitter commence à générer une simulation, et l’objet Pyro Output collecte ses canaux, généralement la densité, la température et la vitesse (une introduction aux simulations Pyro est disponible ici dans la documentation de Cinema 4D). À partir de là, vous pouvez effectuer un rendu directement, ou enregistrer la simulation dans une séquence VDB et la recharger via un objet Redshift Volume, ce que la documentation recommande comme solution économe en mémoire pour la production. Le rendu est presque automatique : les préréglages Pyro Volume fournis pour le shader Redshift Standard Volume sont fournis avec la grille de densité reliée à la diffusion et la grille de température reliée à l’émission de corps noir, ce qui correspond précisément aux deux connexions qui transforment les données brutes de simulation en fumée et en feu rendus. Le flou de mouvement est l’étape que les artistes ont tendance à oublier. Comme une séquence VDB est une série d’instantanés figés, Redshift lit le mouvement à partir de la grille de vitesse ; entrez la vitesse dans le champ « Velocity » de l’objet Volume et augmentez l’échelle de vitesse (« Velocity Scale ») jusqu’à ce que le flou corresponde à l’énergie de la simulation, et n’hésitez pas : des valeurs bien supérieures à 1 000 sont tout à fait normales. 

La partie gauche de l'image illustre la première étape de la création ou du chargement d'une simulation volumique. Dans notre cas, nous avons utilisé la simulation « Pyro » de Cinema 4D pour générer un nuage d'explosion et avons enregistré son animation sous forme de séquence VDB. Cela permet de réutiliser la simulation à tout moment dans d’autres projets et rend également le rendu plus économe en mémoire. Les images de droite présentent les étapes suivantes : configuration du shader de volume pour contrôler la couleur et l’émission, éclairage de la simulation, correction des couleurs et ajout d’effets visuels tels que la lueur ou le flou de mouvement. Tout cela peut être réalisé directement dans Cinema 4D et Redshift ou en post-production, selon le pipeline souhaité et selon qu’une intégration avec d’autres rendus ou des séquences filmées est encore nécessaire ou non.

  • Le volume s'affiche en noir ou est invisible : vérifiez qu’un nom de grille est saisi dans le champ « channel » (canal) avec une orthographe et une casse exactes, et qu’au moins une lumière a une contribution au volume supérieure à zéro.

  • Le volume semble bruité ou granuleux : augmentez d’abord le nombre d’échantillons de lumière, car les lumières dominent le bruit du volume ; les milieux à forte dispersion nécessitent davantage d’échantillons que ceux à forte absorption.

  • Le volume présente un aspect pixélisé : la résolution de la simulation est trop faible. Un remappage du shader peut l’adoucir, mais seul un cache à plus haute résolution permet de résoudre véritablement le problème.

  • Le rendu s'interrompt avec une erreur « out of VRAM » : le VDB ne tient pas dans la mémoire du GPU. Réduisez la résolution de simulation, supprimez les grilles inutilisées du cache ou divisez l’effet.

  • Le nuage semble plat et gris : augmentez la « Profondeur de tracé de volume » avec « Brute Force GI », conservez la valeur par défaut de 0,2 pour « Atténuation de l'extinction », et réduisez légèrement l’échelle de densité des ombres avant d’augmenter davantage la profondeur.

  • Le brouillard noie l'ensemble de l'image : réduisez considérablement la valeur de « Dispersion de l'objet « Environnement » ; même de faibles valeurs ont un impact important.

En termes simples, qu'est-ce qu'un shader de volume ?

Un shader volumique est un matériau destiné aux milieux remplissant l'espace, tels que la fumée, le brouillard, les nuages et le feu. Au lieu de colorer une surface, il indique au moteur de rendu comment chaque point à l'intérieur d'un volume absorbe, diffuse et émet la lumière, généralement en fonction de données de simulation stockées dans des grilles de voxels. 

Quelle est la différence entre le rendu volumique et le rendu de surface ?

Le rendu de surface évalue un matériau au point précis où un rayon touche l'enveloppe d'un polygone. Le rendu volumique suit le rayon à travers une grille 3D de voxels et cumule les interactions lumineuses tout au long de son trajet, ce qui permet d'obtenir des milieux semi-transparents et éclairés de l'intérieur qu'aucune surface ne peut imiter. 

Qu'est-ce qu'un fichier VDB ?

Un fichier VDB est le format de fichier standard de l'industrie pour les données volumétriques ; il repose sur la bibliothèque open source OpenVDB, développée à l'origine par DreamWorks Animation. Il stocke des grilles de voxels clairsemées portant des noms tels que « density », « temperature » et « velocity », et est exporté par des outils tels que Houdini, EmberGen et le système Pyro de Cinema 4D. 

Qu'est-ce qu'un voxel, et en quoi diffère-t-il d'un pixel ?

Un pixel est un carré coloré dans une image 2D. Un voxel est une cellule d'une grille 3D, qui stocke des valeurs telles que la densité ou la température à un emplacement donné dans l'espace. Le rendu volumétrique calcule les pixels 2D en simulant le passage de la lumière à travers des millions de voxels 3D. 

Pourquoi mes rendus volumétriques présentent-ils du bruit ?

Le bruit dans les volumes provient généralement de l'éclairage. Les sources lumineuses nécessitent suffisamment d'échantillons pour déterminer leur contribution au sein d'un milieu diffusant ; ainsi, augmenter le nombre d'échantillons pour la lumière est généralement plus efficace que d'augmenter les paramètres de qualité globaux. Les volumes où la diffusion domine, tels que les nuages, nécessitent nettement plus d'échantillons que la fumée fine et absorbante. 

Comment puis-je créer un effet de feu réaliste ?

Utilisez la grille de température de votre simulation pour contrôler l'émission en mode « Corps noir ». L'émission « Corps noir » convertit automatiquement les températures physiques en couleurs et intensités de feu réalistes : une lueur rouge apparaît vers 3 000 kelvins et vire au blanc à mesure que la température augmente. Dans Cinema 4D, le shader « Volume standard » propose déjà des préréglages adaptés à de nombreux systèmes de simulation volumique et saisit automatiquement les noms correspondants des grilles de voxels. 

Comment créer des rayons divins ?

Les « rayons divins » sont un effet d'éclairage volumétrique : il s'agit de faisceaux visibles créés lorsque la lumière traverse un milieu de diffusion mince. Dans Redshift, ajoutez un objet « Redshift Environment », réglez un faible niveau de dispersion et ajouter à la scène une source lumineuse puissante et partiellement masquée, telle que le soleil à travers une fenêtre. Les rayons et les ombres volumétriques apparaissent alors naturellement. 

Pourquoi le rendu volumétrique prend-il autant de temps, et comment puis-je l'accélérer ?

Les volumes sont coûteux car les rayons sont échantillonnés en de nombreux points le long de leur trajectoire et peuvent subir de multiples diffusions à l'intérieur de milieux denses. Pour accélérer le processus dans Redshift, ne conservez la haute résolution que lorsque cela est nécessaire, utilisez une profondeur de traçage de volume modérée, laissez le paramètre Atténuation de l’extinction sur sa valeur par défaut, réduisez l’échelle de densité des ombres au lieu d’ajouter des rebonds, et laissez le GPU et le débruiteur s’occuper du reste.