Пока думал, как аналитически решить проблему с ошибками в рендере поля видимости юнита, переписал его практически с нуля. Кода стало раза в 3 меньше и большая часть работы была переложена на графическую подсистему. Рендер поля происходит в 2 прохода: рендер объектов-препятствий и рендер обычного треугольника видимости. Был создан шейдер для первого прохода (разрешена запись в Z-буфер и запрещена в Color) и настроен порядок рендера материалов, использующих данные шейдеры.
Комментариев нет:
Отправить комментарий