Продолжаю экспериментировать.
Теперь растягиваю потоки света до 90 градусов.
При переносе потока света в соседнюю клетку, поток растягивается из 50 градусов до 90.
Если соседняя клетка прозрачная, то потом переносим свет на две соседних по диагонали света.
При переносе потока на соседние по диагонали ячейки. 20° растягивается до 90°. Типа как
http://www.gamedev.ru/files/images/l...sible_adge.png
Тут разрисовал что к чему. Только напутал с градусами, не 45, а 90. На картинке 20 градусов выглядит почти как 50, но в коде 20 это 20, а 50 это 50.
В итоге, при сильном затухании света получается что-то похожее на правду.
Но если уменьшить затухание света, то получается полный бред.
Может при переносе света, поток надо не равномерно растягивать, а с помощью dot уменьшать по краям.
Алгоритм:
https://bitbucket.org/dddenisss/lp/s...r.cs?at=master