So, I’m back to working on my stuff and started by trying to get world collisions working for my mblock plugin for my mphys physics engine. (The whole point, really, eh?)
Along the way, I got really annoyed that the SimFX drop shadow renderer didn’t like odd rotations so I fixed it… and added a debug mode.
Here you can see a picture of some random block-mesh objects at odd rotations sitting on the ground (yay) with the debug mode on. The debug mode renders the shadow cube that is used to render the egg-shaped shadow volume over the existing scene.
Notice how they are kind of oblong in all the right places.
This approach would break down for sufficiently degenerate objects but then you can always add an invisible box to approximate what would be the shadow and make that the caster. (I’ve done it for other things before.) In the mean time, the approximation is pretty close for an effect that’s cheating.
Edit: another view with debug mode turned off.
You can see it’s not perfect. The chairs tipped over on their front show almost no shadow because it just happens to be that the ‘egg’ is only barely poking up through the ground. But for an effect that’s nearly free no matter how complicated your scene is… I think it’s pretty good.