Shadow catching plane for HDRI background

  • About a year ago I made a thread where I showed how to use the background in combination with a HDRI-file as Image based lighting in superfly, something similar to the Snarly's skydome and Bagginsbill environment sphere.
    I like that very much because using HDRI-files as lighting gives a rather natural effect.
    The only thing I didn't like was fact that you don't have shadows which you do have in firefly. You can't setup a shadow catching plane in superfly.

    Untill now...
    This is a untouched superfly render, using only a HDRI-file on the background and a primitive roundgroundplane, a car model and V4.

  • And you can also add a light, in this case an infinite one, as the sun, to give it a stronger effect.

  • Of course you will ask me : what's the trick?
    And there is a trick, in poser you always need a trick to make something work, it's a bit complicated, but when you are familiar with the material room, it won't be much of a problem.

    Remember the shader I made for the background?
    Here is to remind you:

    0_1501283232261_Background settings.JPG

    You have to keep in mind that you need to set the scale settings in the mapping node to : -1.0,1.0, 1.0 otherwise you will get a mirrored image.

    For the shadow catching plane I placed a round groundplane, which is in the poser11 content primitives folder, and gave that the next shader:


    You will have to set the scale settings of the Mapping node to : -1.0,-1.0,1 to make it work.
    The value of the HSV node has to be tweaked a bit to match the groundplane with the background, especially when you use one or more lights.

    I hope this is usefull, I was rather pleased with the results.


  • You can also turn the background and the groundplane by changing the middle value of the rotation of the mapping node of both shaders.
    Unfortunately this has to be in radians so a 180 degrees rotation is about : 0.0, 3.14,0.0, but it works.

    Happy rendering!


  • @bopperthijs Very nice sir, very nice indeed. Thanks. ~wink~

  • Poser Ambassadors

    This is brilliant!

    I experimented with a ground plane which I constructed with a UV map that produced the projected coordinates as you're using here. It worked great, but only perfectly from exactly ONE camera position.

    Your use of the mapping TextureCoordinate.Reflection output is very clever - I have no experience with that at all and I wouldn't have thought of this even if I knew that output existed.

  • Thank you!

    I have to admit, this is more a lucky find : a result of a lot of experiments with trying out several nodes I know what the mapping node did, because I used that in the environment background shader, but I never used the reflection output of the texture co├Ârdinate node. I just tried it out to look what it did in combination with an environment texture and when I saw the result I knew I had to put a mapping node between it to correct it to get the desired effect.
    Sometimes making a shader is just alchemy.
    The final result is a stripped down version of the shader I original made for the ground plane, I deleted all the nodes that weren't necessary.
    The only thing that worries me, is that it's rather complicated to apply. I think that I have to beef up my python knowledge and write a script for it to make it more easier to use.

    Best regards,


  • I think there's a typo. You have the mapping scale as -1,-1,0 for the ground plane. It worked better for me as -1, -1, 1. Maybe I'm doing something wrong

  • You're right, it has to be -1,-1,1 . But I can't change that anymore.
    Thank you


  • @bopperthijs

    I corrected it for you :)

  • Thank you!

  • Excellent news! I had been experimenting with a way to fake perspective on a ground plane mapped with a UV stretched portion of the HDRI sphere map (I was trying to match the Summi Pool background that comes with the Reality plugin for Poser) and found that morphing the height of the ground plane's rim to simulate a perspective type vanishing point (the curvature of the surface helps hide the discrepancies of the groundplane texture from the environment spheres and still gives some useful reflections of the background.

    Right elevation of environment sphere and morphed groundplane with recurve-edge outside the env-sphere and hidden below tangent to surface
    0_1501495360271_Screen Shot 2017-07-31 at 7.57.54 pm.png
    Zoom out of normal camera position to show curvature of groundplane
    0_1501495377603_Screen Shot 2017-07-31 at 7.59.04 pm.png
    Raytrace preview showing reasonable reflection of background from reflective plane parallel to ground plane (with same curvature)
    0_1501495542929_Screen Shot 2017-07-31 at 8.00.17 pm.png

    Is it possible that @bopperthijs techniques could be applicable to the reflection/refraction water "plane" as well as texturing and shadow-catching on the ground "plane"?

  • @bopperthijs

    Thank you so much for the info.
    At least, I have been able to use some HDR pics from a Dimension Theory package called Yosemite:


  • @Y-Phil Ooh look! A hooker! :D

  • @eclark1849 @James_in_3D