In 2004 I added parallax map effects to Vision in order to enhance the realism of directly illuminated bumpy surfaces. After a little bit of experimentation, I enhanced the effect with a very simple trick that allows much steeper viewing angles and depth-correct silhouettes without increasing the geometry count of an object.
For more information about this effect, check out my related blog post.
The screenshots below contain two triangles for the blocker object, and two triangles for the receiver. The shadows cast by the blocker object correctly flow over the imaginary isosurface formed by the heightmap texture of the receiving object because the shadow map pixel shader reads the height of the isosurface when determining whether or not the fragment is visible to the light source.
The edges of the shadow are softened by sampling the surrounding 16 texels of the isosurface, and checking for light visibility against the shadow map.