What if Blender could seamlessly render Iray materials?

JClaveJClave Posts: 64
edited November 2019 in The Commons

I'm wondering if anyone here would be interested in a product that allows Blender Cycles to render Iray materials just like Iray or very close to it. (this is currently not possible. Due to imperfect material conversion, one has to invest a lot of time tweaking Blender materials)

Why would one use Cycles over Iray?

  • Superior performance - the whole scene does not have to fit in VRAM because Cycles supports out of core rendering like Octane renderer
  • More integrated features - Motion blur, composition toolings, more render pass options, etc..

This could be made possible because Nvidia recently open sourced MDL material spec. This is what Iray uses for defining and rendering materials in Daz studio. Theoretically, anyone could write a renderer that replicates Iray's results.

Post edited by JClave on
«13

Comments

  • QuasarQuasar Posts: 640

    I don't know what it takes to transfer a Studio scene with the MDL material settings intact, but if it's pretty simple, it sounds like it would be really useful. It makes me wonder if Cycles could somehow be made to use as a render engine in Studio itself. 

  • MendomanMendoman Posts: 404

    That sounds like a great idea, and I'd be really interested. Although I hope that if somebody makes a plugin/add-on like that for Blender they collaborate with Thomas Larsson and mcasual, and hopefully Teleblender and Diffeomorphic get native support for that add-on.

  • Leonides02Leonides02 Posts: 1,379

    Sounds fantastic, if possible.

  • xyer0xyer0 Posts: 5,978

    Very interested.

  • marblemarble Posts: 7,500

    Yes, yes. Are you, @JClave, offering to write a plugin?

  • wolf359wolf359 Posts: 3,829
    I doubt any conversion plugin could be so precise as to completely spare a person from having to make some adjustments in the Blender node editor..... cycles is as well as IRay is constantly being up updated.
  • JClaveJClave Posts: 64
    edited November 2019
    wolf359 said:
    I doubt any conversion plugin could be so precise as to completely spare a person from having to make some adjustments in the Blender node editor..... cycles is as well as IRay is constantly being up updated.

    I would say 'conversion' is a misnomer. Because the way it would work is interpreting the same material file as Iray and rendering it according to the spec, which I hope Iray is faithfully following as well.

    But I agree there could be some Iray specific implementation details that could make things look slightly different somehow. But that would be a much better starting place than how it is now with current Blender importer plugins (Diffeomorphic / Teleblender) where it seems like the materials aren't even half accurate for some scene conversions.

    One possible way to solve the Cycles versioning issue:
    merge the MDL change to Blender's main release. So that it will continue to be maintained.

    Regarding Iray updates, Daz3d only gets updated only like once a year or so. I doubt much maintenance would be required to keep in sync with Iray side of things.

    I found a snippet from Nvidia slides on integrating MDL to a renderer: http://images.nvidia.com/cn/gtc/downloads/pdf/vr/504 Phillip Miller Advanced Rendering Solutions from NVIDIA.pdf

     

    marble said:

    Yes, yes. Are you, @JClave, offering to write a plugin?

    At this stage, I'm entertaining the thought of it. I also strongly want this feature for my another project. I am hoping that another dev takes notice so that this is not a solo undertaking.

    Quasar said:

    I don't know what it takes to transfer a Studio scene with the MDL material settings intact, but if it's pretty simple, it sounds like it would be really useful. It makes me wonder if Cycles could somehow be made to use as a render engine in Studio itself. 

    Implementing Daz3d plugin for Blender Cycles would be a lot of work. Besides implementing Daz side of it, Blender Cycles is currently tightly integrated to Blender and standalone version has been documented as being work-in-progress / experimental for over a year now. Also don't see enough incentive for developers to take on this task.

    Post edited by JClave on
  • Material conversion sounds nice, but if you could get someone to help you get the cycles or better yet evee working in daz it would be better. I would pay for the material converter nonetheless because it would be usefull. I like all the nice tools the new blender 2.81 has so spending less time tweaking textures would be nice.

  • PadonePadone Posts: 3,722
    edited November 2019

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    https://bitbucket.org/Diffeomorphic/import-daz/src/default/

    Post edited by Padone on
  • JClaveJClave Posts: 64
    Padone said:

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    So would you say material conversion is 80%+ accurate?

    I'm confused with some people saying the conversion is good and other people (like @marble) saying the conversion is not accurate at all.

    If someone could clarify why there's such disparity in opinion, that would be much appreciated.

  • GalaxyGalaxy Posts: 562

    As Nvidia joined Blender they already optimised their RTX for Cycle render. I am very interested (Cycle and Eevee both) if I don't need to leave DAZ Studio for render.

  • wolf359wolf359 Posts: 3,829
    JClave said:
    Padone said:

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    So would you say material conversion is 80%+ accurate?

    I'

    If someone could clarify why there's such disparity in opinion, that would be much appreciated.

    it is quite subjective. ..some people want to duplicate( in blender) exactly what they see in a Daz studio IRay render without having to go near the Blender shader node system.....utter fantasy ........Smith micro ported cycles over to poser and it was watered down from day one and remains far behind the real cycles today...it does not even preview in the viewport.
  • PadonePadone Posts: 3,722
    edited November 2019
    JClave said:

    I'm confused with some people saying the conversion is good and other people (like @marble) saying the conversion is not accurate at all.

    You may try it yourself, since opinions from others may vary depending on the personal expertise with the subject. There are people that can't even get the plugin installed and claim it doesn't work. That of course is not a plugin fault. Or they don't know cycles at all and are unable to set it up properly for rendering.

    Also there are a couple of "tricks" to get the best materials from the plugin.

    1) Inside daz studio convert everything to the iray uber shader before exporting. That's because the plugin works best with iray materials, while it doesn't like 3delight materials.

    2) In blender set cycles as render engine before importing. That's because the plugin acts differently depending on the engine selected, and it works best with cycles.

    3) In the plugin material options select auto material with bsdf for solid and guess for refractive. These are the best methods to match iray. As a technical explanation bsdf nodes are better than the principled shader because iray allows non-pbr materials to be defined, that are not possible with the principled shader.

    diffeo.jpg
    201 x 128 - 7K
    Post edited by Padone on
  • AllenArtAllenArt Posts: 7,169
    wolf359 said:
    JClave said:
    Padone said:

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    So would you say material conversion is 80%+ accurate?

    I'

    If someone could clarify why there's such disparity in opinion, that would be much appreciated.

     

    it is quite subjective. ..some people want to duplicate( in blender) exactly what they see in a Daz studio IRay render without having to go near the Blender shader node system.....utter fantasy ........Smith micro ported cycles over to poser and it was watered down from day one and remains far behind the real cycles today...it does not even preview in the viewport.

    Actually, I wouldn't want that. I'd want to be able to tweak the shaders with the cycles nodes. I'm still learning them, and a lot of the time they drive me nuts, but they're powerful :) At least easier to understand than shader mixer o.O

    Laurie

  • EsemwyEsemwy Posts: 578

    This might be useful fodder for the discussion. 
    Standalone Cycles
    Cycles Home Page

  • nicsttnicstt Posts: 11,715

    I'd pay money (good money) to use a different renderer in Studio, especially Cycles and/or Eevee; materials for one work with the other, by design.

  • I'd love to use Daz content natively in Blender. Not just converting it from Daz Studio, but simply loading and using it in Blender. This may not be possible for HD and dForce content from the beginning, but this may come later on. Diffeomorphic is a great first step, but every improvement is highly welcome. 

  • JClave said:
    Padone said:

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    So would you say material conversion is 80%+ accurate?

    I'm confused with some people saying the conversion is good and other people (like @marble) saying the conversion is not accurate at all.

    If someone could clarify why there's such disparity in opinion, that would be much appreciated.

     

    It depends on what texture set you are using.  One person could be using a G8F with the default G8F textures or maybe Victoria 8 textures which convert over with diffeomorphic fine.  But someone else could be using G8F with textures from lets say bluejaunte or sublimelyvexed will needs its materials tweaked in blender because diffeomorphic didnt convert it properly because as Padone mentioned diffeo has issues with SSS and DLS which if i had to guess G8 or V8 textures dont have or if they do they arent as detailed or high res or whatever as bluejaunte or sublimelyvexed textures.

  • Iray in Daz works great but it is too much of a vram hog and then add Windows 10 and that kills what should be a great render engine. I have been moving stuff over to blender and it works well with diffeomophic plugin but it will not look as good as Iray. I have been teaching myself how to use Blender and it's node shader system works great but still not as easy as Iray in Daz studio. For now I just use daz studio Iray for main charcters and composite the rest via photoshop. I don't even try to do animation in daz iray anymore. Would like to see Opengl upgraded but everyone has given up on this software. Maybe Vulkan or Evee for daz studio would be great.

  • I am quite satisfied with the Diffeomorphic plugin; the materials look great to me already. I suppose there's room for improvement, but here's the thing: Blender's node system is so powerful that you'll probably want to tweak it manually anyway and create your own library of materials that you append to other scenes later. I know that I (and others) keep harping on this, but many are expecting Blender to be exactly like Daz. It is not. You have to learn Blender a little bit. The difference is that it's very easy to find tutorials on anything in Blender. What you get from just a little bit of perseverance is a tool that can do pretty much anything you want. But there may not be a button labeled "Make It Look Like Daz"
  • marblemarble Posts: 7,500
    edited November 2019
    JClave said:
    Padone said:

    Just to point out that the diffeomorphic plugin DOES materials conversion for both cycles and eevee. It works fine for most iray materials. Actually it has some issues with sss and dual lobe specularity. These features are implemented but it's not a perfect match. Then things may improve if anyone is interested to contribute.

    So would you say material conversion is 80%+ accurate?

    I'm confused with some people saying the conversion is good and other people (like @marble) saying the conversion is not accurate at all.

    If someone could clarify why there's such disparity in opinion, that would be much appreciated.

    I have to add the disclaimer (as I have elesewhere) that I am not experienced with rendering in Blender - neither cycles not Eevee. So @Padone clearly has a jump start on me there. However, from my limited experience, to claim that Diffeomorphic conversion works out of the box would be a dubious claim at best. After following advice from @Padone and others I did not get close to the IRay quality with Diffeomorphic and Blender Cycles. Subjective, yes but try it yourself and see if you agree. I still find the Blender node system intimidating and I remain doubtful whether the investment in time or effort to learn it would be worth the potential gains. Right now my two priorities are a) to avoid dropping back to CPU which is a frequent and frustrating occurrence for me in DAZ Studio 4.12 and b) to render a scene quicker with similar quality. People claim that the out-of-core feature and the denoiser in Cycles (being so much better than IRay) suggest that both of my priorities may be met.

    Post edited by marble on
  • JClaveJClave Posts: 64
    edited December 2019

    Okay, done more research on how Iray materials in Daz can be imported and rendered in Blender Cycles.

    If anyone wants to entertain the idea of this feature in Blender, would like an opinion on the following proposal

    From end users' point of view, the following changes will be made on how you use Blender for rendering Daz assets using Diffeomorphic import plugin:

    1. A custom Blender build (currently 2.81) just for rendering MDL materials in Cycles.
      • Users will have to open this specific version of blender to render their imported Daz assets
    2. In Blender, there will be a custom material node(s) that represents Iray MDL materials, depending on material type:

    Regarding shaders created using Shader Mixer, only a subset of Shader bricks that are most commonly used will be replicated in this MDL integration.

    This means only a fraction of Shader Mixer materials will be faithfully converted to Blender. The ones that aren't compatible will fall back to how Diffeomorphic currently converts those materials.

    I plan to open source this custom Blender build for other interested developers to contribute

    Post edited by JClave on
  • FSMCDesignsFSMCDesigns Posts: 12,755
    nicstt said:

    I'd pay money (good money) to use a different renderer in Studio, especially Cycles and/or Eevee; materials for one work with the other, by design.

    You and me both. I have tried exporting scenes to render in Vray, Maxwell and even Kerkythea which is free but it is such a hassle setting up materials. cycles may be a bit more effieient than IRAY, but since posers Superfly is a version of cycles, I'd rather go with something else.

  • DustRiderDustRider Posts: 2,751
    JClave said:

    Okay, done more research on how Iray materials in Daz can be imported and rendered in Blender Cycles.

    If anyone wants to entertain the idea of this feature in Blender, would like an opinion on the following proposal

    From end users' point of view, the following changes will be made on how you use Blender for rendering Daz assets using Diffeomorphic import plugin:

    1. A custom Blender build (currently 2.81) just for rendering MDL materials in Cycles.
      • Users will have to open this specific version of blender to render their imported Daz assets
    2. In Blender, there will be a custom material node(s) that represents Iray MDL materials, depending on material type:

    Regarding shaders created using Shader Mixer, only a subset of Shader bricks that are most commonly used will be replicated in this MDL integration.

    This means only a fraction of Shader Mixer materials will be faithfully converted to Blender. The ones that aren't compatible will fall back to how Diffeomorphic currently converts those materials.

    I plan to open source this custom Blender build for other interested developers to contribute

    Sounds interesting ... and very useful.  I would prefer it to not be a custom build, but as long as it's usable with regular build installed it sounds great. Looking forward to it.

  • Hurdy3DHurdy3D Posts: 1,052
    JClave said:

    Okay, done more research on how Iray materials in Daz can be imported and rendered in Blender Cycles.

    If anyone wants to entertain the idea of this feature in Blender, would like an opinion on the following proposal

    From end users' point of view, the following changes will be made on how you use Blender for rendering Daz assets using Diffeomorphic import plugin:

    1. A custom Blender build (currently 2.81) just for rendering MDL materials in Cycles.
      • Users will have to open this specific version of blender to render their imported Daz assets
    2. In Blender, there will be a custom material node(s) that represents Iray MDL materials, depending on material type:

    Regarding shaders created using Shader Mixer, only a subset of Shader bricks that are most commonly used will be replicated in this MDL integration.

    This means only a fraction of Shader Mixer materials will be faithfully converted to Blender. The ones that aren't compatible will fall back to how Diffeomorphic currently converts those materials.

    I plan to open source this custom Blender build for other interested developers to contribute

    why a custom build? would also a plugin work in blender work?

  • JClaveJClave Posts: 64
    edited December 2019
    gerster said:

    why a custom build? would also a plugin work in blender work?

    Two main reasons:

    • I want this MDL integration to be faithful to Iray materials with no compromise. I don't want what Diffeomorphic plugin currently does - hooking up material nodes that work similar to Iray materials but not the same.
    • With above point being said, going the addon route will require one of the following options:
      1. Create a brand new external renderer that can be hooked up with Blender
      2. Create a list of custom Blender Material nodes that match MDL functions used in Iray materials
      • Both options require significant amount of effort and since this is one man show for the time being, I don't see these options as feasible.

    Another long term goal I have is to customise the renderer further by adding more features to feed into my NPR engine later down the line, but I digress.

     

    Post edited by JClave on
  • Hurdy3DHurdy3D Posts: 1,052

    okay I see.

    what about a pull request, adding your changes to the blender core,

    I think forks should be always the last option wink

  • JClaveJClave Posts: 64
    edited December 2019
    gerster said:

    okay I see.

    what about a pull request, adding your changes to the blender core,

    I think forks should be always the last option wink

    From the information I've been gathering, the core devs will only accept changes that fit their vision.

    That explains why Blender Game Engine was deprecated in 2.8 release.

    Also, they most likely won't accept PR merges from a nobody like me with no prior connections.

     

    If I may ask, what makes you want this MDL feature to be usable with standard Blender release?

    I thought most users here just want an alternative to Iray and don't care about most of the features that Blender provides

    Post edited by JClave on
  • Hurdy3DHurdy3D Posts: 1,052

    My fear is that at some point you'll lose interest in maintaining the Blender fork and we'll hang in the same version forever.

    I'm also interested in using Blender features... better water and cloth simulation e.g.

    If it's only the about the cylces render engine, why not write a cycles plugin for DAZ?

  • JClaveJClave Posts: 64
    edited December 2019
    gerster said:

    My fear is that at some point you'll lose interest in maintaining the Blender fork and we'll hang in the same version forever.

    I'm also interested in using Blender features... better water and cloth simulation e.g.

    If it's only the about the cylces render engine, why not write a cycles plugin for DAZ?

    If writing a renderer plugin for Daz was as easy as writing a couple of script files.. hah

    I'm not sure if you know of a renderer plugin called Reality. It allows full Daz integration to Luxcore renderer.

    The developer for Reality recently open sourced the plugin and one of the reasons was that, it was too much maintenance effort keeping up with Daz updates.

    By being totally separate to Daz studio, this eliminates the potential maintenance issue and also upfront development effort required.

     

    You shouldn't have to worry about me abandoning the custom build cause of the following reasons:

    1. It will be open source. Just like Diffeomorphic plugin which has several contributors besides Thomas who is the original creator. No one's stopping anyone from taking over maintenance.
    2. I have a high stake in this. Because this will be an essential app for my upcoming NPR engine. So if people don't want to use this custom build anymore, that's a bad news for my NPR engine too.

    cycles may be a bit more effieient than IRAY, but since posers Superfly is a version of cycles, I'd rather go with something else.

    Superfly is based on Cycles build that's at least a few years old. Since then, Cycles improved a lot and the following features can beat Iray when it comes to performance

    • Smarter AI Denoiser
      • analyses Albedo and Normal pass as well as Beauty pass, unlike Iray.
      • This means you need a fraction of samples in Cycles vs Iray and get about the same quality render
    • Microdisplacement
      • apparently can be used to save VRAM requirement up to 88% for sculpted assets such as Daz HD contents
    Post edited by JClave on
Sign In or Register to comment.