Pull to refresh

Comments 6

Это офигенно. Надо будет попозже перечитать. И, возможно, не один раз, чтобы всё это в голове улеглось.
BSP в 2018. Он и для коридоров то не подходил, а щас вообще жуть. Потом были порталы, квад и октодеревья, окклюжн куллинг. Щас уже на GPU всё куллят.
BSP в 2018.

чистый bsp годится только как замена z-буфферу.Для отсечения невидимой геометрии он не используется.
Кармак использовал solid leaf bsp, по которому строится pvs -как раз те самые порталы.
Он и для коридоров то не подходил, а щас вообще жуть.

единственное принципиальное ограничение slbsp — нельзя иметь ни с чем не соединенные полигоны, висящие в пустоте.Это и не ограничение никакое по сути.
Щас уже на GPU всё куллят.

Я, конечно, не в курсе последних тенденций, но эффективный Hidden-surface determination должен так или иначе полагаться на какую-либо древовидную структуру.Не думаю что gpu тут сильно поможет.
Я как-то реализовал программный растеризатор с использованием буфера отрисовки, упомянутого выше. В чистом виде он получился не очень то быстрым, как и у Кармака. Но потом я сделал его иерархичным — добавил mip-уровни.
При рисовании каждого полигона обновляется иерархия буфера в ограничивающем его прямоугольнике. Когда надо нарисовать следующий полигон, происходит проверка его ограничивающего прямоугольника по уровню иерархии, близкому к нему по размерам, что означает проверку по всего нескольким клеткам.

Я не сравнивал производительность этого подхода против PVS, но, думаю, она бы не сильно проиграла в таком сравнении.
Sign up to leave a comment.

Articles