Abbe the wrong way around?

Matt_CastleMatt_Castle Posts: 2,561
edited February 2022 in Daz Studio Discussion

As part of trying to explain Abbe to someone and show how it affects different wave lengths, I was replicating the Dark Side of the Moon album cover in Iray, and... well, there's a problem. Long wavelengths (red) should be refracted less than shorter wavelengths by a prism, but this is opposite of the result I'm getting in Iray, where the red light is refracted more.

3 sided cylinder primitive, Abbe is set to 5, ROI is 1.5, surface smoothing is off, spectral rendering and caustic sampler are on (although caustic sampler seems to make no difference to the colour order).

I'm currently using the 4.20 main release, and I've attached my test scene for others to check my results (it's a light, a plane primitive, cylinder primitive and a camera with perspective off, so very small, and requires no other content) or otherwise tell me how I've messed up.

DSOTM.jpg
2400 x 1800 - 358K
duf
duf
DarkSide.duf
23K
Post edited by Matt_Castle on

Comments

  • Confirmed on 4.16.1.47 beta.

    It happens with all glass materials including those from vMaterials 2.0.

  • SpaciousSpacious Posts: 481

    Sounds like possibly a bug, or rather a purposeful miscalculation because of lack of understanding, in Iray itself.  Has anyone tried rendering something similar in another application that renders with Iray?  Is there even another application that uses the Iray render engine?

  • Matt_CastleMatt_Castle Posts: 2,561
    edited February 2022

    Righto. I've now had a couple of people tell me they've had the same results, so I've put in a ticket about the colour dispersion. It's probably an Iray problem, but it's not inconceivable that it's something wrong with the DS integration (incorrect conversion between RGB and BGR colour is entirely possible), and in any case, Daz are better placed to report it to Nvidia than I am.

    Spacious said:

    Sounds like possibly a bug, or rather a purposeful miscalculation because of lack of understanding, in Iray itself.  Has anyone tried rendering something similar in another application that renders with Iray?  Is there even another application that uses the Iray render engine?

    There are indeed other applications, but I don't think I have any of them. If someone can try in another application and help confirm its with Iray itself, that'd be useful.

    Post edited by Matt_Castle on
  • I digged a bit deeper.

    It seems, all dispersive materials use the abbe function provided by the mdl base module. I can't find information though how this function calculates the light bending with respect to wavelength. My guess is, in this case it is an issue deep in the core of iray and not something in the shaders.

    From the mdl spec.:

    Function: abbe_number_ior returns color
    Description: Calculate spectral index of refraction

    Name Type Default Varying? Description
    ior float 1.5 no Index of refraction
    abbe_number float 0.0 no Dispersion in relation to index of refraction
Sign In or Register to comment.