PP2014 Refraction Problem With Planes In Close Proximity
I'm trying to render a very shallow layer of water on a slightly sloping plane (think a perfectly flat sea on a beach), and I've run into refraction problems again.
Does anybody else see this?
Does anybody using Poser 11 see it?
Here's a very simple test setup.
- Load the default Poser scene (Andy, groundplane and lights).
- Scale the Poser ground to 100% (default is 400%)
- In the Material Room advanced tab use the 'Add Refraction' wacro, and set the colour of the 'BG Color' node to green (RGB 0,255,0).
- Load a 'Square Groundplane' prop from the PP2014 > Props > Primitives
- Scale the 'Square Groundplane' prop to 2.5%
- Set the 'xRotate' of the 'Square Groundplane' prop to -1 degrees (this will put it above the Poser ground in front of Andy, and behind the Poser ground to the rear of Andy)
- In the Material Room advanced tab set the 'Diffuse Color' of the 'Square Groundplane' prop to red (RGB 255,0,0)
- View through the top camera, adjust so you can see the full Square groundplane prop.
- Work out what you would expect to see when you render.
- Render... not what you expected, eh?
This is almost certainly related to the 'Possible Reflect/Refract Node Bug ? Anybody Else See It ?' - with that one the intersecting planes where perpendicular.
I tried using different values for the xRotate of the square groundplane...
It looks like the green band is occuring when the red square groundplane is between X and 2X beyond the refracting Poser ground, where X is a specific small value that I should be able to calculate with a bit of trig and a refracting square of known dimensions.
This is very annoying. In terms of what I'm trying to do (perfectly flat water surface, very slightly sloping beach), the Firefly renderer is creating a hole in the beach wherever it's between X and 2X beyond the water plane.
Wasn't a good idea using the 'Square Groundplane' prop for that test - it's slightly above the origin, and there's some slight variation in the height of the vertices throughout the mesh.
Okay, so that accounts for the front end (bottom end in the screenshots) of the green bar not being aligned with the origin. I've just done a quick test with my own 1 Poser Unit x 1 Poser Unit plane and the front end of the green bar aligns with the origin. Just got to do a bit of trig now...
A rough calculation using the render from two 1PNU x 1PNU (i.e. 103.2" x 103.2") planes now indicates that this refract problem occurs if there is a surface beyond the refracting plane but within about a tenth of an inch of it. Under these circumstances the Firefly renderer treats the relevant parts of the surface beyond as if it didn't exist.
P.S. I omitted the '79 x' when I wrote down that calculation on the picture - it's actually ((79 x tan(0.25degrees))/425) x 103.2" = 0.08"