Войти
ПрограммированиеТерминыГрафика

PVS: Potentially Visible Set

PVS — Potentially Visible Set (Потенциально видимый набор) — один из методов отсечения невидимой геометрии, основанный на расчете видимости в разных точках на протяжении всего уровня. В ситуациях когда расчет сложен, просчитать видимость возможно только на этапе пре-процессинга, что хорошо подходит для статичных игровых сцен.

Для расчёта весь уровень разделяется на клетки равного размера. Далее находятся клетки, которые видны как минимум из одной точки текущей клетки. По результату этих проверок можно составить набор информации, обозначающий видимость в каждой клетке.

В процессе отрисовки мы берём позицию камеры и смотрим в какой клетке мы находимся, и так как наши клетки составляют регулярную трехмерную сетку, эта операция достаточно тривиальна. После этого, в зависимости от типа найденных данных, мы смотрим какие объекты нужно рисовать для данной позиции (в каждой клетке сохранён список видимых объектов), или перед отрисовкой объекта проверяем видим ли он (каждая клетка хранит флаг о видимости всех остальных). Выбор подходящего типа данных может зависеть от того, сколько в среднем клеток видно из текущей. Если это число мало, то хранить информацию о всех клетках скорее всего будет расточительно, но в другом случае, как например отрисовка ландшафта выгодным окажется второй способ.

Тяжёлый этап в данном методе, это собственно сам расчёт видимости, который чаще всего медленный.

Способы расчета можно разделить на несколько категорий:

Ссылки:
http://www.tml.tkk.fi/Opinnot/Tik-111.500/2003/paperit/MikkoLaakso.pdf

Что такое PVS: Potentially Visible Set?

#отсечение невидимой геометрии

29 марта 2007 (Обновление: 22 июня 2009)