В настоящее время я изучаю HLSL на XNA, и я подумал, что лучше всего начинать после уроков несколько простых 2D-шейдеров. Я пытаюсь реализовать простой шейдер освещения в 2D.
Я рисую сцену без теней для цели рендеринга, меняю свою цель рендеринга на карту теней, рисую мой свет (каждый по отдельности) на карте теней через альфа-канал, меняю свою цель рендеринга обратно на значение по умолчанию и визуализирую сцену, а затем тени сверху.
Альфа источника света изменяется в зависимости от расстояния текущего пикселя и точки источника света, для меня все это работает нормально, за исключением случаев, когда я рендерим сцену, если два источника света перекрываются, это вызывает неприятную проблему смешения.
Я использую alphablend, когда рисую на карте теней, и когда я рисую карту теней на сцене.
Я просто использую неправильные настройки смешивания здесь? Я не знаю много о blendstates.
Извините, если вопрос был расплывчатым.