PP2014: Odd refraction in material for drinking glass.

  • for that render I used 4 Ray Trace bounces

  • @ghostship I think the headache may be due to my coloured grids - I think I'm getting one too! Thanks for the clarification - I'll try your settings in my PoserPro 2014 tomorrow.In the morning,after a coupleof cups of coffee. :)

  • @ghostship - I've been distracted over the past couple of days, but I managed to do a PoserPro 2014 render using Andy, the open cylinder, no lights (just IDL and an environment sphere), and your material/render settings (including the different IORs in Fresnel_Blend and Refract nodes! ;o).

    Slightly different camera setup and position of the open cylinder on these two renders (default 75mm main camera for both I think?)

    My initial reaction was that this looks correct. But then I noticed that there doesn't seem to be any refracted backdrop (the environment sphere) - look at the area behind Andy's lower spine, it's just white/grey whereas I'd expect greens and browns. Also there's an odd bit around Andy's temple (although this could be correct refraction)


  • @3dcheapskate how many RT bounces did you use? My regular FF settings use 3 but I had to bump it to 4 for that render I did. I'm Using BB's Envirosphere for my IDL and I have one infinite for sun.

  • @3dcheapskate I got that odd refraction near his forehead as well.

  • @3dcheapskate I can see in your render that the background is coming through one layer of glass. You can see the background coming through on the bottom between his pelvis and where you only see the back part of the cylinder. I really think it's a RT bounce problem. Unless your sphere has visible in RT unchecked or something odd like that.

  • @morkonan - Does the ray-tracing keep track of the IOR the ray is travelling through ?

    From the following simple test I'd say NO.

    I simply added an extra refracting plane between the front camera and the rotated plane. This extra plane is NOT rotated, so there will be zero refraction when looking through it from the front camera, because the incident angle of all rays striking it will be zero. I set its IOR to 1.5

    I then set the IOR of the rotated refracting plane to 1.25

    If Poser's raytracing keeps track of the IOR then at the rotated plane we should get refraction of a ray going from IOR 1.5 to IOR 1.25

    If Poser's raytracing doesn't keep track then we'll probably get refraction of a ray going from IOR 1.0 to IOR 1.25 (i.e. the render will look the same as if the extra plane wasn't there.

    (The simplest check is to look at the render and compare the areas where the two refracting planes overlay each other, and the areas covered by only one refracting plane)


    Edit: I then remembered that a higher IOR going to a lower IOR can cause total internal reflection in real life, and caused an odd problem in my earlier test. So I tried with various IOR combinations on the two refracting planes, including 1.25 on the extra plane and 1.5 on the rotated plane. Same results - it appears that Poser always assumes that the incident IOR is 1.0 (proviso: when refraction is at a front-facing polygon)

  • @ghostship - 4 bounces (as per your comment after the post with the render settings).
    Since Andy is showing up behind the open cylinder then the rays have definitely got through the cylinder - the ones that don't hit Andy should continue to the background sphere (or evaluate to black if that's out of range). I just tried applying brightly coloured stripes to the sphere (my own worldball) and I can see them through the cylinder behind Andy, but the colours are really washed out - the effect is almost as if the cylinder's filled with smoke (that's quite similar to what I saw in my very first test, test 1 in the OP)

    I only did a couple of small area renders with the bright background since it's so slow, but you should be able to see what I mean.


    Edit: I wonder if it's something to do with using ambient only (i.e. diffuse = 0) on my sphere, and on the original backdrop with the asymmetric letters? Edit2: No, it's nothing to do with that - just tried.

  • @ghostship - I think this proves that the washed-out effect seems to be due to a low Quality setting in the refract node in PP2014. But there's no white at all on the backdrop sphere, so I don't understand why I still see white bits with refract quality = 0.9

    Was your Poser 11 render really using quality = 0.2 (as shown on your render settings screenshot)? If so then Poser 11 seems to have a higher standard for refraction quality :D


  • I think I've just confirmed for myself that PoserPro 2014 ( doesn't do total internal reflection. If the criteria for total internal reflection are met (and these criteria seem to be incident angle greater than critical angle when hitting the back face* of a surface with a refraction IOR of greater than 1) then the ray just continues on its original path!


  • Hmmm... back in 2010 bagginsbill posted this https://www.renderosity.com/mod/forumpro/?thread_id=2804987&page_number=2#msg3665923 (on the Renderosity Underwater Submarine thread), which included an image showing total internal reflection of a water surface from underneath. So I think I'm missing something - total internal reflection was obviously working back then...

    Edit: Time to look once again at the complete scene that came at the end that thread

  • Those underwater scenes were using IOR < 1.0 for the water surface. IOR of water is 1.33, so the reverse IOR for going from water to air is 1/1.33 = 0.75. So a refractive surface with IOR set to 0.75 should behave like the boundary between water (in front) and air (behind).

    I tried my total internal reflection test again, this time with a half-cylinder with outward facing normals so the front camera's looking at the front of the surface, and with IOR = 0.67 (i.e. 1/1.5) expecting to see total internal reflection.

    Oh dear, exactly the same as before - with incident angles over the critical angle the ray passes straight through.


  • Heh, heh! It seems that I've done my old trick of thinking out loud onto a forum, and it's rather difficult to follow the train of thought. Sorry about that!

  • What does the value of the Quality setting of the Refract node actually mean?

    The PP2014 manual says "The Quality attribute controls how many rays are spawned by hitting a surface. Increasing this value increases the realism of reflections [sic] but consumes computing resources."

    Does a value of 0.2 mean that the refraction is only calculated for 20% of the incident rays, and that the remainder are interpolated? Would a value of 1.0 calculate refraction for 100% of the incident rays?

    If there is interpolation then what is interpolated? Is it the refacted angle, or is it the final pixel colour?


  • @3dcheapskate I still have PP2014 installed and working. I'll do a quick render of our test cylinder in that to see if anything different happens. Yes, using quality setting of .2 (default) because I have a slow i5 and don't want to wait three years for a render.

  • @3dcheapskate here is the render. Looks just fine in PP2014. Same material, same render settings as before. The difference is that I am using Bagginsbill's Envirosphere.

    0_1475643630844_cylinder 2014.jpg

  • @ghostship - Thank you ! :)

    I've already got BBs environmentSphere - I use my own for purely egotistal reasons... ;o)

    However, kicking my ego out the door - when I used BBs sphere the refraction seemed to work as it should:


    Sooo... time to experiment and see why my worldball screws it up !
    (and also time to nurse my wounded ego! ;o) LOL )

  • @ghostship - Got it ! It's simply the "Filtering" setting of the environment image. My worldball's using 'Quality' whereas BBs envSphere is using 'None'.

    I changed mine to 'None' and Bob's your uncle! :) Big thank you!

  • Glad you got it worked out!