DAZ 4.9.3.166 Degradation of iRay

AndySAndyS Posts: 1,434
edited April 2017 in Daz Studio Discussion

Hi folks,

I was really happy, that some demanding (related to surface details) scenes stopped crashing upgrading from 4.7  ->  4.8  ->  4.9.2.70  ->  4.9.3.166.

But now I used an asset with tires. To show the real 3dimensional structure of the profile, it was necessary to apply some Displacement Dub-D. With DAZ 4.9.2.70 that worked pretty well to show the details.
Now I tried exactly the same with 4.9.3.166.   ->  Desaterous !!!

As we all know, there are some situations, where we need way more as only bump/normal. Up to 4.9.2 Displacement worked very well.

In the current test Displacement SubD is set to 4. Rendering with 4.9.2 you see the well defined profile. For 4.9.3 there is only a smll hint of what the structure could be.
And even worse: Increasing of Displacement SubD didn't show any improvement. Contrary - even Displacement SubD = 2 shows exactly the same resolution. With SubD=0 the tires are without any surface detail (asolutely round and smooth).

I just was on my way to upgrade to 4.9.3. But luckyly I stopped really in time. wink

Hello Folks / DAZ-Devs: Here really is a construction site !!

Jeep with DAZ 4.9.2.70 SubD4.jpg
1000 x 900 - 74K
Jeep with DAZ 4.9.3.166 SubD4.jpg
1000 x 900 - 75K
Post edited by AndyS on
«1

