Annouce : DeexFastBuffersOutput, output buffer quickly


I share my script to output all buffers QUICKY (the render time isn’t multiplied by 6-7) from : mia_material_x or mia_material_x_passes or mi_car_paint_phen_x or mi_car_paint_phen_x_passes or mi_metallic_paint_x or mi_metallic_paint_x_passes or misss_fast_shader_x or misss_fast_shader_x_passes shader, with the p_megaTk shader (it is a trick, big thank to Pavel).

I explain the trick here : [](





The script is here :

If you found bugs or other, please write a message here.

Ps to Pavel : if we can set the name of the specials channels and have more and more specials channels (tha 10), it will be great. Thank !


sweet man, thanks! I look forward to giving this a whirl.


Can I use this with the normal Maya materials, too?


Great job! Will be very useful, thanks!



Do you need p_MegaTk lights for this to work?
I’m guessing no but… I’d like a solid affirmative/negative.
Don’t habe p_MegaPack shaders installed so I can’t test at the moment.


TK lights should be used only for “TK” shaders (p_MegaTK and p_HairTK).
And only for internal ‘diffuse’ and ‘specular’ component (for correct shadow pass). So if you have disabled internal diffuse and specular you don’t need TK lights.


Thanks Pavel… mighty good to know. :wink:


An Autodesk rep told me this issue was fixed a long time ago at the Maya support blog with 2009 SP1, though he could have very well thought I was referring to another problem.

Just opened up 2010 x64 and tried it with a small scene using around 6 different “write to color buffers”. Didn’t make a difference to the render time. It’s a small scene though. I’d need to do further testing to see if it’s fixed.


Hey Deex, any thoughts on creating a Vray “MultiMatte” equivalent for Mental Ray? A script that would create a new “write to color buffer” and pass for each material specifically for a Matte. This is all asuming the render 5x render hike is gone as this won’t work with only 10 special channels. It would look like this in the render pass window:


. Matte_Clock_Material
. Matte_Handle_Material
. Matte_Mia_Material2

Renderable Passes:

Then when you open up the EXR you’ll have all the Matte Passes to choose from.

Also I wanted to mention I love the new setup, and have a couple of ideas of my own that could make it even better. With a couple of custom Buffer Presets in addition to those from the Mia Material this could be absolutely amazing, such as the following:

Non-FG Indirect Pass - Uses a different method to compute Indirect Light. Does not Flicker.
Pass SSS - creates a new SSS material with just the subsurface (no diffuse or specular). Can be used in compositing to add SSS to a material with less headache.
Pure Color Pass - Color input written directly to a buffer and not through Mia Material Diffuse_Raw.
Fresnel Pass - Pass to give more control over Reflection in compositing. Also good for creating a peach fuzz effect.
Point Cloud Pass - Used, in addition to a normal Pass for 2.5 relighting in compositing.
MultiMatte Pass - mentioned above.
Blinn/Phong Specular - Creates a Blinn or Phong for specular Highlights.

Feel free to email me about how to achieve the various Passes.

Also three more ideas:

-Add a lighting linking check box next to the Passes you want to have a separate pass for each light in the scene.

-Add a “Linear Gamma” checkbox next to passes you want it to effect. It would add a gamma correct node with a value of .445 right before the frame buffer. (In compositing you throw a color corrector with a 2.2 Gamma value at the end of the chain, makes it work with Linear workflow.)

-Finally a “Throw into Bin” drop down menu to select the Bin you want the selected Materials to be added into. Maybe a “Create Extra Bin” checkbox as well for all the extra materials created to achieve all the custom buffer Presets.

I know I proposed a lot, but that is because I see lots of potential. Again, feel free to email me or get back to me here. I really want to do what I can to help out with this.


nice script, it looks a lot like another one on creativecrash that i wrote a while back.

in fact, it looks almost exactly the same except for it being in python, and working for puppets shader pack. same variables, even the same comments. dont you think you should at least ‘Please give credit where credit is due’?


very interesting!! If those passes mentioned below could be integrated, that will be sweet!!
They will extremely helpful for the post work.
crispy4004: any hint you can share about the non-FG indirect pass technique? If it is flicker-free as well as having FG’s features such as color-bleeding and secondary bounce tuning, that will be great…


I’d want credit. :confused:

  1. I don’t want money, i just share my script. I copied the first lines from my deexRenderBoosterTile script. I just forgot to delete “the credit” line. If i want credit, what is the utility to share my script for free ? :confused:

  2. Before, i used my script without UI for my personnal work.
    I just shared my workflow is this thread :

  3. I saw there are people who were interested to use my workflow.

  4. I decide to share my script but first, i need to create an UI. So, I remembered a script that had the same UI like i wanted to create.

  5. Oh hell, to go faster (yes, because i write my script after back to work, in my free time), i took the example from the another script.
    So, What is the utility of rewriting the “same” UI ?

  6. My script is free.

  7. What is the problem ?

My DeexRenderTool does that.
Just create a new preset a choose your pass.
You can add extra custom material, etc etc…Save pass preset, etc etc…

Nice idea but, what is : “Non-FG Indirect Pass - Uses a different method to compute Indirect Light. Does not Flicker.” ?

When i have time, next step :

  • create a button to create the dummy with the p_MegaTK_pass in one click
  • add a checkbox for linear workflow (the gamma correct…)

Thank all.
If we can have more Special Channel from Pavel (and set name), it would be great.
Without Pavel, we are nothing :cool:


I think he just wants credit. Scripting is a pain in the ass and the only thing you get in return is credit. I compared the code and way too much is similar to not give credit. People take this stuff really serious in this industry, and it only takes a second to write “used some code from so-and-so”.

I did an animation loosely based on a Calvin and Hobbes strip. I posted an early playblast and just about got kicked off a forum for not giving Bill Waterson credit for my inspiration. I was shocked at the uproar. I learned my lesson then.

Just give credit.


if im coming off like a jerk then i apologize, its not my intent. what im saying is, your script is clearly based off of what i wrote. i also wrote mine during my personal time, and for the whole community to use. i have never asked for money for scripts i’ve written.

i just think its very inappropriate to use someones work and not give them any mention. if i have a piece in my demo reel that was done by someone else, then i make sure i credit them for what they did.


I updated the script : linear workflow supported (please test, i haven’t the time now) and one click dummy.

I write credit for you Ironhalo, i haven’t your email. My english is not perfect. I thought that the word “credit” is “money” :blush:, but no, excuse me.


First I want to mention that I was mistaken. The Color Buffer Render time hike bug still exists. :frowning:

   Correct me if I'm wrong, but there is no checkmark you tick to create a new Matte Pass for every shader. Sure you can do it manually with the Deex tool or by hand, but I'm talking more along the lines of a script that automaticly does it for you. Currently if you have a 100 materials in a scene, creating a Matte Pass manually for each can be an all day affair.
            I am familiar with your tool, though I prefer to set things up manually so I can add in my own custom passes like the ones I mentioned above.  I find them too useful in compositing; the default Mia_Material outputs alone just don't cut it.  What would be incredible is if the user was able to create their own pass presets from hypershade networks and Load them up from the "Deex Fast Buffer Output" Buffer Result drop down menu.
           Look at the car:
        Also here:
     (you don't have to bake out the maps, but for in-animate objects not internacting with animate ones, it can be very benificial)
          It uses AO and AO in bent normal mode to calculate the indirect light.  It doesn't have all the features of true Final Gathering, but on the other hand it does not flicker making it far more ideal for animations.  Real FG can work for animations, but to remove flicker you have to fake parts with AO and tone down the FG settings, which coincidentally comes at a cost in quality.
     It's a simple senerio of picking the lesser of two evils to avoid the flicker:
     1. Use poorly sampled Final Gather, with high interpolation (blends samples) and faked darks with AO.
     2. Use excellently sampled Faked Final Gather all done through AO algorithms, but loose the color bleeding and secondary bounces.
     I prefer option 2 because any benefits to Real FG go away when you have to drop the samples.
    If It helps I could build you a scene with all the Custom Passes and Faked FG attached to a shader network.


Nice, I’ll check it out.


Works well, only problem I had was if you delete the network, you cannot re-create it with pre-existing Materials. Anyways I took your setup and added many of the passes that make things like Fake FG, Post SSS, and Fresnel control possible.

Let me know if you want the file, if these custom passes are things you are interested in implementing. I’m not a programer, so I don’t know how hard it would be write a script to build this stuff. I imagine the fake FG will be more difficult to implement though.


I read the concept of 1st option from Zap’s note before but haven’t tried it for rendering character animation yet. So, basically, even the 1st option can generate flicker-free character animation renders, the color-bleeding and secondary bounces will be obscure because of the low density and high interpolation FG, and so the result will be visually very close to the 2nd option that is basically flicker-free guaranteed. Please correct me if I got it wrong.

  • Jason