Interactive Demo [GitHub]

This demo utilizes a reduced shadow quality to achieve (near) real-time performance, while rendering the shadow dynamically. In a real-world scenario, you would probably want to cache most shadows by rendering into an off-screen canvas.

Point somewhere to move the object.

Shadow Angle: °

Note: This demo is not necessarily fully compatible with all supported browsers in order to keep the source concise.