david | | Monday, November 6th, 2006

My name is David Johnson. I work for a visual effects company creating effects and animation for movies. At home I compose music and pretend to be an artist. This blog is somewhere I can share ideas and I welcome any feedback so feel free to comment.


  1. Hi to djx (and sorry about my english).

    I' m new in render passes with mental ray.
    in maya 2008 i saw that it is possible to render with mia_X multiple outputs passes
    but in the documentation there is no info.
    can somebody explain to me all the workflow ,step by step of the peoces to render multiple passes
    in maya mental ray 2008 ?


    Comment by ronigew — December 16, 2007 @ 6:57 pm

  2. Hi Roni, I will try to write up something about mia_material_x outputs in the next few weeks. Depending on what you want, it might be easier or harder than you expect - the render buffer methods are not well supported, but it is easy to create render layers and output the different mia passes to each layer. More on this coming soon...

    Comment by david — December 16, 2007 @ 10:59 pm

  3. Hi,
    your blog is great, Thanks a lot for sharing such precious knowledge.
    I have a question for you:
    if we need to plug a phisical light to an area light to behave correctly, what would happen if we need that area light to be used as a portal light?



    Comment by lluis — February 2, 2008 @ 1:17 pm

  4. lluis, thanks for the compliments and welcome.
    To be honest I have not tried that setup, but I will have a look into in and let you know. Maybe you should post the same question at CGTalk. You may even get a reply from Master Zap. He would know.

    ...a few hours later...
    Ok, I loaded up maya and straight away I see what you mean - I think.
    When used with the portal light, an area light serves a different purpose, which is to improve the final gather solution by converting the indirect illumination from the environment (physical sky for example) into direct light. I think for what you are asking you would use a 2nd area light.

    Comment by david — February 3, 2008 @ 5:16 pm

  5. thanks a lot david,
    sound logical all your thoughts.


    Comment by lluis — February 4, 2008 @ 11:41 am

  6. Hello David
    Thanks for the help posted in this blog. Def- def- definitely a keeper!
    I must abide to roni's request and ask to please write a simple step by step workflow on getting render passes out of mental ray (maya and mia_material_x). I've been trying to figure this out with absolutely no luck (I'm still wondering if this ctrl_buffers thing actually works in maya 2008 x64 at all!).


    Comment by menso — February 16, 2008 @ 2:49 pm

  7. Hi David, I really appreciate what you're doing for the community. You shared a lot of useful scripts and templates that makes me work easily with Maya.
    Trusting in your knowledge, I'm asking if you can take a look at this thread I opened at CGTalk.
    Maybe you can help me and other Maya users.
    Hope I'm not bothering you.
    Salut :)

    Comment by fabergambis — October 24, 2008 @ 3:26 am

  8. fabergambis, no bother, and I appreciate your kind words. I have been keeping an eye onyour thread. Some really interesting opinions and experiences are coming out of that. I don't have much experience with the type of real world physics that this involves, so there is probably nothing I can add. All my lightingis done "by eye", even when I am integrating my cg elements with live-action, and it has only been in recent times that physical accuracy has been on the agenda. However I think the discussion you have started at cgtalk is both timely and valuable as we continue to evolve our workflows.

    Comment by david — October 24, 2008 @ 10:32 pm

  9. Hi David,
    Just want to say thanks for your blog, its been super informative. I have one request, do you have any info on Comets PoseDeformer for maya 2009 for the mac? I've been keeping an out on many threads and seems theres a lot of request for it, but no luck. Thanks again for the help and your blog.


    Comment by flourish — January 8, 2009 @ 9:30 am

  10. flourish, thanks for your comment, but I have no knowledge of a mac poseDeformer 2009. I've seen may requests too. I hope you find something.

    Comment by david — January 15, 2009 @ 12:00 am

  11. hi david. thanks for your hard work - it's proving invaluable to a noob maya user.

    i read on your poseDeformer cgsociety thread that you had compiled a mac maya 2008 version of poseDeformer but i couldn't see a link anywhere. would it be possible to get a link posted here please? also, is it for maya2008 Extension 2 or the original one?

    and finally, how do you go about compiling mac bundles? i'm sure its a fairly lengthy process but in a nut shell...?

    thanks for your time


    Comment by kotchin — February 28, 2009 @ 7:39 am

  12. Thanks Tom. Actually I've never compiled a mac version of poseDeformer. I think someone else did though. The bundle on my downloads page includes an earlier mac version, but I will try to track down the later ones and add them if I can. I'll email you if I find them - let me know if you find them first.

    I don't have much compiling experience. I can only do simple things with visual studio. There is probably a way to compile cross-platform if you have the required libraries, but I dont have the knowlege to do it.

    Comment by david — February 28, 2009 @ 9:58 am

  13. Tom, I just added a mac maya 2008 compile to the poseDeformer.rar on my Downloads page. I have no way of testing it, so let me know if it works for you.

    Comment by david — February 28, 2009 @ 11:13 pm

  14. 'hi i just wanted to know if you had any idea how to create a boolean shader in maya like this http://www.youtube.com/watch?v=oGV6PsMuc2c well i tried it out ,tried many forms aswel but no one could help out

    Comment by sedd900 — March 18, 2009 @ 9:38 am

  15. The video was not there when I looked, but you want render-time booleans using a shader, right?
    Well, you could try Puppet's pCSG shader from http://www.puppet.tfdv.com/download/shaders_p_e.shtml (although it is not mentioned on that page, it is still in the download package).

    Comment by david — March 18, 2009 @ 7:10 pm

  16. Hello, last night by sheer chance I discovered your blog. It’s so great you share your extreme knowledge with other people.

    2 years ago I started to teach myself 3D CGI. Although I graduated from an art & design faculty, I’m self educated. Because here in Istanbul education is just terrible! There was not one teacher in my university who had a clue about Maya at all. It’s so terrible that before graduation I was giving lectures about modeling with my poor knowledge while the so called teacher was just sitting there like a student. It was simply pathetic!

    I watched lots of videos about Maya but unfortunately answers to my questions weren’t included in neither of them.

    I’m so willing to learn but unfortunately stuck, craving for every bit of information & advice. I have some questions. If you could help me I would really appreciate it.

    1)How can I make an object to indirectly illuminate only one object instead of affecting all the other objects in the scene? (without cutting all other objects indirect illumination & final gather receives off, of course)

    How can this effect be achieved in both Final Gather & Indirect Illumination?

    2) Is it possible to make an object disappear on one particular object’s reflection while remaining visible on other objects’ reflections?

    3) How can I apply each object in the scene a different image or environment to reflect?

    4) Is there a way to apply an HDRI (or jpeg) to an object’s reflections & a different image to the same object’s refraction?

    I’m looking forward to hear from you…Thank you & have a nice day.

    Comment by Mr.Roboto — May 12, 2009 @ 10:31 am

  17. Thanks for the kind words Mr Roboto.
    Just some quick answers:
    1. I do not think you can link indirect illumination (fg or gi) like you can with lights.
    2. Selective reflections are not possible.
    3. You can use environment mapping, and this can be set up on a per shader basis.
    4. Yes. You can set an objects render stats to be visible in reflections and/or visible in refractions, so you could texture map two surfaces and set their render stats appropriately. Another way is to use a ray switching shader, like mip_rayswitch, where you can simply hook up a reflection and a refraction texxture or shader.

    You sound like you will need to consider render layers and/or render passes to achieve all that you ask, especially questions 1 & 2.

    Never worry about being self educated. It has probably made you a better learner.

    Comment by david — May 13, 2009 @ 11:29 pm

  18. Thank you so much for the information David. It means a lot to me. Only thing I couldn't seem to figure out is the 3rd question. If you help me to understand this, It would be incredible.

    I need an "mia_material" to reflect an environment. I want to be able to produce glossy reflections on the objects by using this envrionment. So: it shouldn't be a fake reflection map.

    How can I say this... practically I need an IBL node special only for a shader.

    When I use "env ball" plugged into the "reflected color" of my "mia_material" It doesn't work. please see the image below:


    What should I do to create an environment on a per shader basis (mia_material mostly) ?

    Comment by Mr.Roboto — May 15, 2009 @ 9:17 am

  19. I've answered this in your thread on cgtalk - http://forums.cgsociety.org/showthread.php?p=5869527#post5869527 (post#12)

    Comment by david — May 17, 2009 @ 1:01 am

  20. Thank you so much!! By the way I'm also the guy started that thread :))) Thanks for your help again, sorry for the trouble & pollution I've caused. Take care.

    Comment by Mr.Roboto — May 17, 2009 @ 3:16 pm

  21. No apology required! Feel free to ask anything you like. If I don't know the answer, I'll try to find out and that way I learn something too.

    Comment by david — May 18, 2009 @ 1:27 am

  22. Hey David...my first post on your blog! Nice stuff by the way ;)

    Just curious, which company do you work and where do you live?

    Thanx and i hope you will keep posting ideas and knowlegde!

    Comment by Sty — May 18, 2009 @ 10:46 pm

  23. Hi David, first of all thankyou for some great tips.

    I checked out your recommendations for zdepth DOF and tried out your specific scene. I was hoping your scene would enable transparency with z depth. I see that zdepth DOF supports transparency with z depth. However it seems to only support maya 8.0 32 bit plus we have a 300 node renderfarm and installing plugins can be a problem.

    I was wondering if you knew of any other workarounds that supported z depth with transparent texture maps on cards?


    Comment by lee griggs — July 27, 2009 @ 9:26 pm

  24. Hi Lee, have you tried Pavel Ledin's (aka puppet) p_z shader for mentalray. Its part of his shaders_p suite, and it supports transparency. http://www.puppet.tfdv.com/download/shaders_p_e.shtml

    Our render farm is set up to access a shared library for mentalray shaders which makes them very easy to install. We just have to make sure every machine has mapped the server to X: and Maya.env contains a line like this:

    MI_CUSTOM_SHADER_PATH = X:\maya\mentalray-x64\lib;X:\maya\mentalray-x64\include;

    (Actually smedge lets us specify a UNC path to disk label mapping, so its even easier.)

    Comment by david — July 27, 2009 @ 11:24 pm

  25. Hey David,

    I just finished a kinda fiddly job involving proxies, you might find some of it useful. Managed to get past the problems of motion blur, animated proxies, and shader replacement. Woo! http://www.tokeru.com/t/bin/view/Maya/MayaMentalRay#Proxies

    Comment by matt — August 26, 2009 @ 7:50 pm

  26. Wow Matt, that sure is going to take some time to digest. You must have spent considerable effort figuring it all out. Fantastic tip! Well done.

    Comment by david — August 27, 2009 @ 12:12 am

  27. Do you know anything about the building generator that supposedly came with the Maya 2009 bonus tools? Is there such thing for Maya, or is it just a Max thing?

    Comment by smokedogg — November 25, 2009 @ 1:36 pm

  28. The only one I can think of in the bonustools is the HouseGenerator which creates very simple poly house shapes. Probably not that useful. Maybe you were thinking of qTown


    Comment by david — November 26, 2009 @ 7:13 pm

  29. Yes I was. My fault. Thanks.

    Comment by smokedogg — December 6, 2009 @ 6:33 pm

  30. Hi Mr. Johnson,

    My name is Carlo Cherisier, an aspiring Character TD and I stumbled about your blog about a few months ago when I was looking how to make Maya fur look better; and have been following your blog ever since. I just wanted to say thank you for all your posts; I have only skimmed the surface of some and know that there are plenty more that I would find useful. I wanted to thank you because I know you probably don't get the credit you deserve for all the time you spend writing everything down. I truly do appreciate all you have given back, and it's nice to know that new guys like myself have a place to go when I am not sure of a problem or when I just need improve my work flow with more useful and professional methods. So on behalf of those that read but never give you credit, I say thank you for everything.

    Carlo Cherisier

    Comment by carlo890 — May 12, 2010 @ 6:10 pm

  31. Hello David

    Matt Turley (your ole banjo playing pal) here - cld you drop me a line soonish please on my email which you may still have? I have lost ALL my email addresses!


    Comment by yobo — August 21, 2010 @ 8:30 am

  32. Hey David,
    Just wanting to wish you and the family a Merry Xmas and to say thanks for all the time, effort and help !

    Comment by Sham — December 24, 2010 @ 11:43 am

  33. Hi David! Been lurking this blog for a while and I just wanted to create a login and say that I appreciate everything you do here, thx for sharing your vast knowledge!

    Comment by DarkoP — April 2, 2011 @ 1:56 am

  34. Hi David (sorry for my bad English) first of all thank you very much for your update on scripts, i have downloaded "poseDeformer" and pasted files at respective paths, i am using Maya 2012 with hotfix4. while using "poseReaderUI" getting a error

    "// Warning: file: C:/Users/chaitanya/Documents/maya/2012-x64/scripts/poseReaderUI.mel line 133: Unrecognized node type 'poseReader'; preserving node information during this session. //
    // Error: file: C:/Users/chaitanya/Documents/maya/2012-x64/scripts/poseReaderUI.mel line 139: The destination attribute 'poseReaderJoint2Shape1.worldMatrixLiveIn' cannot be found. // "

    plese help me out


    Comment by kuppa — August 11, 2012 @ 12:05 am

  35. I tried to install dj_mix_colors, under maya 2013, but it doesn't seem to be working any more.
    Is there any luck of updating the plugin for maya 2013 ?

    I really can't find a decent and easy mental ray blending solution available any more

    Comment by tristratos — January 24, 2013 @ 2:26 am

  36. Hi, David.
    As part of my PhD research, I need to replicate, exactly, the effect of X-ray joints (in Maya) and apply it to some pieces of geometry (which will work as a visual guide) located inside a 3D character, so that the group of geometry is seen on top of the character in any perspective. Do you have any suggestion to get this, or do you know anyone who may help me?


    Comment by JF — July 30, 2013 @ 2:55 am

  37. David good day
    I am Victor Marines and a Fan of your work on the CG and mentalray render and shaders work
    I use very often the production MAYA shaders for comp CG over live plates

    I am trying to get a camera projection image on to some geometry which have MIP_MATTESHADOW assigned.
    I realized that the MIP_MATTESHADOW did not have a TRANSPARENT SLOT in it
    in the BACKGROUND slot of the MIP MATTESAHDOW I connected a PROJECTION MAYA NODE configured as a PERSPECTIVE type and an image in the proper slot, the image is projected fine as a perspective on to the GEO with the MATTESHADOW assigned to it, the problem is I dont have proper transparency work, i tried many things (image with alpha embedded in the PROJECTION NODE, matte B&W image) no luck, also tried the MIP_MATTESHADOW_MTL but the results are worse black image
    is there a way of connecting this properly? how I can get the MIP_MATTESHADOW to get this MATTE (black and white image) with perspective projected from the camera?

    Comment by vmarines — November 22, 2013 @ 2:47 am

  38. Hi David
    I'm currently working on a small research project regarding tool development in Maya for uni. I was wondering if you'd be willing or have the time to do a short, ten-question email interview. I admire your work and would really appreciate it :)

    Thank you!

    Comment by silverfox — May 6, 2015 @ 10:38 am

  39. Good Day David
    Wasn't sure where the best place is to ask this, and I cant find your email...

    I see that you did the last compile of the Visual Weights script by Ariel Chai.

    I have moved over from Max to Maya and find certain things very Inefficient (skin weighting being one of them) in comparison to how max does it.
    I feel that this is one tool (with the use of the MAXSkinWeightTool script, that also needs some tweeking) that would make my life a little easier...

    Could you take a look at compiling a new version of the script for Maya 2017/2018??

    Comment by Snake3y3s — August 15, 2017 @ 11:32 pm

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress | Based on a theme by Roy Tanck