Shadowblatt originated as a plug-in designed to solve a problem for a particular animation project.  As everyone who has ever tried to dissolve in an object (often text for an animated graphic) knows, shadow-maps don't dissolve.  They "pop" on as soon as the dissolve level of the object drops below 100%.  While this may not always be undesirable, in my case it was annoying a client who, after several animated road maps with "popping" shadows, asked me to solve the "popping" shadow problem before delivering the next animation.  The "quick fix"?  I actually took renders of my text, softened them, and applied the softened renders as transparency maps on "shadow catcher" objects placed behind the dissolving text.  Problem solved! but it was a major pain to render out each text object, create a softened transparency map, etc.   Then I got to thinking...what if a shader plug-in could be coded to make a sort of automated transparency map on an object using the actual shadow of the text in question? Then I could dissolve out an object with that shader applied and use it to control the fade of a shadow-mapped shadow. This led to the first incarnation of Shadowblatt.  After a few hours of coding, I was able to "catch" the shadow of the text with a dark rectangle, and then tie the dissolve rate of the shadow to the dissolve of the text...and voila! complete control of the intensity of shadow-mapped shadows.

Since then, this plug-in has been further developed into a nifty little shadow compositing tool, allowing you to play with how a shadow falls on an object (usually a shadow catcher object) in a number of ways...you can use it to adjust an object's transparency, luminosity, specularity, reflectivity, diffuse level, or color (with the optional ability to fade the effect using the dissolve value of an object) based on shadows that fall across it from any of a number of selected lights.

Take a look at the following images to see what Shadowblatt can do for you!
 

Here's some 75% dissolved text with a shadow map behind it...note how the shadow is ominously dark...it will remain so until the text is 99.9% dissolved, then it will "pop" out at 100%...icky!

Here's the same scene using Shadowblatt on a shadow catcher object.  The shadow catcher is tied to the dissolve rate of the text and will fade out smoothly.


 

Here, we have an attempt to do the ubiquitous shadowed 3d object over an infinite white backdrop.  As you can see, our light is dropping in intensity the further back you go (owing to the decreasing angle of incidence).  Now, I could try to re-position the light so that it shines more directly on the entire ground surface (making it white), but that would change the way the shadow falls.  I could also try to increase the light intensity, but that would "blow out" the lighting on the letters.  I could try changing the luminosity of the ground surface or the ambient light value, but both of those would change the depth of the shadow.  Finally, I could set up two lights, one that excludes the text and the other that excludes the ground, and mix n' match settings, but then I have two shadow maps in memory, and two lights to adjust if I want to change values.  In short, there is really no easy answer to this dilemma.

Enter Shadowblatt.  I applied the shader to the ground surface and changed the ground to 100% luminosity, 0% diffuse.  I then set Shadowblatt's shader to adjust the luminosity value of the ground surface when in shadow.  The result is a true, deep shadow over an infinitely white background.

 

And all this with a simple, very easy-to-use interface.

Shadow compositing:  Shadowblatt can take a 100% luminous, front-projected surface and just tweak those areas in shadow so that it drops out the luminosity, or fades the surface to a target color. Shadowblatt supports all lighting options available in LightWave 6.0 and above (including linear and area lights).

Shadowblatt is now shipping!  If you want to purchase the plug-in electronically, using PayPal, the cost is $25 US.  Send to Prem's PayPal account at prem@premdesign.com.  Please allow up to 48 hours for delivery of Shadowblatt to your e-mail address.

E-mail Prem at prem@premdesign.com with any questions regarding ordering ShadowBlatt.

Back to the Utilities Page