Vray DMC Sampler en deux clics!

By 17/09/2010 Blog, Tutoriaux 16 Comments
dmc_sampler

En ce moment je bosse sur un parking, je vous laisse imaginer le sol bien brillant avec 2000 reflets, du grain partout…un classique ! Et grâce au DMC Sampler il y a moyen de supprimer tout ce grain sans même toucher au shader, aux global subdivs… c’est la méthode 1/100 avec l’adaptive DMC Image Sampler.

Bon je vous préviens ça va être vite fait! J’ai découvert ça il y a un bout de temps dans un making-of de Red Vertex sur Evermotion. J’adore ces making-of… il y a bien 15 tutos la-dedans! Du coup j’avais testé un peu et trouvé ça pas mal mais je n’en avais jamais vraiment eu l’utilité. C’est maintenant chose faite donc, tuto!

La petite scène d’exemple, rien de fou comme d’habitude, Irradiance Map et Light Cache, pour le sol j’ai utilisé un shader reflechissant et pour le reste un simple shader blanc avec un VrayDirt. Niveau eclairage quelques VrayLights Plane et un VraySun.

Premier rendu, en mode DMC Sampler avec un 1/4 et le « Use Dmc Sampler Threshold » coché.

Bon, comme vous le voyez il y a du grain et ce n’est pas flambant…

Pour remédier à tout ça, deux choses:

. la première passer de 1/4 à 1/100. Pour rappel le DMC Sampler est adaptif, c’est-à-dire qu’il se cale en fonction de l’objet, la distance… pour choisir la valeur la plus adaptée et réduire vos temps de rendus.

. la deuxième c’est de jouer avec le « Clr Tresh« , voici plusieurs valeurs, 0.01 étant la valeur par défaut.  Le tout en images :

Evidemment on a rien sans rien, niveau temps de calcul ça plombe un peu mais, sur la qualité des blurry reflections, franchement le top! Vous remarquerez aussi que les VrayLights (les ombres sur les poteaux) et le VrayDirt sont aussi affectés par le Clr.Treshold, donc fini le grain et de toutes sortes!

