I am making a voxel game. I have researched lighting techniques, and the minecraft-style algorithm appears the most efficient. When blocks are placed, they are marked for update. The engine performs a recursive algorithm on them that forms a diamond-shaped pattern like this:
01210
12321
01210
00100
My question is how you would remove lights using such an algorithm. Suppose your light setup looks like this: (The 2s would be the light sources)
01100
12210
01100
And you wanted to remove one of the light sources. From what I have seen, it would produce a result like this:
01000
10000
01000
A diamond-shaped pattern around the light source would be removed. How can I remove a light source without causing this effect?