What “soft shadow” algorithm gives the best combination of speed and appearance [with 3 to 8 lights] and OpenGL310/GLSL140 support?
I read a few HTML and PDF soft-shadow articles recently, but most focus on their favorite approach, and none feel like an objective, unbiased review and comparison. Also, many articles assume older version APIs and shaders. I am guessing that floating-point depth buffers and other recent GPU capabilities might help some approaches considerably.
Personal experiences and links to PDFs and HTML are welcome. Thanks.
A related request for comments: Reading the OpenGL310/GLSL140 documents last night gave me the following idea that might speed some shadow algorithms considerably — IF — I understand what I’ve been reading about soft shadow algorithms.
This idea is inspired by new features like blocks of uniform variables. What if 4 sets of transformation matrices are supplied to the GPU shaders in a large block of uniform variables - one set of transformation matrices for each of 4 light-sources (treating each light like a camera/viewpoint)? Is there any reason the shaders cannot create 4 separate depth buffers (in 4 separate FBO renderbuffers), one for each light? If so, wouldn’t this be faster than a separate pass for each light? Something tells me this won’t work, but I can’t see why off hand.