That is if you are working with Maya 2011 ;).
From what I gather the Maya Dev team further integrated Mental Ray into the current Render Pass System which means in all likely hood it still won't give us diffuse independent results with the indirect pass, or all the Level and Raw passes you can get with Deex's shader. Also there is still no confirmation on any sort of EXR compression with Maya 2011.
Basically what I want to get across is Deex's shaders are far from being phased out. I highly doubt the developers have addressed enough issues to make Deex's system no longer necessary. Also, the MR shaders are a whole lot cleaner than all the messy "write to color buffers". My hope is Deex is still interested in continuing development because I'm pretty confident there will still be a need.
Annouce : Deex Shaders Pack : MentalRay shader "re-writed" for pass.
I totally agree. No one confirmed that all the passes are now supported by mia shaders… And if Damien keep Deex_mia always a step ahead with additional functionalities it could be always interest for it.
Once he adds the special channels deex will still be way ahead. Special channels is a biggie for me as it is a huge part of my workflow.
I do a lot of tv series work, and to build character with mattes built it to their shaders is a massive time advantage. Not to mention the compositors always get the same colour for the same matte, no matter who lit the scene!
A big thanks for all the help with the mi file issue I was having too!
cheers, Nick
ps any word on when we will see special channel integration?
So I’m finally on a Mac I have administrator privileges to, so I’m trying yet again to compile these shaders for Mac OS. I’ve installed xcode but I’m at a complete loss as to what the next step might be. I found the makefile pavel uses to compile the puppet shaders and tried modifying it slightly and running ‘make’ through the terminal but I get the following error:
*** missing seperator. Stop.
Again this is all very knew to me so any help anyone could give would be amazing. I’m probably not the man for the job here, so again if anyone has the compiling experience to tackle this… help.
nevermind, I solved that problem but now I’ve got to figure out how to reference in the EXR code correctly.
Here is my makefile:
CC = g++
MAYA_DIR = /Applications/Autodesk/maya2010
OPENEXR_DIR = /Applications/openexr-1.6.1
INC = -I$(MAYA_DIR)/devkit/mentalray/include -I$(OPENEXR_DIR)/Iex -I$(OPENEXR_DIR)/IlmImf -I$(OPENEXR_DIR)/IlmThread -I$(OPENEXR_DIR)/Imath -I$(OPENEXR_DIR)/Half
LIB = -L$(MAYA_DIR)/Maya.app/Contents/MacOS -lstdc++
LIB_STATIC = $(OPENEXR_DIR)/IlmImf/.libs/libIlmImf.a $(OPENEXR_DIR)/Iex/.libs/libIex.a $(OPENEXR_DIR)/Imath/.libs/libImath.a $(OPENEXR_DIR)/Half/.libs/libHalf.a $(OPENEXR_DIR)/IlmThread/.libs/libIlmThread.a $(MAYA_DIR)/Maya.app/Contents/MacOS/libzlib.a
CFLAGS = -O3 -fPIC -dynamic -DMACOSX -D_REENTRANT
LIBTOOL = libtool
OBJS = deeX_Buffer_writter.o deeX_Buffer_pass.o
SRCS = deeX_Buffer_writter.cpp deeX_Buffer_pass.cpp
all: deeX_Buffers.so
$(OBJS):
$(CC) $(CFLAGS) $(INC) $(LIB) -c $*.cpp $(LIB_STATIC)
deeX_Buffers.so: $(OBJS)
$(LIBTOOL) -flat_namespace -undefined suppress -dynamic -o deeX_Buffers.so $(OBJS)
clean:
And the Errors I get:
i686-apple-darwin9-g++-4.0.1: deeX_Buffer_pass.cpp: No such file or directory
i686-apple-darwin9-g++-4.0.1: /Applications/openexr-1.6.1/IlmImf/.libs/libIlmImf.a: No such file or directory
i686-apple-darwin9-g++-4.0.1: /Applications/openexr-1.6.1/Iex/.libs/libIex.a: No such file or directory
i686-apple-darwin9-g++-4.0.1: /Applications/openexr-1.6.1/Imath/.libs/libImath.a: No such file or directory
i686-apple-darwin9-g++-4.0.1: /Applications/openexr-1.6.1/Half/.libs/libHalf.a: No such file or directory
i686-apple-darwin9-g++-4.0.1: /Applications/openexr-1.6.1/IlmThread/.libs/libIlmThread.a: No such file or directory
I have no clue how Pavel set it up. Again, any help would be wonderful.
Yeah, I’m definitely going to need some outside help with this. It looks like the EXR needs to be compiled as well for mac OS if I am not mistaken. I am still very unsure of what I am doing.
to crispy4004:
I’m using ‘Make_mac’ file for compile shaders_p for macosx. I don’t know how to compile and link OpenEXR library so it’s removed from ‘Make_mac’.
I’d like to use this to make passes for my scenes, but, the fact that I must use deex shaders for that and not be able to use standard mia_materials is getting me back…, I can’t change my company’s entire pipeline just to make passes work 
P.S.: And I also don’t know how to use this, no documentation available BTW.
That’s too bad, is there no EXR support for macosx at all then? I found some Open EXR compiles for Mac OS but I wasn’t able to try them out. The most recent one was 1.2.2 however. Also there is this, but again I have no clue if any of this will work.
The next time I can get on a mac with admin privileges I’ll try a compile based on the 'Make_mac". Thanks for the help Pavel.
It takes custom shaders for any kind of proper for support. This should make the switch a whole lot less painful.
The DeeX shaders work identically to the P_shaders (only without the p_lights and with MR specific passes) so if you need some documentation that is the first place I would look.
In fact, I feel no pain when switching to deex shaders, it’s more like a down/upwards compatibility problem…, if my client asks me for a different version of an animation I did a year ago and now I don’t have access to deex shaders (because they have been discontinued for example), the scene won’t render again so I will have to redo the shaders and I can’t charge that to my client…
I will try the puppet documentation though, This seems to be so great to be afraid of trying it. 
So I’ve been trying to compile the p_shaders to start with before attempting to compile the Deex shaders, but I’m having difficulty with it.
Pavel would it be possible to explain the steps to compile your shaders on Mac OS?
I am sorry to bring this topic up again from the bottom, I tried reading up from the base of this thread all the way and have been busy doing my own tests. I’d like to figure some of the bits out. I am using Maya2010 and have installed Pavel’s PuppetShader along with DeeX Shader Pack. I use mostly Mia_X materials and sometimes involves transparency maps. And that is why DeeX shader pack is a god send. =) Thank you Pavel and Deex.
-
installed both Pavel’s puppet shader and DeeX Shader pack into Maya2010
-
I would use the script posted by DeeX to convert all my textures from Mia_X to DeeX_Mia_X
-
I used the p_megaTK_pass:
format -> OpenEXR (p_OpenEXR_Saver)
compression -> No compression
32bit Per Channel Float Point
For RGBA, Zformat, NormalFormat, MotionFormat -> All are OpenEXR (p_OpenEXR_Saver) -
I then tick the Passes I need and then in the DeeX_Mia_Shader, I try to click the corresponding passes or something as close to it as possible
-
In my Mental Ray -> render settings:
I also choose OpenEXR
Frame Buffer -> 32bit float point
Turn on Final Gather & Ambient Occlusion & Motion Blur with settings based on Puppets Tutorials
What I am trying to achieve is
Diffuse Pass
Specular Pass
Reflection Pass
Shadow Pass
Ambient Occlusion Pass
Normal Pass
Motion Vector Pass
Z-Depth Pass
But when I open the files in Nuke, the names aren’t right. Occlusion isn’t exactly working I think and Depth is hardly visible and usually red and I have to pull the F stop till I can see somewhat of a depth pass.
Even then I can’t really get it going properly. I am so sorry for being so confused. Could someone highlight how do you achieve these results? I have been getting the standard stuff like diffuse_level & diffuse_raw, multiplying them and getting the result. But I think I am screwing up in many places.
Do I need the file being rendered out of Maya at all, or just the stuff being Buffered out by the MegaTK.
Am I not supposed to be using MegaTK? I’ve tried DeeX Buffer Pass aswell and still. Different results. And when rendering do I need to click on depth channel in the Render settings still?
I apologize for all the questions really. Been trying to sort it all out but I think I am confusing myself why over my head. This morning I was getting half the passes. Now, I think i’m nowhere. haha
Thanks for reading 
Sounds to me like you are using the MegaTK buffer writer rather than the deex buffer writer.
Plug the deex geo shader into your dummy cube, works like a charm!
Cheers, Nick
Still waiting for those special channels ; )
Hmmm but that is what I am doing. Let me get this straight. Assign all shaders with appropriate Deex_Mia_Shader then make a dummy cube and assign deex_buffers_pass to the cubes transform.
From what I can tell I don’t need to use the deex_buffer_writer right guys? And whats the difference between OpenEXR[mi] and p_openEXRSaver?
If I get the beauty pass in the RGBA, a normal pass and a depth pass which I have to pull the f/8 all the way down to actually see. All other layers in that exr is black.
Does the settings in Maya Render Settings matter? Should it be a .iff? or OpenEXR too at 32bit?
Hi all,
Anyone have a "big scene" with a "big slowdown" to test the news code ?
[Kinematics](http://forums.cgsociety.org/member.php?u=12918) : just use for example deex_mia_material, check pass in the shader, create the dummy with deeX_Buffers_pass, check same pass. Render.
Edit : i rewrited the p_exr_saver to deex_exr_saver. It is just a clone of p_exr_saver, with nice name in the exr (compression and other) and all buffers.
But i failed to compil with the exr lib.
I will contact Pavel to ask him.
Hi Damien,
thanks very much for this amazing work ! ! !
Do you think it would be possible to get this stuff
for maya 2008 / 32 bit / win ?
Regards
Jo
Great news, can’t wait for the next update! Now if only I was having the same luck with getting the Mac OS compile :argh:. There has to be someone that could help out, even if it means no EXR support for Macs.
I might help with a mac compile - but prior to any word of enagement, can you specify exactly what are the software requisites on the mac side to succesfully compile?