I’ve added shadows to my game engine!  OpenGL 2.0ES doesn’t support the standard method for shadows because you can’t access the depth buffer.  So, my method basically requires packing the depth value into a vec4 and creating a regular texture buffer instead of a depth buffer.

Works great, but very expensive.  It will almost certainly need to be disabled for anything below the iPhone5S. It seems the real expensive part isn’t drawing all the geometry twice. It’s the process of drawing it into a texture that is the real bottleneck.