Commençons déjà par faire un scène tout ce qu'il y a de plus bateau.

sceneClassique001.png

Bon, j'avoue, il y a du area light et du final gather... (Pas si bateau que ça...)

Allons chercher le node qui va nous permettre d'écrire dans les framebuffers:

chercherWriteToColor001.png

Regardons un peux ce qu'il a dans le ventre:

infoWriteToColor001.png

  • Custom Color Pass est une liste des passes de custom color qu'on a créé. C'est dans cette passe que le framebuffer sera utilisé.
  • Write opération est la façon dont le framebuffer courant va s'ajouter a celui déjà présent. (Add par défaut est très bien dans la mesure ou on ne va pas utiliser plusieurs framebuffer pour cet exemple.
  • On s'en fout, laisser à 1.0.
  • Evaluation Mode est un peu subtile à comprendre. Disons que ce paramètre sert si vous voulez "transformer un shader en un autre". Les différents modes sont assez subtile à comprendre et je vous invite à lire la doc Maya. Laisser "Always".
  • Evaluation Pass Through: Quand le shader connecté ici est calculé, le framebuffer calculera aussi le shader qu'on lui indique juste en dessous.
  • Color est la couleur du shader qui sera calculé dans le framebuffer.
  • Alpha, idem mais pour l'alpha.

Avant d'aller plus loin il faut créer une renderPass qui supporte notre node "writeToColorBuffer", à savoir, une "custom color pass":

createCustomColorRenderPass001.png

renderSettingAssociatedPasses001.png

Elle est là!

Maintenant nous allons dire à notre node de "writeToColorBuffer" d'utiliser cette passe:

selectCustomColorPass001.png

On est près à vraiment commencer.

Si nous voulons, par exemple, une reflexion sur le premier cube, nous connectons la sortie du shader du premier cube sur le Evaluation Pass Through, nous créons un shader perso qui ne fera que refléter (ici, un mia_material_x tout en noir avec réflexion à 1 et BRDF à 1), on le connecte sur le Color.

connections001.png

On lance le rendu, il se fini et...

...Rien ne ce passe...

En effet, votre buffer à été écrit sur le disque, vous ne pouvez pas le voir directement depuis Maya. Allez voir ou est votre workspace puis allez dans le dossier image. Je vous donne directement un lien:

C:\Documents and Settings\<nom>\My Documents\maya\projects\default\images\tmp\customColor

Votre image doit s'y trouver:

passReflectCube001.png

Cool!

En bidouillant vous pouvez finir le boulot d'Autodesk faire des scripts qui peuvent, par exemple, créer un writebuffer par shader et le connecter à une même passe.

allWritebufferCreated001.png

allWritebufferCreated002.png

A chacun de voir. N'hésitez pas a laisser un commentaire si vous avez des questions.

See you soon!

Dorian