An Among Us/Ape Out vision shader. Draw objects which will block vision onto a surface, then draw the surface using the shader which will draw a mask which can be used to your heart's content. Takes a pixel width and height, the player x and y, as well as a radius as uniforms.
Currently does not function with surfaces that are not square. Probably also horribly optimized.