Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Артефакты скайбокса в старых движках

half life, cs 1.6, serious sam (и много разных игр), если вылетать ноклипом за пределы карты, то у скайбокса возникает эффект смазывания/дублирования изображения.

Понятно что это относится к рендеру, но если копнуть глубже, то почему так происходит?

По дате
По рейтингу
Аватар пользователя
Новичок

Перед рисованием очередного кадра обычно происходит очистка буфера (того места во что идёт рисование).
Зачем тратить ресурсы на очистку когда игрока окружают 3д модельки?
Не используем очистку, рисуем сразу окружающий игрока мир. Только в случае вылета за пределы сможем наблюдать подобное.

Аватар пользователя
Гений

В тех местах, где буквально ничего нет - карта ничего не рисует и не обновляет, в памяти остаются следы старых кадров, вот они так отображаются
Это тот же самый эффект, который можно было наблюдать на старых Windows, когда какая-то задача зависала и не могла обновить фон окна, например, в случае подвисания эксплорера не обновлялся рабочий стол

Аватар пользователя
Высший разум

Суть проблемы в ограничениях технологии того времени. Скайбокс – это как кубическая комната с картинками на стенах, и когда ты выходишь за пределы, движок пытается растянуть эти картинки, чтобы заполнить пространство вокруг тебя, что приводит к смазыванию или дублированию изображения. Это был эффективный способ создания иллюзии бесконечного мира при ограниченных ресурсах, но с его ограничениями!

Аватар пользователя
Знаток

детектор "велес" очень хорошо видит артефакты