Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.
Comments
edited:
- rephrased several times to stress the importance of using physically based properties included in the official Material Definition Language - MDL shaders"
- rest of post removed by user
reason: The intention of this thread seems to be to focus on one very specific issue.
@linvanchene "edited: rephrased several times to stress the importance of using physically based properties included in the official Material Definition Language - MDL shaders"
Well done
Of course, there are some issues of big debate.
Like, I'd point out that IOR doesn't matter if the material is opaque unless you are using top coat and fresnel effect.
Displacement is difficult in Iray and a lot of folks get good mileage out of Normals.
So... yeah.
But I think we can all agree that leaving it as 3DL is balony. Among other things, yes, sometimes things look _ok_ autoconverted, but there are often a number of weird things that might make surfaces look a lot more flat and off, even if they don't look completely screwy. Like, I often find Glossy gets set to weight 0 with color bright pink. ??
Like the old word says: "If something is worth doing, it's worth doing well."
I don't have an issue with it being done, I have an issue with not being told it is done, or being mislead into believing that Iray-specific materials are involved. Ironically that might prevent me from bvuying soemthing as I still often use 3Delight: I am happy with DS's ability to convert 'forward' from DS shaders to Iray, but not convinved going 'backward' might be as good a translation.
Greetings,
While most of the argument is reasonable, I should make a few notes here...
DAZ3D is not a huge player in that field; a lot of non-DAZ 3rd parties support MDL because nVidia's made it powerful. We kinda skate on their work, so...no, MDL's not going to have adoption problems because of DAZ's reluctance to require more work than is necessary from their artists.
To the contrary; displacement maps do NOT work well under iRay and normal maps DO seem to work well. Displacement maps work best in a RenderMan-related engine, which can do almost arbitrary densities of displacement, as opposed to Iray which only displaces at the nearest vertex and requires high levels of subdivision so there are always vertices to displace. [Edit: For the other two options, HD Morphs are only available to some PA's using a certain workflow, and using actual geometry at higher density makes the products heavier weight than they need to be.]
I'm wary of stepping into this argument, as I think that if it renders well that's all that's necessary. I really, really don't think the majority of customers care if the IOR on the materials for a skirt are exactly correct, and for the subset who do, they know how to fix it. Texturing and modeling are two very different skills, and at the prices we pay, it's very, very much okay that most PA's don't excel in both fields. And for the ones who do, we usually DO pay more for.
Lastly, and I'm open to being corrected on this, I believe that seeing DAZ Uber means that it's been converted to Iray format using DAZ's converter script (and possibly tweaked after). Seeing MDL suggests that it has NATIVE Iray support, but may not appear to have the same material settings as DAZ Uber-descended shaders.
I don't have the outfit in question, but I do have one a little older than it which makes the same claim, and I'll check it out.
-- Morgan
I know that Shader Mixer shaders are inherently slower than optimized included shaders.
If MDL is handled through Shader Mixer, it may also have that issue (I don't know for sure).
I find that there are cool effects that warrant the loss of speed, but it's something to keep in mind.
Well I think it's only a matter of time until the CPU/GPU support is improved and repaired as neccessary such that displacement maps do work in DAZ Studio, They are coming to the Octane Renderer in Unity.
I think some enterprising business(es) will wind up making and selling a big big huge library of these materials eventually, but probably for another render engine that DAZ Studio. However, honestly doing that accurately without specially equipment means someone like ourselves aren't going to be doing that. We can look up scattered definitions of what others have done but that's about it.
I mean PBR is really just a dictionary. No one expects to open a dictionary and find a bunch of artistic interpretations of those words, they except clear, consise definitions.
The art part well that is supposed to be what we do so it's really not an argument at all. I'm not 'mad', 'angry', or 'feel cheated' I know this is a transition and I know that the PAs don't have the resources to do correct PBR any more than I do. Even the MEC4D PBR products that I've seen is mostly restricted to PBR definitions that have been given away freely elsewhere on the internet.
I read through most of this thread and I'm not sure if the shaders are indeed Iray (if they use MDL they are), but simply not based on the Uber generic shader. The latter is, and should be, acceptable. The nVidia Examples folder contains Iray-soecific shaders that aren't Uber shaders.
It would be helpful if you posted a screen shot of the upper part of the material list. A properly crafted Iray shader should start with a MaterialID.
I personally don't see the value in shipping 3DL shaders and calling them Iray simply because they work in Iray. ALL 3DL shaders do this. Clearly they're not Iray shaders. The fact that it's difficult to predictably make changes in a 3DL shader to adapt its appearance in Iray goes against a good customer experience, and this should be Daz's primary focus. Yes, D|S will convert a 3DL shader to Iray for the render, but you can do that yourself by applying the Uber shader, and then tweaking to the result closer to what you expect. It would take a vendor less than 15 minutes to do this.
If, by material list, you mean the Surfaces Tab, here is a comparison of the Surfaces tab for 3DL and IRay materials. This is precisely why I logged the ticket with support.
I totally agree. Between pants that glow and 3DL faux eye reflection baked into the texture it's rather disappointing to continue to see these gaffs as acceptible for the DAZ quality price point.
As my ticket was still open, I did draw the attention of support to this forum thread. I have been assured that it has now been brought to the attention of management and the teams concerned and discussions are taking place. Perhaps something will come of it though I was told there are no guarantees on that. As I said earlier, I did not want to single out this one vendor because it seems to be an acceptable practise as far as DAZ are concerned but perhaps they will rethink that in the light of the comments above.
Maybe I should have raised more of a stink when I had this problem before. Heh
I'm gonna go in the DAZ way and say it should be ok
What you all see is just an interface. NOT the actual shader. An UI doesn't define the shader. It's what is called beneath for the shading that is important
So to be very clear, the DAZ Default 3DL Shader interface is NOT a shader. It is an UI. However in this particular case, it is not WYSIWYG
In this case if you play a bit with the DS Default shader UI in the real time viewport you can see that a few channels immediately react to changes (diffuse and specular color, glossiness, IOR, Refraction strength ...)
That means that when you switch to IRAY renderer, if the Shader UI is the DS Default, an IRAY shader is called instead of the 3DL shader for the shading (and I'm pretty sure it's DS Iray Uber that is called)
Does that make a difference instead of having the Iray Uber Interface? Not really. If you apply DS Uber, you get the Uber interface with no change to the shading and you can tweak it if you want
IMO, there would be a difference if some other parameters were needed for a correct shading (Top coat, Abbe etc ). However I'm pretty sure that is not the case, and certainly because the artist may not need more for the shading or doesn't know (creating correct maps is not that easy) or doesn't have certain tools (Substance?)
You also all seem to want "Physically correct shading". The artist part in me is already screaming "Where is art?" but that's another story
First, PBR workflow is just a workflow and doesn't warrant correctness. It can be easily broken. And if one really wants to create correct realistic materials, that involves a lot of math and physics readings, then mastering of MDL, then you can begin to write your shader. Thats a lot of work. Instead, the PBR workflow allows less work with a standardized ubershader (not necessarily DAZ's one) and a fast way to approximate most visual look quickly (and I should emphaze the word approximate because that's really what it is).
I'm gonna go farther there by saying that even the product page doesn't lie. That's a common vocabulary problem
On the product page I see "Daz Studio Iray Material Presets (.DUF)". A material preset is just a convenient way to call a shader interface with it's associated parameters and maps. As long as it does what it should, it doesn't lie. In this case, it calls the interface of the DS Default shader and put maps in the right channels and adjust parameters accordingly. When rendering with IRAY it also calls the right shader (otherwise you'd get black color). I think a good counter example would be Uberenvironment or Uberarealight. When you put one in the scene, they don't produce light when using Iray (or that was so last time I used them). They are 3DL shaders that remains inactive within Iray
IMO this situation also arise because DAZ participate to the vocabulary confusion by selling some preset as shaders (or it was like that last time I checked).
A material/shader preset is often mistaken for a shader, which is completely wrong and thus the confusion
Sorry for my continued confusion but how do you explain that the "interface" for the 3DL materials and the IRay materials look identical - including all the values in the parameters? How do you tweak the parameters normally associated with IRay in an interface designed to tweak 3DL materials? And how come the render of the 3DL material in IRay - which relies on the built-in background conversion - looks identical to the render with the so-called IRay materials selected?
This is completely incorrect. While the shader may invoke an underlying coding, the coding for Iray is completely different than that from 3DL. Iray uses its own materials definitions -- appropriately enough called MDL -- and when you use an Iray shader, these definitions are invoked and sent to the renderer. When using a 3DL shader, D|S must convert that shader to MDL. It does this on the fly, and while often this conversion yields acceptable results, it is far from the ideal solution. You can only reliably adjust an MDL-based shader to work with Iray, because you are adjusting the specific values that are sent to the engine. You cannot reliably adjust a 3DL shader as you cannot forsee how all of its nodes will be auto-converted.
Here is a very thorough discussion of Iray MDL.
http://www.nvidia.com/object/material-definition-language.html
To add to this, Iray actually does *way* better with geometry than high-resolution textures from a memory and performance standpoint.
Glad to hear that DAZ has acknowledged this issue. It will be interesting to see what steps they take to resolve it.
I finally got Nivida's MDL shaders working in DS the other day and the shadrers are Named "Daz Studio Defualt" but are infact Iray MDL so you can only tell by looking at the shader properites like pictured above where both are infact 3DL shaders.
I think that is some sort of DAZ "kindness" in order to ease the use of IRAY or an initial attempt to eventually have just one interface for two renderers.
An interface is just an interface you can call whatever you want in the background.
You still seem to not understand the concept of UI/interface
They don't look identical. They are the same. It is the DS Default Surface 3DL interface, one and unique
As I said it's just an UI. In the background you check if IRAY is the active renderer and if that's the case you map few channels/parameters like Base color = Diffuse Color / Glossy color = Specular color etc...
Try it. Change the diffuse map, color, glossiness with IRAY real time viewport. If there was no channel mapping that wouldn't work.
That channel mapping doesn't even need conversion. That is also how it is done to drive the OpenGL viewport. There are NO visible UI for the openGL shaders.They also use the active shader's UI parameters. Put a texture in the 3DL diffuse and then do the same for the base color in IRAY Uber. You don't have any UI for OpenGL shaders but you can change them with an other shader's UI
Like I'm trying to explain, that's thanks to appropriate mapping
You're making the exact confusion I described. You take an UI for a shader. I didn't say 3DL shaders are like MDL. They are completely different. The UI to call them can be the same
I know the MDL thanks. Already read it. And I can code in RSL for 3delight as well as MDL. I know the difference
I think the OpenGL example is really explicit. Ask yourself how you drive the OpenGL viewport without specific shader UI (because that's a render engine too, with specific shaders)
Takeo - I think you are misunderstanding. The UI for a shader is DRIVEN by the UserParameters block, which is driven by the shader code. As far as the DS user interface is concerned, a shader is a shader.....regardless of 3DL or Iray. It just pulls up the User Parameters definition for the referenced shader, and presents them in the UI. What DEFINES what those parameters are is the shader itself. And Shader Presets also have to reference a particular shader.
So what parameters are exposed via the UI is strongly based on the underlying shader. While it is possible to define an Iray shader that uses the same parameter names and such that are present in a typical (default DS) 3Delight RSL shader.....it's pretty much not done. It would be confusing to everyone using.it.
No. No shader code drive the UI.3DL shaders are never read. The UI parameters are declared from a file. Not read from the shader. Otherwise that would make my life easier
And the Iray parameters are also read from the duf file. Not from the shader. Just checked
Example of UI declaration taken from "Glass Thin.duf"
"channel" : {
"id" : "Diffuse Strength",
"type" : "float",
"label" : "Diffuse Strength",
"visible" : false,
"value" : 1,
"min" : 0,
"max" : 1,
"clamped" : true,
"step_size" : 0.01,
"default_image_gamma" : 1,
"mappable" : true
},
"group" : "/Base/Diffuse/Reflection",
"presentation" : {
"type" : "",
"label" : "",
"description" : "",
"icon_large" : "",
"colors" : [ [ 0.345098, 0.5019608, 0.6588235 ], [ 0.5019608, 0.5019608, 0.5019608 ] ]
}
*** the Iray Uber may be the only one that is read. But not sure about that
While I appreciate the knowledge on display here, I think some unnecessary confusion has been introduced. The issue is simple: the product is sold stating that there are two sets of materials: one for 3DL and one for IRay. There are indeed two folders of materials, one for each. However, the resulting render in IRay is identical whether we select from the 3DL folder or the IRay. Moreover the Surface Tab parameters are identical too. Are we supposed to believe that the IRay materials are somehow different to the 3DL or are both just 3DL materials being auto-converted by DAZ Studio?
As I said the example shown above futher up the page shows they are both 3DL shaders and not Iray. The two shaders are tottlay different in what parametrs they have. Example Ambient - 3DL only. Iray doesn't do Ambient only Emission (light)
I still come back to one thing. If the product page, (read that "advertising,") states there are separate materials for Iray and 3Delight, I expect to see Iray parameters when I go into the Surfaces->Editor. Period. I'm perfectly capable of using the Iray Uber Base to convert 3Delight materials myself. But it's an added step, and one I shouldn't have to take when the vendor and DAZ both are advertising "Iray Materials." Sorry, DAZ, but an Iray icon for a 3Delight shader is misleading and unacceptable. This practice negatively impacts my workflow. And as this thread indicates, I'm not the only who feels that way.
I use Iray shaders for almost every render I do. And when I go to the Editor so I can apply Mec4D's metal shaders to a belt buckle, or change the fabric of a dress with one of the PD Iray Shader Kits, or one of a hundred plus other changes I might want to make to a material zone, it rubs me the wrong way that I have to first apply the Iray Uber Shader to my "Iray Materials." Especially when product prices have been going up, purportedly to cover the vendors extra work to support both render engines!
So as a consumer I ask, please don't advertise Iray Materials for a product unless those materials use Iray parameters.
Maybe the store product pages and DAZ Studio could have three different versions of material labels.
Iray: Any materials created for Iray in any shader language. This shaders can combine nodes from different shader languages
MDL: Shaders created with the Material Definition language MDL nodes only
3Delight / RSL: Shaders created with 3Delight RSL
- - -
Here's two screen captures. First one (iray) is for a new product with an Iray Shader from the PA. FWIW, i also applied a number of Iray shaders from other vendors and they show the same basis parameter optoins.
Seconds capture (3dl) is from a Genesis 2 product that predates Iray. You will note that the parameters available are quite different and look like the screen shots Marble posted.
Please note that the "interface" did not change.
This really seems clear to me. A 3DL shader that looks "ok" in Iray is NOT an Iray shader. The parameters are different and the look is different. This is either false advertising or lying take your pick.
But the UI to call them is not the same, not in this universe or in any pretend universe you've created. If Daz wishes to create a single UI to apply shaders to any rendering engine it supports, that's fine. But is an unlikely hypthetical really cogent to this discussion?
I'm not "making a confusion," but I am sticking with the reality we have, and using the terms and differentiations people here understand.
While I agree, I think the point being made by DAZ Customer Support was that the IRay Uber Shader (as in your screenshot) does not necessarily define what may be a valid IRay material. Some don't use the Uber shader. But my point was that there must be some difference in the two materials and the resulting renders otherwise any old 3DL material could be included and it would be left to the DAZ Studio auto-conversion to make it compatible with IRay. After all, that's what happens when we use older products that don't have IRay materials included - unless we manually apply the IRay Uber Shader which, in turn, creates the different interface in the Surfaces Panel.
We should probably nail down a definition for "user interface." I believe you're talking about the broad interface a user works with to make adjustments in the shader nodes -- e.g. the dials, parameters etc. that allow for mouse or keyboard manipulation of individual values that are then used by the rendering engine.
From his messages I believe the other poster is referring to a non-existent API or other programming "interface" to affect changes in the rendering engine. If I am understanding his comments correctly, that is neither desirable nor practical. The NVIDIA Examples folder show a perfectly acceptable way of providing Iray shaders than are 1/50th as complex as the Uber shader.