In Autodesk XSI7, we’ve got the mia_x shader. It gives us multi-ouputs that we can plug in some XSI RenderChannels. I like this new shader a lot but I dislike the way to setup all the outputs in the render tree. To many things to do. XSI is not so good to deal with Channels as it is with Passes. The exact opposite of Houdini where passes can be long to setup (see this post here ) but exporting a shader parameter is just as simple as clicking on an export button
. So I setup a Render Tree compound to quickly create those outputs. All the mia_x channels are already in the compound. I use some PPGLogic in this compound, so you just need to turn on the output you want to automaticaly create the corresponding channel and add it to the current pass.
Here is a little preview of this compound here.
It is my first Autodesk tool since 1998 when I was an architect forced to use Autocad … You can download it here.

14 responses so far ↓
G3 // October 28, 2008 at 5:16 pm |
NICE!
TH // January 2, 2009 at 7:38 pm |
This is awesome!!! Is there a way to incorporate Raytype and Components in the compound without having to manually doing it?
frenchdog // January 2, 2009 at 8:27 pm |
Who is TH ? This is the question…
Asterokid // January 12, 2009 at 10:39 am |
My question may seem naive. But does it handle transparency in every channel? Because most of the time comping transparent objects creates breaks in my pipeline.
frenchdog // January 12, 2009 at 1:02 pm |
Hi Asterokid,
For example, if your shader use only diffuse, reflection and refraction, you should comp each channels like this : diffuse + refraction + reflection. It should gives you the same result than your main render channel (if you render in linear space). Then I use the alpha from the main channel to comp onto the background. I hope it make sense
.
Asterokid // January 12, 2009 at 2:08 pm |
That’s when you use the Result Channels right?
I added them and my comp looks like my Beauty.
Although the Refraction is more noisy.
I have been playing with this MultiOutput shader.
It’s amazing combined to your node.
I was trying to do a multi-switch compound that allows me to output my passes, but it ended up so heavy when switching pass because overrides are duplicating materials that I was a bit stuck.
Sorry for telling my little stories here.
Asterokid // January 12, 2009 at 3:05 pm |
I got the basic routine: + Raw * Level.
As soon as I use EXR the noise disappear and it’s perfect!
Nevertheless I have another question.
How do you handle a Z or Vector pass when it comes to handle all transparency maps?
I know it’s already a cheat, but depth of field plugins react better when you got the transparency in the Z pass. But maybe I don’t know how to properly comp a depth of field.
My needs in terms of passes are linked to the use of Frischluft Lenscare.
frenchdog // January 12, 2009 at 7:55 pm |
Most of the time, I use several “3d layers” to deal with this problem. Sorry, I don’t have any magic solutions for depth of field on transparent objects
.
Asterokid // January 12, 2009 at 8:20 pm |
Well I suppose I can add more channels in the shader with transparency map plugged in it?
What do you think?
What I did with my crazy heavy compound is that basically each pass was getting into a constant which was applying the transparency.
Although it’s impossible to use because of the heaviness, it was technically working.
Thanks a lot for your help anyway, I was very happy to find someone with clear answer to my questions.
frenchdog // January 12, 2009 at 8:45 pm |
I’m not sure that a transparency map plugged into render channels will gives you the full transparency. For example, you won’t see the objects behind the transparent part of the texture. But those map can help (I just use a similar trick on my current work in fact …) . If you want to play with transparency and z buffer, take a look at the new mip_card_opacity_shader. You will find some info here : http://www.mentalimages.com/fileadmin/user_upload/PDF/production.pdf.
It can be used to show opacity in a Z pass.
I believe there is also a BA shader dealing with transparency : http://www.binaryalchemy.de/index_dev.htm
Thanks to you too, I’m very pleased to answer Asterokid questions
.
Asterokid // January 12, 2009 at 11:45 pm |
I just tried adding a Constant with a depth in color and gradient in transpareny next to the Mutli Out node. It works fine with opacity in the channel.
Obviously It would be better if I could add my own entries by editing your mia_x_Render_Channels.
I’ll have a look at the MIP_Card one and the BA.
Thanks!
frenchdog // January 13, 2009 at 7:56 am |
I think I missed something and don’t understand your setup. Feel free to send me a sample scene if you want !
Asterokid // January 13, 2009 at 10:06 am |
I don’t have your email to send you samples.
Robert Lenz // February 7, 2009 at 9:56 am |
hi there, if anybody likes the same functionality for:
misss_Fast_Shader and
mi_Metallic_Paint
get them here:
http://www.robertlenz.de/xsi/mi_speedmetal.xsirtcompound
http://www.robertlenz.de/xsi/misss_turbo.xsirtcompound
i just twaeked the original code a little bit, credits to guillaume for the original code!
robert