Drawing arbitrary 2D lines in OpenGL and OpenGL ES can be a bit tricky. GL_LINES is not always reliable, nor is it flexible enough for most production-quality line rendering. Anti-aliasing and line ...
Detailed here is an approach to 2D pixel-perfect lights/shadows using shaders and the GPU. Because of the high fill rate and multiple passes involved, this is generally less performant than geometry ...