Hey folks,

I've been struggling to find a way to blend together many 32 bits exr 
displacement maps in Maya.
We decided to go with the Overlay blend mode, but Maya doesn't seem to 
offer any easy way to achieve it (layered texture doesn't seem to work, and 
is a very fragile node)
So we adapted the Overlay function (see HERE 
<http://en.wikipedia.org/wiki/Blend_modes#Overlay>) to the (-1 , 1) range, 
and then we tried to recreate it with a network of nodes, but soon it 
turned out to be too long and tedious for all the textures (20+).

So I quickly wrote a custom Maya node to do the job.
Since my disp maps are using only one channel, the node takes an array of 
float as an input (the textures) , and outputs one float (my final texture):

    blendDisplacement.a_inTextures = mFnAttr.create("inTextures", "inTexs", 
OM.MFnNumericData.kFloat, 0.0)
    mFnAttr.setKeyable(0)
    mFnAttr.setWritable(1)
    mFnAttr.setArray(1)
    
    blendDisplacement.a_outTexture = mFnAttr.create("outTexture", "outTex", 
OM.MFnNumericData.kFloat, 0.0)
    mFnAttr.setReadable(1)
    mFnAttr.setWritable(0)
    mFnAttr.setKeyable(0)

Testing the node in the Hypergraph, or rendering with Maya Software I see 
it works perfectly.
But when I try rendering with VRay i get a // Warning: Unsupported texture 
blendDisplacement (which is my node).
Same story with MentalRay: i get a // Warning: (Mayatomr.Scene) : output 
data type "rgba_h" not directly supported by image format iff, conversion 
performed by mental ray // 

Now, I know VRay is a bit picky with textures, but my input is still a 
compatible file type... and a python float has 53 bits precision (way more 
than 32).

What is going wrong? And how can I make my node compatible with others 
render engines? 

Any ideas out there?

Thanks!

Enrico

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to python_inside_maya+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/ad14684c-e275-4131-a52d-bc2d56f183aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to