У меня есть система освещения на основе 2D-плиток, которая нарисована на Render Target. Я также рисую фон с горами, солнцем/луной и облаками. Есть также незажженная игра; блоки, персонажи и т.д.
Вот порядок, в котором все рисуется:
1. Background
2. Game World
3. Lighting
Проблема в том, что ОСВЕЩЕНИЕ закрывает ФОН, когда темно:
Хотя днем все в порядке, потому что свет полный:
Вы можете спросить, а почему бы вам просто не смешать каждый блок, не рисуя освещение на RenderTarget?
Потому что это помешало бы мне выполнить плавное освещение, как видно на картинках. Чтобы создать плавное освещение, я рисую квадраты света на RenderTarget, выполняю размытие по Гауссу, а затем рисую этот RenderTarget.
Как насчет того, чтобы не рисовать квадрат света в пустых местах?
Свет размывается на любых соседних блоках, и не все объекты в моей игре, на которые влияет освещение, являются квадратными, поэтому они будут выглядеть как спрайт с размытым квадратом поверх него.
Свет НЕ рисуется в пустых местах:
Свет рисуется везде:
Есть ли способ сохранить фон видимым или что-то еще, что могло бы помочь в моем затруднительном положении?