16 Comments

  • GuiX dit :

    J’avais justement galéré sur un projet de parking similaire et au final, j’avais laissé tomber.
    Je crois bien que je vais m’y remettre!
    Merci Matt! ;-)

  • thierry dit :

    Merci,

    a essayer d’urgence !!!

  • mrH dit :

    Ça marche super bien mais le temps de rendu explose vraiment

  • Galfarion dit :

    Bien joué! Clair et concis, comme d’habitude,
    Merci Matt!

  • matt dit :

    @mrH: Effectivement mais le 0.001 de l’exemple est franchement élevé comme valeur, 0.003 est une valeur plus « respectable ». Après c’est sur que ça plombe mais quand ça part pour la nuit…

  • Bonjour Matt,
    Merci encore pour ton blog mais j’aimerais réagir à ce tutoriel.
    Pour rappel, le Adaptive QMC sampler est un algorithme qui détermine un nombre variable d’échantillons (sample) contenu dans 1 pixel sur base des différentes intensités entre pixels et pixels voisins (cf. vRay help).
    Il est déterminé par le taux adaptation (adaptive amount) et le seuil de tolérance au bruit (noise/clr threshold). Ce premier détermine le nombre d’échantillon qui peuvent être appliqué à chaque pixel et à ses sous-pixels. Par défaut 1/4 c’est à dire qu’au min 1 pixel et au max 4^4=16 sous-pixel. En général la valeur initiale ne doit pas dépasser 1 quant à son max, si je mets 100^100 cela donne 10^200=100000000…..sous-pixel!!!! (Imaginez le travail que doit effectuer l’antialiasing qui ne travail qu’au niveau des sous-pixels si celui-ci est activé)
    Le second (noise/clr threshold) paramètre donne une indication à vRay à choisir quel sous-pixel est divisé et quel échantillon tolère-il ou juge-il d’être affiché. (Par expérience et depuis les efforts de réduction du bruit au fil des versions, une valeur entre 0,005 et 0,002 est largement suffisante et les différences sont presque imperceptibles. En dessous les temps de calculs deviennent astronomique). Pour résumé, plus les valeurs min/max sont grandes plus votre antialiasing travaillera et vous aurez des images bien nets (2/6 pour la production). Plus la valeurs est petite pour le clr threshold plus vous aurez des images sans bruit sans jamais dépasser 0,002.

    Maintenant je n’ai pas testé ta méthode 1/100, donc que ce que je viens de dire plus haut reste théorique, j’espère juste avoir été clair et que le message que je souhaite passer est que vRay doit rester un moteur dit « biaisé » et que le plus important reste le ratio perf/temps.

    Merci pour votre lecture
    Guillaume

  • matt dit :

    @Guillaume: Merci pour ta réponse.
    En fait je ne saurais pas vraiment l’expliquer mais si tu laisses un paramètre style 2/6 avec avec le Clr Treshold à 0.001 (ce qui est trop, on est d’accord) tu verras qu’il restera du grain. Le « 100 » fait donc le reste du boulot. Et évidemment, sans rentrer dans la logique d’un moteur « unbiased » je préfère plomber mon rendu final que mon temps de travail (grimper les subdivs des shaders, lights…).

    Apres c’est sur que c’est pas une bonne méthode pour de la vidéo, comme je le dis au début j’ai découvert ça il y a quasiment 1 an et je m’en sers en prod que maintenant et sur un sujet bien précis ;)

  • Le noise à son charme aussi :)
    Moi je l’aurais appelé la méthode ABSOLUTE NOISELESS ;)

    Longue vie à ce blog,
    bye+

  • Sliver dit :

    Merci Matt pour ta volonté de partager et pour cette explication quant au DMC ;) Bonne continuation pour les tutos à venir (continu de bien illustrer comme ça c’est agréable à lire et à comprendre au 1er coup d’oeil)

  • thierry dit :

    Merci Matt pour le tutos et Guilaume pour l’explication,
    je n’ai absolument rien compris mais je vais relire
    lentement; juste aprés mon aspirine :)..;
    Merci encore de partager votre précieux savoir.

  • baptiste dit :

    Un grand merci matt…toujours les bons tuyauts en français if you please…
    Mais suite à la remarque de Guillaume ( car il est vraie que les temps de calculs explosent) la question que je me pose est : y a t il un autre moyen pour limiter le grain tout en gardant la précision de tracé du DMC sampler ( les textures tiles et les joint creux de modélisation qui sautent avec le adaptive subdivision).
    peux on agir sur les shader surtout pour les reflexions avec glossy (particulièrement désagréable quand il y a du grain)?
    j’avais essayer avec le DMC de cocher la case use interpolation dans les paramétres de reflexion des matériaux , ce qui fait disparaitre le grains mais on perd en qualité et visiblement cela ne fonctionne pas pour une animation??
    Comment faire????

    voila merci encore pour ce blog richement fournit de pleins d’information.

  • matt dit :

    Les explication de Guillaume ne sont plus d’actualité (sur les chiffres, pas le principe) Chaosgroup a modifié le DMC Sampler, il y a d’ailleurs pas mal de plainte sur le forum officiel mais aucune réponse de Chaosgroup…

    . Si tu veut utiliser cette méthode, ramene-le à 1/16 ca diminuera considérablement les temps de rendus par rapport au 1/100 mais pas par rapport a un rendu sans cette méthode.

    . La deuxième est de gérer son sampling directement dans le DMC Sampler (onglet settings) tout en conservant un anti-aliasing raisonnable (2/6)

    Et pour finir, le use interpolation est une vrai mer*e :D

  • baptiste dit :

    merci et d’accord avec toi pour cette dernière remarque….
    sinon je n’ai pas encore eu le temps de tout lire mais voici un lien que peut être tu connais déja sur le DMC sampler.
    bon par contre la c’est du british language alors bon courrage…..

  • matt dit :

    Exact, ce tut est bien cool ;)
    Mais encore une fois, même si la théorie reste la même, les algorithmes ont été changé… d’ou la fin des « universal settings »
    Voici le post mené par Bertrand Benoit sur le sujet.

  • patrick dit :

    Bonjour Matt et merci pour les tutos
    y a t-il un lien ou le dmc Sampler est clairement expliqué en Francais
    j ai beau relire , je ne comprends rien ..

Leave a Reply

Your email address will not be published.