iRay bad rendering artifacts (possibly bug report)

In my first tests with iRay I was focused on speed and memory so I didn't notice rendering issues. I assumed at first it was a reliable rendering engine.

Below you can see the artifacts I mean in the attached picture. Basically iRay makes a mess on shading by revealing underline triangles in the mesh. It is very easy to reproduce the issue I included instructions about how to do so.

In my experience this kind of artifacts turn out when the application feeds the rendering engine with non-planar polygons. More specifically, in animation packages this usually happens when subdivision is used before deformations.

My guess seems to be confirmed by the fact that I'm not able to reproduce the issue in not posed models. Only posed aka deformed models seems to be affected. So if I'm right this is not a bug in iRay itself, but rather in D|S that doesn't make proper use of subdivision.

In any professional animation package there's an option to use subdivision before or after deformations. This is because subdivision doesn't only gets things smoother, but it also gets polygons planar. This is why in rendering it is used as the very last step before feeding the engine. Because it is a known issue that non-planar polygons produce rendering artifacts.

On the other side, using subdivision before deformations speeds up the animation process because this way subdivision needs to be applied only one time at the beginning instead of being applied for every animation frame.

So usually pre-subdivision is used during the animation process to get a good and fast preview, while post-subdivision is used for rendering to avoid artifatcs. It seems to me that D|S only does pre-subdivision.

For the sake of completeness another way to avoid non-planar polygons is to pre-subdivide then triangulate the mesh. Since triangles are always planar this way you avoid rendering artifacts as well. But, you have anyway to recalculate normals for every frame, because deformations affect normals. If you don't recalculate normals you get artifacts as well. May be this is what happens in D|S.


required:
- daz studio 4.8
- g2 female
- default lights n shaders

steps to reproduce the issue:
- load g2 female
- load iray materials for g2 female
- load uber environment 2
- load the barefoot dancer pose
- render with iray with default settings (press default button)

 

iray.jpg
535 x 606 - 60K

