Портал Quake 3 и отбраковка усеченного конуса - PullRequest
0 голосов
/ 26 февраля 2012

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

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

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

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

1 Ответ

0 голосов
/ 26 февраля 2012

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

...