Портал Quake 3 и отбраковка усеченного конуса

Я пытаюсь понять исходный код Quake3.

Кто-нибудь знает, что делает функция R_MarkLeaves() в файле ( tr_world.c)?

Я думаю, что это связано с отбраковкой портала?

Мне нужно знать, как это работает, чтобы я мог также реализовать это в своем коде, чтобы ускорить рендеринг.

1 ответ

R_MarkLeaves() отмечает предварительно вычисленный PVS (потенциально видимый набор) листовых узлов (выпуклые оболочки) с учетом расположения камеры / глаза. Обход дерева BSP решает проблему порядка прорисовки (сортировку по глубине) для программного рендеринга, но в то же время это приводило к слишком большому перерисовке. PVS используется для обрезки листовых узлов, которые явно не видны из текущего узла / положения.

Другие вопросы по тегам