Announcement

Collapse
No announcement yet.

VrayMDLMtl problems

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VrayMDLMtl problems

    Hi Everyone,

    I've been researching MDL for changing our current 3d production pipeline and I've stumbled on some things.
    The idea is to create MDL materials in substance designer and use them everywhere to get same looking materials across multiple platforms and lock down the amount of sliders and options in a material to stay pbr consisted .
    From what I can gather Vray currently (Vray 5.2) only supports MDL up to 1.4.3 the source was a Vray maya post. This isn't mentioned in the documentation.
    On the documentation, since adobe as acquired algorithmic. the environment variable path in the 'Importing MDL Files from Substance Designer' should be updated.

    As of writing this substance designer MDL nor nvidia vMaterials 2.0 don't work in Vray. This is probably due the version mismatch.
    The problem I've run into a lot is the Compiler Diagnostics. It only says 2 things, either "mdl::NameOfFile::NameOfMaterial loaded" or "[MDLIntegrator::loadModule] -2: Could not load module "::NameOfFile" (-2)"
    Because substance is currently not an option I've been coding the MDL materials. It would be nice if the compiler gives genuine errors for debugging. After some trial and error I've gotten some simple materials to work, but I would really need the compiler to help me if I want to do some advanced stuff.

    for other people trying to figure MDL out you should check out the Additional Resources it helped a lot. I'm writing shaders with the feature set of 1.3.2 because I don't know if 1.4.4 is supported

    Does anyone know of a viewer/debugger for writing MDL shaders? I the time of HLSL you had FX composer from nvidia, is there something like that?

  • #2
    Hello Jens,

    Thank you for the feedback!

    From what I can gather Vray currently (Vray 5.2) only supports MDL up to 1.4.3 the source was a Vray maya post. This isn't mentioned in the documentation.
    The currently supported version is 1.4.4 (virtually the same as 1.4.3). The documentation is now updated. The known limitations of our MDL implementation were listed as well.

    As of writing this substance designer MDL nor nvidia vMaterials 2.0 don't work in Vray. This is probably due the version mismatch.
    Yes, you are correct. Most of the materials in vMaterials 2 now require MDL 1.5 and they do not load because of version mismatch. We plan to switch to MDL 1.6 or newer later this year.

    The problem I've run into a lot is the Compiler Diagnostics. It only says 2 things, either "mdl::NameOfFile::NameOfMaterial loaded" or "[MDLIntegrator::loadModule] -2: Could not load module "::NameOfFile" (-2)"
    The compiler feedback could certainly be improved. I'll try to make the error messages more descriptive and human-readable.

    Does anyone know of a viewer/debugger for writing MDL shaders? I the time of HLSL you had FX composer from nvidia, is there something like that?
    Unfortunately, apart from the substance designer I can't think of any nice debugging/authoring tool.

    Best regards,
    Ivan

    Comment


    • #3
      Hi Ivan,

      Thanks for the info. I've found more things.
      The debugging info I needed can be found in the 3ds max listener.
      I've gotten an annoying issue however when trying to code/debug the mdl files. When a mdl is loaded and it works, editing that same mdl doesn't change it in vray. Even when i delete the material in max and "reload" the mdl, doesn't work. I need to restart max to trigger get it to work. It would be nice to have a hard reset for the mdl when trying to reload it. Restarting max takes a while.
      You can't use the maps in the slate material editor. I think this is more of a mdl limitation then Vray.

      The big one I'm having problems with is how Vray handles intersecting transparant materials.
      Click image for larger version

Name:	Screenshot MDL glass balls.jpg
Views:	337
Size:	110.9 KB
ID:	1144844.
      This is a simple glass mdl shader where the IOR is set to 1.5. You notice the intersecting edges inside each balls. This isn't physically correct, the light ray shouldn't bounce on the edges to create reflection and should refract again when entering the other ball.

      I've recreated it with the Vraymtl as well and there it's working correctly.
      Click image for larger version

Name:	Screenshot Vray glass balls.jpg
Views:	260
Size:	102.4 KB
ID:	1144845
      This is how it's supposed to look.

      If anyone's wondering, substance version 2019.1.3 works with mdl 1.4.4 you can use that to create mdl graphs that work in Vray 5.2.
      Bad news: You can't buy a license anymore for that version because adobe bought algorithmic after that one

      Comment


      • #4
        The inability to reload modified materials stems from a 'feature' of the current MDL runtime where it caches the materials and their dependencies (that is, any base materials and referenced texture files) whilst lacking an adequate way of unloading a given material. It is very inconvenient but hopefully this limitation will be lifted once we switch to 1.6 or 1.7. A very crude workaround would be renaming the MDL file and/or the material definition to force the MDL runtime to load some entity which is still unknown to its internal cache.

        We are also looking into the bug with the transparent materials.

        Best regards,
        Ivan

        Comment

        Working...
        X