Comments

  • fastbike1fastbike1 Posts: 4,078

    You don't need uber environment2 for Iray. The default HDRI should handle that.

    I think there may be something going on with the pose. I get some articfact around the armpit, see first image. Seconf and third images are with the Standing-006a pose. Default HRDI lighting only. Not seeing triangles.

    g2f iray padrone test 1.jpg
    750 x 750 - 48K
    g2f iray padrone test standing 006a.jpg
    750 x 750 - 54K
    g2f iray padrone test standing 006a-2.jpg
    750 x 750 - 56K
  • PadonePadone Posts: 3,700

    Hi

    Yes I know it is the pose. The dancer pose is more extreme in shoulder deformations, that is why I choose it for showing the issue. An extreme pose is better to show possible non-planar polygons due to deformations.

    As for iRay not needing ue2, I just picked up a possible lighting configuration. Since in the default mode iRay uses the sun without hdr map, it seemed to me a fast way to add ue2 for ambient lighting. Anyway you get the issue on any light set, just with different degrees of appearence. Indeed using a hdr map instead of ue2 slightly reduces the issue, but it stills there.

     

  • mjc1016mjc1016 Posts: 15,001
    Padone said:
    As for iRay not needing ue2, I just picked up a possible lighting configuration. Since in the default mode iRay uses the sun without hdr map, it seemed to me a fast way to add ue2 for ambient lighting. Anyway you get the issue on any light set, just with different degrees of appearence. Indeed using a hdr map instead of ue2 slightly reduces the issue, but it stills there.

     

    1.  You don't need 'ambient' lighting...Iray is a photorealistic, physics based renderer...'ambient' is automatic.

    2.  It's a settings issue...has that been converted to the Iray preset?

  • PadonePadone Posts: 3,700

    Hi

    1. Yes, I agree. Anyway this is not the point here. As I said it happens with any kind of lightset.

    2. I don't believe so but it is possible. If you can find a setting that doesn't produce artifacts with the dancer pose than just show it please. It would be very useful. As for iray preset yes, it was used iray materials for gf2, as I said in the steps to reproduce the issue.

     

  • daveleitzdaveleitz Posts: 459
    edited September 2015

    It's the Shadow Terminator artifact.  Unfortunately, it's common in unbiased, physically-based rendering solutions.  Here's an explanation for Iray:

    http://blog.irayrender.com/post/29042276644/shadow-acne-and-the-shadow-terminator

    Post edited by daveleitz on
  • ToborTobor Posts: 2,300
    daveleitz said:

    It's the Shadow Terminator artifact. 

    And as the Terminator always says, "I'll be back!"

    In another thread, that is!  wink This comes up maybe twice a week. We should have a sticky - common prpoblems with Iray.

  • PadonePadone Posts: 3,700

    Yes it is exactly what happens. Thank you Daveleitz, it explains many things now. Oddly, it says it affects all unbiased renderers but i never met this issue when using Cycles. May be I was just lucky.

    Anyway from the article the only solution seems to crank up the subdivision level. But this can't work on meshes that only have the base level. For example I don't see subdivision available for clothing items.

    If it may help, in my tests I found that the uber environment indeed seems to emphasize the issue, because it makes shadows more visible, so avoid using it. Also, using loop subdivision instead of katmark seems to help making the issue less visible. That is what I found. If anyone else has more workarounds he's welcome.

    smiley

     

  • mjc1016mjc1016 Posts: 15,001

    Iray is worse than most, because it has pretty poor subdivision capabilities.

    You can add a SubD modifier to anything doesn't have one...

    Edit > Object/Figure > Geometry > Convert to SubD.

  • PadonePadone Posts: 3,700

    Thank you so much .. I also see some other interesting items there such as triangulate and smooth .. time to play around

    smiley

  • ToborTobor Posts: 2,300
    Padone said:

    As for iRay not needing ue2, I just picked up a possible lighting configuration. Since in the default mode iRay uses the sun without hdr map, it seemed to me a fast way to add ue2 for ambient lighting. Anyway you get the issue on any light set, just with different degrees of appearence. Indeed using a hdr map instead of ue2 slightly reduces the issue, but it stills there.

    Iray can only use material and light shaders designed for it. If your scene contains a non-Iray shader or light, a just-in-time converter is invoked during the scene collection phase to conform the shader/light to an Iray-compatible version. Unfortunately, you never know what you're going to get when using this method. It's much better to take the time to relight the scene with Iray-specific lighting. HDRi and sun/sky are givens, but the other four types -- emissives, distant/infinite, point, and spotlight -- all map to internal Iray light primitives. It's more work to manually relight a scene, but the results are better and more predictable.

    I realize you said the problem occured under various lighting, but your example showed an extreme with a very sharp shadow at an oblique angle, and indeed, this is where the shadow terminator defects show their worst. I think if you look at the examples in the various "Show us your Iray render" threads, you'll see that with lighting more common used for human subjects, the problems of under-tesselatled geometry are faily minimal.

  • PadonePadone Posts: 3,700

    I partially agree. In my tests it is true that the terminator issue doesn't show up so often. Anyway it really depends on the type of lightning that you need for your scene.

    I mean, if you're going to shot a hi-key lighting scene, where there is much light with soft shadows, typical of portraits or "happy mood" scenes, that is, where lights have to support a happy mood theme for the audience, then it is true that in this case the terminator doesn't show up often.

    But, if you need a low-key lighting scene to support a "bad mood" theme for the audience, where you have intense hard shadows, then it is very likely that the terminator is going to show up often.

    There is not a "lighting more common used for human subjects", it all depends on what you need to do. Anyway, I would rather stay focused on how to handle the issue, rather than speculating on how often it will show up. I believe your advice of avoiding automatic conversion of unsupported lights and shaders is useful in this case, thank you so much.

  • ToborTobor Posts: 2,300
    Padone said:

    There is not a "lighting more common used for human subjects", it all depends on what you need to do. Anyway, I would rather stay focused on how to handle the issue, rather than speculating on how often it will show up. 

    Not sure I follow . You handle the issue when it shows up. What's to "handle" if the conditions that cause it aren't there? Now you know when it may show up, and why. I wasn't saying you can't light your scene a certain way, but by knowing the lighting styles under which the problem is most likely to occur, you can make other adjustments around it. There are plenty of non "happy mood" production render examples in these forums, with indoor, outdoor and mood lighting, where you can see the variety of lighting styles possible. This is all I was saying.

     

  • PadonePadone Posts: 3,700

    Understood. Thank you again for your advice I do appreciate it.

    smiley

  • PadonePadone Posts: 3,700
    edited September 2015

    Hi

    Did some test and may be this is useful. Below you can see the same sphere with the same lighting style. The first is using the sun-sky model and the terminator is showing up. The second is using a hdr map and the terminator is much less visible. I twicked the sun to match the hdr so to have a comparison.

    So in general avoid using the sun and use hdr instead.


    steps:
    - create a sphere with default values
    - add a point light to the scene and turn it off
    - light with sun 15 aug 9.00 for image 1
    - light with default hdr map (ruins-500) for image 2

    Note: the point light in step 2 is needed to turn off the automatic head lamp that is added to a scene with no lights. If you don't add this fake light then the automatic light hits the front of the sphere and hides the shadows.

    p.s. Another way I found is to use the sun and slow down the sun disk intensity but it seems to me that hdr works better

    terminator.jpg
    1098 x 606 - 39K
    Post edited by Padone on
  • In Render Settings > General > Misc, you can set AutoHeadlamp to 'Never'

  • PadonePadone Posts: 3,700

    got it, thanks !

    smiley

  • Aurora_DreamAurora_Dream Posts: 5
    edited December 2015

    Hi I get black almost repedetive dots in all large textured surfaces. Is htere anything I can try to solve this?

     

    as answer to the above: try the Iray skin converter.

    Post edited by Aurora_Dream on
  • KindredArtsKindredArts Posts: 1,239

    Hi I get black almost repedetive dots in all large textured surfaces. Is htere anything I can try to solve this?

     

    as answer to the above: try the Iray skin converter.

    I think that's texture compression, you don't notice it on high rez textures or repeating surfaces but it does pop up on low rez or stretched textures. Go to the render tab, then edit, then bump up the texture compression limit.

  • KindredArtsKindredArts Posts: 1,239

    Hi I get black almost repedetive dots in all large textured surfaces. Is htere anything I can try to solve this?

     

    as answer to the above: try the Iray skin converter.

    I think that's texture compression, you don't notice it on high rez textures or repeating surfaces but it does pop up on low rez or stretched textures. Go to the render tab, then edit, then bump up the texture compression limit.

    Sorry - Render settings tab, advanced, texture compression - Bump up the thresholds and see if that helps.

Sign In or Register to comment.