Legends talk about a guy who wanted to make an engine with support for real-time shadows. And 10 years later, here it is:
Truth be told, this is extremely experimental. I’m using a standard shadow map technique, where a depth map is rendered from the point of view of a light and then a shader determines if a pixel is lit or shaded based on that information.
The demos are not fancy, but I’ll improve that.
Shadows are supported in a new render pass object called “ForwardRenderPass” (yes, there is a “DeferredRenderPass” coming too). A light must explicitly be configure to cast shadows, making this feature completely optional.
On the TODO list is filtering for the shadow map itself (in order to achieve something like a soft shadow), point lights casting shadow cube maps and a lot bug fixing.