Fri, Jan 10, 10:44 PM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 10 10:00 pm)



Subject: Procedural Caustics Experiment


Iuvenis_Scriptor ( ) posted Wed, 06 July 2011 at 2:18 PM · edited Fri, 10 January 2025 at 7:51 PM

file_470597.jpg

I've been experimenting off-and-on with Poser in an attempt to arrive at a reliable method of approximating caustic effects without maps or light gels.  The latest results are just good enough to share and get some feedback.  Caustics, as I understand them, are created when semi-transparent surfaces refract light towards a surface that would otherwise be blocked by the relevant object's shadow. 

This test image is a result of the improvisations that follows.  The process makes use of the Translucence channel, PP10's multi-layer rendering capabilities, and Photoshop compositing.


Miss Nancy ( ) posted Wed, 06 July 2011 at 3:28 PM

o.k., looks good IMVHO.  maybe they'd like to see a brief tute.



infinity10 ( ) posted Thu, 07 July 2011 at 1:49 AM

Question - what was the Photoshop used for, and why not achievable inside Poser Material Room ?

Eternal Hobbyist

 


Afrodite-Ohki ( ) posted Thu, 07 July 2011 at 4:29 PM

Quote - and why not achievable inside Poser Material Room ?

See where the cylinder and the "floor" touch, it seems to be lit? That, in real life, would be the light going through the refractive object and focusing on a smaller point, making that point be more lit than its surroundings. Poser can't do that, it's unable to calculate it, as far as I know.

- - - - - - 

Feel free to call me Ohki!

Poser Pro 11, Poser 12 and Poser 13, Windows 10, Superfly junkie. My units are milimeters.

Persephone (the computer): AMD Ryzen 9 5900x, RTX 3070 GPU, 96gb ram.


Iuvenis_Scriptor ( ) posted Thu, 07 July 2011 at 9:30 PM

This is a bit long, and I might yet be able to streamline the process a bit further, but here's a more detailed look at the experiment for anyone who's interested!

A diagram I found while briefly researching caustics seemed to suggest that they're usually brightest at the edges and center of the incident zone (the lit area) and weakest in the intermediate regions.  Most of the tim spent on the experiment was devoted to finding the right combination of diffuse, specular, and math nodes to create a caustic mask that would match that configuration.  Once I did that, my original plan was to plug the mask into the transparency channel and do a shadows-only render to create a caustic map, which could then be inverted and composited onto a base render.  Unfortunately, due to what I suspect is a flaw in the program, procedural transparency doesn't transfer to shadows.  I kept getting a shadow of the entire cylinder instead of the non-transparent regions.

The process that I eventually dicovered through trial-and-error uses translucence instead.  The caustic mask is plugged into the translucency channel, which is cranked up to 4.8 intensity.  Under most circumstances, this would be a bizarre and useless thing to do.  For caustics, though, it allows the prop to cast a glow on nearby objects, which is exactly what we need.  There is a downside, however: the prop itself is completely blown out (stark black and white).

Luckily, my explorations lead me to stumble upon PP10's "Custom_Output" material channels and the corresponing multi-layer rendering function.  By doing a render of the scene with the caustics shader on the main layer of the cylinder and pure black on the genereted PSD overlay, we get two images that are identical except for the shading of the cylinder.  Compositing the two gives us an image of a completely black cylinder with all the right external shadows and caustics.  For future reference, I'll call this composite the "caustic layer."

Another problem is internal shadows (shadows cast by the illuminated side of the cylinder on its own base), which should be weakened by the refraction and caustics.  To approximate this efffect, I applied the primary glass shader (refraction/reflection/fresnel) and did two renders: one with "Casts shadows" checked on for the cylinder and another with it checked off.  The two were then blended 50/50 in Photoshop to create a shadow with half the normal intensity.  Of course, the external shadows are similarly affected, but they get covered up in the next step anyway.  This composite is the main image.

The final step is to copy/paste the caustic layer on top of the main image, use the Magic Wand tool to highlight the black region, and delete it.  This lets only the refracting/reflecting prop (with dyly weakened internal shadows) show through while everything around it is entirely from the caustic layer.  

