У меня есть дерево BSP, загруженное в память. Сначала я выясню, на каком листе я нахожусь. Затем я декодирую PVS. Затем я просматриваю каждую область в этом PVS и вижу, лежит ли она в моем усечении.Я неправильно рисую деревья BSP?
Мне сказали, что это неправильный способ рендеринга, и что я действительно должен делать обратную визуальную визуализацию, пройдя дерево BSP. Как именно я это делаю? Я видел несколько разных способов сделать это, поэтому я спрашиваю.
Например, рендеринг Quake 3 BSP говорит: Пройдите BSP, чтобы определить, на каком листе расположена камера. Извлеките и декомпрессируйте PVS для этого листа, выполните итерацию через PVS и отметьте листья в BSP. Пройдите мимо BSP рядом с далеко Если узел не отмечен, пропустите его. Протестируйте узловую шкатулу с камерой. Добавить текущий лист в список представлений
Это все еще стандартный способ, которым это делается сегодня или, по крайней мере, для более простых игр.
Передний - предпочтительный рендеринг в настоящее время; назад к фронту было необходимо только для алгоритма художника (т. е. перед сжатием, z-буферы с высокой пропускной способностью сделали их предпочтительными). front-to-back позволяет ранние z-браки (все, что вы нарисовали, будет отклонено в современном оборудовании, прежде чем будет выполнена большая работа, отличная от определения и проверки его значения z). Я еще раз прокомментирую, когда получу немного больше. –