Комментарии 1
Мне подход Quake с заранее-вычисленной видимостью всё же кажется не самым оптимальным, ибо видимость считается для листьев BSP дерева, которые могут быть достаточно большими по размеру, а значит отсечение производится достаточно консервативно. Более точный результат даёт отсечение во времени выполнения на основе текущей позиции камеры, через проецирование порталов в экранное пространство - так делал, например, Thief. Это позволило точнее отсекать динамические объекты и следовательно плотнее наполнять ими уровень.
Кстати, следствием использования PVS в Quake является и сам подход использование BSP дерева - оно рисуется спереди назад и отсечением полигонов через спан-буфер, что вызвано как раз тем, что дублирование заливки пикселей всё же может быть значительным (PVS не справляется). А для рисования моделей приходится ещё и буфер глубины заполнять. Thief такими проблемами не страдал и мог рисовать всё в порядке от дальних полигонов к ближним, правда с небольшим дублированием заливки пикселей.
Порталы: как устроен расчёт видимости в Quake, часть 2