<Mouse click> to place lights, <Space> to clear the screen Press <1> for a final render, WARNING: It takes a while and will lag your computer quite a bit.
This is a relatively simple and very inaccurate way of using a heightmap to light a scene and cast shadows. Currently doesn't work great, am testing in turbowarp GLSL implementation: https://www.shadertoy.com/view/4fX3R8 Note that the GLSL implementation is much more barebones, shadertoy gives me a default heightmap to work with.