Comments

  • GKDantasGKDantas Posts: 200

    Genesis 3 Female is already Sub-d right? If she is no problem using my displacement maps here in this version.

    displactest.png
    1920 x 1080 - 2M
  • AndySAndyS Posts: 1,434
    edited April 2017

    There're two different SubDs:

    • Render
    • Displacement

    What you're talking about?
    Did you transfer the surface to iRay? The iRay Uber shader don't have SubD Displacement level > 0.
    If Displacement: What SubD value? Did you check for 0, 1, 2, ..., or way bigger 2 ?

    And about what of the surface structures do you talk? The amethyst or the other skin-marmor structures? Second are only bump/normal. Here you only see an optical, but no real 3dimensional up/down.

    The amethyst structures are big compared with the devisions of the mesh. So they work without SubD. And Displacement SubD shows an effect, but only up to 2; above that there's no further effect. For 4.9.2.70 bigger values each showed a more detailed outcome.
    I talk about structures only having a fraction of the mesh resolution.

    Post edited by AndyS on
  • The tires on that jeep are flat, the tire pattern is made with a displacement map (made for 3DL), I don't use iRAY so have no idea what the problem could be.

    I would think something wrong when transfer material to iRAY but if it works ok in one version and not another of DS I have no clue.

     

     

     

  • SzarkSzark Posts: 10,634

    now that explains my displacement issue I had yesterday.........arrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 

  • AndySAndyS Posts: 1,434

    Szark,

    don't drink and drive ...  wink

    Or was it really DAZ?

  • Richard HaseltineRichard Haseltine Posts: 97,265
    edited April 2017

    I have two planes, each with only a single polygon. They have the Iray uber Base shader applied, with abrick map from a Stonemason set applied to displacement, strength 1, min -1, max 1. The left-hand plane has a SubD Displacement value of 10, the right-hnad plane a SubD Displacement of 2. The left-hand plane shows far more detail than the right.

    Edited to use an image with default HDR

    SubD Displacement details.jpg
    1000 x 1000 - 179K
    Post edited by Richard Haseltine on
  • AndySAndyS Posts: 1,434

    But pardon,

    yes, for those primitives, I see it.
    But what's wrong about the whells of the "Excavator", the "WW2 Jeep", ... ?
    with DAZ 4.9.2.70 the increase of Displ SubD works well - opposite with 4.9.3.166.

    Please try to reproduce with those "real" assets / props. Those simple examples you used are not reliable, as you see.

  • The planes show that there is not a simple failure of Displacement SubD over level 2, I wasn't sure which models you were using to see if I could match the issue (and perhaps see what about those causes it).

  • Richard HaseltineRichard Haseltine Posts: 97,265
    edited April 2017

    The log explains the issue:

    2017-04-11 18:59:32.428 WARNING: dzneuraymgr.cpp(307): Iray WARNING - module:category(TRIT:GEOMETRY):   1.0   TRIT   geo  warn : Object (no name known): the parametric approximation level is set to 2. The original value of 5 would produce too much geometry in one mesh.

    Perhaps Iray has added a safety check (which may be more stringent than is needed, given that you had success in previous builds, but then again something else may have changed in Iray to necessitate that strictness). Of course it's also possible that there is a DS bug here, affecting how the geometry is passed to Iray, so it's still worth a report so that daz can look into it and if necessary raise a bug with nVidia.

    Post edited by Richard Haseltine on
  • The Jeep is a high-polygon model - over 100,000 polygons. Applying SubD 5 to that would give over 100,000,000 polygons. What does work is to split the tyres into their own geometry with the Geometry Editor tool - which could then be rigged for animation - and hide the tyres on the main figure.

    1. Load Jeep
    2. With the Geometry Editor tool active, in the Tool Settings pane click the + next to the Rubber surface
    3. Right-click in the viewport, Geometry Visibility>Hide Un-selected Polygons.
    4. Right-click in the Viewport, Geometry Editing>Delete Hidden
    5. Export as OBJ
    6. Delete the figure and load a fresh copy of the Jeep.
    7. Import the exported OBJ from earlier, copy the Rubber surface from the Jeep to the OBJ
    8. Either use the foregoing steps to hide, and perhaps delete, the rubber surface or simply set it to transparent.
    9. Apply Iray Uber Base to the tyres and adjust SubD as desired.

    I interrupted the render at 90% converged, and hid the tyre geometry here (I'd also seleted the rest of the Rubber that wasn't tyres in my test)

    Jeep with separate tyres.jpg
    1000 x 1000 - 476K
  • AndySAndyS Posts: 1,434

    Nice workaround.

    But isn't it strange, that you need new workarounds for new DAZ updates for formerly correct working sets?

    Same for the 3D-Camera (freebee) of Zaz777. And of cause for the new camera parameters in general.
    For iRay scenes built with earlier versions, some of the parameters (lens-shift) don't work, even if you only add the camera with 4.9.3.166 first time.
    Why is the iRay render setting stored in a scene blocking the new (4.9.3.166) camera parameters?

    This indicates that something with the upgrades works completely wrong.

    (Hope you allow me to say this, Richard)

  • barbultbarbult Posts: 23,224
    edited April 2017

    It is interesting, though, that Iray let me set render subd to 4 (surface subd was 0). It did a fine job on the tires displacement. Conversely, with render subd at 0 and surface subd at 4, the tires look no better than with surface subd at 2 (because of the issue Richard discovered in the log, I suppose). Surface subd also messed up the texture of the lettering on the jeep and seat upholstery.

    So it seems strange that Iray will accept and process render subd 4 but not surface subd 4.

    (The jeep is not made for subdivision, I guess, because the windows shape gets messed up.)

    Render subd 4 Surface subd 0

    Render subd 0 Surface subd 4

     

    Jeep High Res render subd 4 surface subd 0.jpg
    800 x 600 - 221K
    Jeep High Res render subd 0 surface subd 4.jpg
    800 x 600 - 216K
    Post edited by barbult on
  • AndySAndyS Posts: 1,434

    And:

    this confirms, what I previously said:

    Instead fixing the bug related to internal static <-> dynamic memory allocation, they blocked the chance for geometry detailing.
    That's not nice.

    See: For 4.9.2.70 it wasn't a problem. So why now for the newer versions?

  • AndySAndyS Posts: 1,434
    edited April 2017

    One question, Barbult,

    did you seperate the tires first, as suggested by Richard?
    Cause I didn't succeed to use Render SubD higher 2 (with 4.9.3.166).

    Which DAZ version did you use?

    Post edited by AndyS on
  • barbultbarbult Posts: 23,224
    AndyS said:

    One question, Barbult,

    did you seperate the tires first, as suggested by Richard?
    Cause I didn't succeed to use Render SubD higher 2 (with 4.9.3.166).

    Which DAZ version did you use?

    I did not separate the tires. I am using 4.9.3.166 (release, not beta). I first changed the jeep from base resolution to high resolution (Edit/Geometry/Convert to SubD) and then changed the render subd. to 4. 4 is the highest value the interface allows without disabling limits. Are you sure you changed Render subd and not the regular viewport subd?

  • I tried setting the REnder SubD to 4 and my system locked solid at render - had to do a hard reset. I recall being told, with respect to a slightly older version of Iray, that the surface SubD was less memory efficient than the object SubD

  • AndySAndyS Posts: 1,434

    Not Render SubD.
    To show the displacement details of the tires, You only have to change the Displacement SubD in the surface of the rubber only.
    With 4.9.2.70 this worked for all values 0 -> far above 5. Already 4 showed the well defined profile.
    With 4.9.3.166 at Displacement SubD = 2 the profile looked like in the right pic in my opening post. Values bigger didn't change the outcome.

    Why do you talk about Render SubD?
    Of cause this causes strange effects to the jeep.

  • Displacement SubD divides the whole mesh - it didn't in very early versions, before 4.8 left beta, but that was fixed (an Iray bug, I believe). The difference between Render SubD on the object and Displacement SubD on a surface is that the latter adds polygons but doesn't run a smoothing algorithm on them - the actual number of divisions will be the maximum of the Render SubD and all the Displacement SubDs (that's why Render SubD is labelled minimum).

  • AndySAndyS Posts: 1,434
    edited April 2017

    Could you please try my tire's material setting?
    Only this materials preset without any other change for iRay.
    No render subd on the jeep.
    I used the Displacement SubD only on the rubber surface.
    And even Displacement itself only on the rubber surface.

    duf
    duf
    Tires iRay.duf
    9K
    Post edited by AndyS on
  • AndySAndyS Posts: 1,434

    Pardon Richard,

    Displacement SubD divides the whole mesh - it didn't in very early versions, before 4.8 left beta, but that was fixed (an Iray bug, I believe). The difference between Render SubD on the object and Displacement SubD on a surface is that the latter adds polygons but doesn't run a smoothing algorithm on them - the actual number of divisions will be the maximum of the Render SubD and all the Displacement SubDs (that's why Render SubD is labelled minimum).

    I hope I got you wrong.

    You want to say, setting the displacement SubD value only for one of the many surfaces of the asset, will create displacement subd for the whole asset?
    That would be a totally crazy extend of unnecessary memory! I can't believe.

  • barbultbarbult Posts: 23,224
    AndyS said:

    Pardon Richard,

    Displacement SubD divides the whole mesh - it didn't in very early versions, before 4.8 left beta, but that was fixed (an Iray bug, I believe). The difference between Render SubD on the object and Displacement SubD on a surface is that the latter adds polygons but doesn't run a smoothing algorithm on them - the actual number of divisions will be the maximum of the Render SubD and all the Displacement SubDs (that's why Render SubD is labelled minimum).

    I hope I got you wrong.

    You want to say, setting the displacement SubD value only for one of the many surfaces of the asset, will create displacement subd for the whole asset?
    That would be a totally crazy extend of unnecessary memory! I can't believe.

    Yes, that is what he is saying. Look at my jeep image above where I used surface (displacement) subd. I applied it only to the tires, but the windows, upholstry and lettering are obviously affected in a bad way.

  • AndySAndyS Posts: 1,434

    OK,

    pitty, I couldn't reproduce this. DAZ starts rendering, blowing up the memory over 18GB, but after some minutes it broke down below 50MB (YES! only some MegaBytes - no typo). That's way below the space needed for the open workspace itself.
    After 30 Minutes I killed it by stopping the (rest-)DAZ process using the task manager.

    But it shows, the current development runs completely into the wrong direction. Same indicated by what Richard stated.
    Why should I subdevide the whole prop / object, whereas I only need to detail on single small surface area.
    And regarding the warning message, Richard quoted, somehow in 4.9.3.166 they mixed it up in the wrong way (Displacement SubD of a single surface property  vs. Render-SubD of the whole object).

  • As I said, Displacement SubD applying to the whole model is, to my understanding, the documented Iray behaviour and is what DS has been doing since the early 4.8 versions. I'm not at all sure why this is suddenly an issue now, but it does seem to be an Iray behaviour (the error is in the output from Iray itself) rather than on the DS side (though of course it could be a change in how DS is sending the data to Iray).

  • AndySAndyS Posts: 1,434

    Hey Richard,

    What you're talking about?
    Displacement SubD applied to a single surface (in the surface attributes) never applies to the whole mesh. It never had any effect on the other surfaces of the figure. And it was never meant to do. Otherwise it's complete nonsense.
    But if so - this is the BUG.

  • barbultbarbult Posts: 23,224
    Richard is correct, Andy. Just look at the Jeep render I posted above. I applied surface Subd displacement only to the tires. Look at how the windows, seats, body text are obviously affected.
  • AndySAndyS Posts: 1,434
    edited April 2017

    No, you're not correct.
    This effect of your picture only appears for the render subD of the figure (whole mesh).

    There's a big difference between the surface parameters and the overall mesh resolution settings !!

    My pictures show the jeep with displacement subD (set in the surface parameters) only for the rubber surface (4.9.2.70 and 4.9.3.166). Displacement SubD=4. So - do you see any effect on the window? - No !
    The mesh resolution still is basic res. I didn't use any mesh high res, neither any render subD.
    Your picture shows the typical effect, when subdividing the mesh. But that's not, what I'm talking about.

    When we (Richard and I) tried to use render subD=4, DAZ never started to render within a reasonable time (I waited over 30 min).

    Post edited by AndyS on
  • Displacement SubD doesn't smooth, so the only way to see if it is applied is to apply map to an area that was not explicitly set to a higher value.

  • AndySAndyS Posts: 1,434

    Displacement SubD doesn't smooth,

    correct!

    so the only way to see if it is applied is to apply map to an area that was not explicitly set to a higher value.

    yes.

    But the Jeep in barbults pictures shows the typical High resolution effect. Not from displacement.

  • nicsttnicstt Posts: 11,714

    I tried setting the REnder SubD to 4 and my system locked solid at render - had to do a hard reset. I recall being told, with respect to a slightly older version of Iray, that the surface SubD was less memory efficient than the object SubD

    Hmmm, surface and object sub d; where are these? I know under parameters there are surface and render subd, but not seeing anything else, nor under surfaces when they are set as IRAY.

  • Displacement Sub Division should be an option for the Iray Uber Base shader when there is displacement enabled - it is hidden when there is no displacement.

Sign In or Register to comment.