Home Technical Talk

Why so few custom realtime shaders for Maya?

polycounter lvl 14
Offline / Send Message
sltrOlsson polycounter lvl 14
Is there a reason why that is? You see new cool Max viewport shaders popping up from month to month, but basically one good Maya shader, Kodde shader. Is it easier to script for Max or is it just that all the good scripters use Max?

Replies

  • Progg
    Options
    Offline / Send Message
    Progg polycounter lvl 11
    Mel is fairly easy to script in. I believe the reason is because Max handles hardware rendering much better than Maya. I could be way off but I think Max is D3D whereas Maya is OpenGL? Maya behaves strangely when trying to interpret a normal map in realtime quality a good portion of the time. It is getting much better each version, but I still use 8 and even just that far back the normal map interpretation is horrendous. Also I still think a good portion of the industry is more comfortable in Max. This is definitely changing... but from my experience even at studios that any 3d program, most of the animation is in Maya whereas the environment and realtime art is either in Max or XSI. I was one of the few people using Maya, at least at my last job.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Progg wrote: »
    Mel is fairly easy to script in.
    Just FYI, though, MEL script has nothing to do with shader display in Maya. :)

    It's not actually harder to write a shader for either application, it's pretty much exactly the same syntax and same knowledge required for both applications, so that can't be the reason.
    Progg wrote: »
    Maya behaves strangely when trying to interpret a normal map in realtime quality a good portion of the time.
    What? Have you somehow managed to miss the massive, multi-page thread about how 3ds Max's viewport display of normal-maps is completely incompatible with its own baker and renderer? Maya's real-time normal-map display is excellent, at least in versions 2008 and up (and from what I recall, it's been fine since at least Maya 8 )!

    I think the main reason here is actually as you touched on, though - 3ds Max is more prevalent in videogame development and real-time graphics in general (judging by the occasional straw poll seen on various CG sites).

    However, there is a difference I can think of between Max and Maya's shader support that might make a difference to someone interested implementing a new shader, which is that Max is capable of doing full-screen shader effects (if I remember right), while Maya can't do that, so that could be a limiting factor. Also, it seems that Max's real-time shadowing support is better than Maya's.

    Maya supports HLSL and CGFX shaders, if there's a shader for Max then it shouldn't be too hard to port it across to Maya, it's mostly about getting the UI things hooked up properly and passing the appropriate data from the app to the shader.

    As for Maya shaders, I can think of at least a few decent ones - there's Brice Vandemoortele's BRDF shader, and as you mentioned, Kostas Gialitakis' "koddeShader", which are both fairly full-featured shaders for Maya. And that's without even doing a search, I'm sure there are more.

    What shader effects do you need that these ones can't achieve?
  • Progg
    Options
    Offline / Send Message
    Progg polycounter lvl 11
    MoP wrote: »
    Just FYI, though, MEL script has nothing to do with shader display in Maya. :)

    It's not actually harder to write a shader for either application, it's pretty much exactly the same syntax and same knowledge required for both applications, so that can't be the reason.


    What? Have you somehow managed to miss the massive, multi-page thread about how 3ds Max's viewport display of normal-maps is completely incompatible with its own baker and renderer? Maya's real-time normal-map display is excellent, at least in versions 2008 and up (and from what I recall, it's been fine since at least Maya 8 )!

    I think the main reason here is actually as you touched on, though - 3ds Max is more prevalent in videogame development and real-time graphics in general (judging by the occasional straw poll seen on various CG sites).

    However, there is a difference I can think of between Max and Maya's shader support that might make a difference to someone interested implementing a new shader, which is that Max is capable of doing full-screen shader effects (if I remember right), while Maya can't do that, so that could be a limiting factor. Also, it seems that Max's real-time shadowing support is better than Maya's.

    Maya supports HLSL and CGFX shaders, if there's a shader for Max then it shouldn't be too hard to port it across to Maya, it's mostly about getting the UI things hooked up properly and passing the appropriate data from the app to the shader.

    As for Maya shaders, I can think of at least a few decent ones - there's Brice Vandemoortele's BRDF shader, and as you mentioned, Kostas Gialitakis' "koddeShader", which are both fairly full-featured shaders for Maya. And that's without even doing a search, I'm sure there are more.

    What shader effects do you need that these ones can't achieve?

    Actually I have no idea why I put mel... I guess I was referring to the GUI aspect of it :\ I've even done some custom Maya shaders in Mental Ray.. I blame it on just waking up :P

    Maybe it has changed in more recent versions? Like I said I still use 8.. and there were always display issues with viewport renderings and we always use to have to listen to people complain about how the normal maps never displayed correctly. If they have made it better... that is awesome! :D As far as the Max normal map thing... honestly I have no experience with Max's viewport interpretation as I've only started in it recently.. so does it interpret incorrectly or something?
    MoP wrote: »
    Also, it seems that Max's real-time shadowing support is better than Maya's.

    Yeah.. this is a better explanation of what I was trying to get at. :P Also, doesn't Max handle transparency better than Maya? I know in Maya I have had problems with transparency sorting on multiple cards or planes stacked close together with transparency... but I've never tried in Max so I really don't know
  • kodde
    Options
    Offline / Send Message
    kodde polycounter lvl 19
    Hey guys,

    Thank's for the kind words :)

    Yeah Maya's Normal Map support works just fine imo.

    MoP pretty much nailed what I find lacking in Maya, the lack of full screen effects (post processing). Also lacks support for shadows with CGFX/HLSL shaders. Freedom of tweaking UI with the shader is also sparse. :(

    There's also Leonardo Covarrubias icNextGenShader. Haven't tried more than briefly though.
  • sltrOlsson
    Options
    Offline / Send Message
    sltrOlsson polycounter lvl 14
    I see. I had a picture of the using in Maya/Max was a US-Europe thing. I guess where a bit isolated up here in the north :P From what i've heard we are manly a Maya country, if that's even possible to say. Well, what ever :P

    I'm not really out for a hunt of a new shader. KoddeShader cover my main needs, but more bling is never wrong! Shadows, HDR and realtime AO, i wouldn't certainty say no!
  • Eric Chadwick
    Options
    Offline / Send Message
    Definitely check out Brice & Cedric's BRDF shader
    http://wiki.polycount.net/CategoryShaders
  • sltrOlsson
    Options
    Offline / Send Message
    sltrOlsson polycounter lvl 14
    Yeah, i looked at it. At that moment i couldn't really get my head around it. Really cool with the relief thingy. I'll check it out next project (:
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Funny that you complain theres not enough shaders for maya, even tho you got your hand on probably the most powerful one hehe
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    The lack of XSI shaders available (as evident by the wiki) saddens me :(
  • Eric Chadwick
    Options
    Offline / Send Message
    The wiki only knows what the wiki only knows

    Link some shaders!
  • Lamont
    Options
    Offline / Send Message
    Lamont polycounter lvl 15
    The wiki only knows what the wiki only knows
    Made me laugh!!
  • Toast
    Options
    Offline / Send Message
    Toast polycounter lvl 11
    kodde wrote: »
    MoP pretty much nailed what I find lacking in Maya, the lack of full screen effects (post processing). Also lacks support for shadows with CGFX/HLSL shaders. Freedom of tweaking UI with the shader is also sparse. :(

    I'm sure Autodesk are working hard on Viewport 2.0 (when actual fact it's more like Viewport 0.2 in its current state!) but time will tell.

    Log a sug, the more logged the faster Maya's new Viewport will be developed:

    http://autodesk.com/maya-sug
  • chronic
    Options
    Offline / Send Message
    chronic polycounter lvl 10
    It is inherently less interesting to do shaders in Maya because we are limited to the basics. No shadows is the #1 killer imo, and post effects really push things in max to the next level in terms of quality of presentation.

    I have recently found it much more fulfilling to write highly customized and specialized shaders for the workflow and file structures I use at work than trying to make monstrous one-size-fits-all.

    still i'll take the opportunity to pimp my own shader, which includes some minor features unavailable in others, max or maya - feel free to steal the code.
    lcUberShader.cgfx - http://boards.polycount.net/showthread.php?t=70739
  • chronic
    Options
    Offline / Send Message
    chronic polycounter lvl 10
    kodde wrote: »
    There's also Leonardo Covarrubias icNextGenShader. Haven't tried more than briefly though.

    This is a really old shader i don't develop anymore, plus I'm pretty sure it isn't well programed and has some mistakes
  • kodde
    Options
    Offline / Send Message
    kodde polycounter lvl 19
    chronic wrote: »
    This is a really old shader i don't develop anymore, plus I'm pretty sure it isn't well programed and has some mistakes

    Oh sorry, I mixed them up.
  • r4ptur3
    Options
    Offline / Send Message
    r4ptur3 polycounter lvl 10
    Correct me if I am wrong, but isn't the big difference that Max is DirectX native and Maya has to emulate it? You can get shadows in Maya's viewport (even raytraced from 2009+) but they are crap compared to a nice shader based shadow. I like to think of it as "not so bad artifacting" vs. an actual shadow ... lol.
  • Brice Vandemoortele
    Options
    Offline / Send Message
    Brice Vandemoortele polycounter lvl 19
    Because 'is there a max version?" is the more common question about maya shaders :)
  • kodde
    Options
    Offline / Send Message
    kodde polycounter lvl 19
    Because 'is there a max version?" is the more common question about maya shaders :)

    Hahah :)
    I get it. It is funny because it is true.
  • bugo
    Options
    Offline / Send Message
    bugo polycounter lvl 17
    There's a very nice shadow bias now in viewport 2.0 in maya. Really good lighting too. Hope that helps
  • kodde
    Options
    Offline / Send Message
    kodde polycounter lvl 19
    From what I've seen VP 2.0 does not support CGFX-shaders :(

    EDIT:
    Bugo> What setup to get those Shadows? I'm trying a pSphere with a blinn material, a directional light with depth shadows. Not working at all. I'm using VP2.0, Use All Lights, Shadows Enabled in Lights menu. As soon as I click "Use Depth Shadows" on the light shading goes dark as it was prior to adding any light.
Sign In or Register to comment.