Since reflection and refraction often increase render times, I suspect it would be more efficient to just render the fully shaded prop once with "Casts shadows" deactivated, then just reactvivate the shadows and then do a shadows-only render.  I hope to confirm that soon.


Iuvenis_Scriptor ( ) posted Thu, 07 July 2011 at 9:59 PM

file_470646.jpg

EDIT (MODERATORS PLEASE DELETE THE ABOVE)

This is a bit long, and I might yet be able to streamline the process a bit further, but here's a more detailed look at the experiment for anyone who's interested!

A diagram I found while briefly researching caustics seemed to suggest that they're usually brightest at the edges and center of the incident zone (the lit area) and weakest in the intermediate regions.  Most of the tim spent on the experiment was devoted to finding the right combination of diffuse, specular, and math nodes to create a caustic mask that would match that configuration.  Once I did that, my original plan was to plug the mask into the transparency channel and do a shadows-only render to create a caustic map, which could then be inverted and composited onto a base render.  Unfortunately, due to what I suspect is a flaw in the program, procedural transparency doesn't transfer to shadows.  I kept getting a shadow of the entire cylinder instead of the non-transparent regions.

The process that I eventually dicovered through trial-and-error uses translucence instead.  The caustic mask is plugged into the translucency channel, which is cranked up to 4.8 intensity.  Under most circumstances, this would be a bizarre and useless thing to do.  For caustics, though, it allows the prop to cast a glow on nearby objects, which is exactly what we need.  There is a downside, however: the prop itself is completely blown out (stark black and white).

Luckily, my explorations lead me to stumble upon PP10's "Custom_Output" material channels and the corresponing multi-layer rendering function.  By doing a render of the scene with the caustics shader on the main layer of the cylinder and pure black on the genereted PSD overlay, we get two images that are identical except for the shading of the cylinder.  The top layer gives us a completely black prop with all the right external shadows and caustics.  For future reference, I'll call it the "caustic layer."

Another problem is internal shadows (shadows cast by the illuminated side of the cylinder on its own base), which should be weakened by the refraction and caustics.  To approximate this efffect, I applied the primary glass shader (refraction/reflection/fresnel) and did two renders: one with shadows from the cylinder activated and another with them deactivated.  The two were then blended 50/50 in Photoshop to create a shadow with half the normal intensity.  Of course, the external shadows are similarly affected, but they get covered up in the next step anyway.  This composite is the main image.

The final step is to copy/paste the caustic layer on top of the main image, use the Magic Wand tool to highlight the black region, and delete it.  This lets only the refracting/reflecting prop (with duly weakened internal shadows) show through while everything around it is entirely from the caustic layer.  

Since reflection and refraction often increase render times, I suspect it would be more efficient to just render the fully shaded prop once with its deactivated, then just reactvivate them and then do a shadows-only render.  I hope to confirm that soon.

Basically, the top two renders are blended together and then placed underneath either the second layer of the third render to produce the fourth image in the illustration.


infinity10 ( ) posted Fri, 08 July 2011 at 12:00 AM

Interesting thread.  Thanks for all the information about caustics etc.

Eternal Hobbyist

 


heddheld ( ) posted Fri, 08 July 2011 at 1:49 PM

wouldnt it be easier to render in a program that suports caustics?


Miss Nancy ( ) posted Fri, 08 July 2011 at 4:01 PM

yeah, but it's an intellectual challenge to use poser for alotta these things. so the guys at cgsociety aren't always laffing at us.



RobynsVeil ( ) posted Fri, 08 July 2011 at 8:17 PM

Quote - yeah, but it's an intellectual challenge to use poser for alotta these things. so the guys at cgsociety aren't always laffing at us.

:laugh: :laugh: :laugh:

Tbh, I really think there's a fair bit more innovation and cutting-edge thinking going on here than there, because we don't have access to high-end technologies, so we have to use our eyes and imaginations to create the effects we want. Which makes us artists, really. "Art" is the beginning of the word "artifice"... we should be proud. 😄

Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2

Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand] 

Metaphor of Chooks


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.