2012-02-07 5 views
0

Это скорее концептуальный вопрос, чем вопрос с кодировкой. Я понял основные понятия дерева BSP, но у меня проблемы с переносом головы вокруг позиционирования. Я понял, что, чтобы найти свое текущее местоположение в дереве BSP, я продолжаю рекурсивно итерации через дерево, перемещающееся вправо, если я перед плоскостью разделения, и уйду, если я за ним. Когда я, в конце концов, попал в листовой узел, вот где я нахожусь в мире.Обход дороги BSP по отношению к положению?

Теперь, с точки зрения рендеринга, если бы мне пришлось визуализировать спереди назад, я бы начал с правой стороны дерева и рендеринга полностью рекурсивно, пока не ударил последний узел с левой стороны. А как насчет фронта? Было бы наоборот?

Спасибо!

ответ

1

Если вы хотите вернуться на передний план, который является Painters algorithm, вы сначала проходите левые узлы, когда находитесь впереди, а затем визуализируете и затем проходите правые узлы.

Для спереди назад это будет обратное.

+0

Ваша формулировка немного смутила меня. Итак, с алгоритмом Painters, я перемещаюсь слева, пока не доберусь до своего текущего местоположения, а затем отрисуйте его, а затем перейдите вправо и отрисуйте его так же хорошо? –

+0

Да, в принципе, так оно и работает. Это глубокий первый обход, идущий влево, первая картина, по пути вверх, по пути, идущей вправо. Таким образом, на каждом узле вы делаете это: определите, находитесь ли вы спереди или сзади, затем вы проходите дальше влево или вправо или влево. затем покрасьте, затем повернуть вправо или влево или вправо. – stryba

Смежные вопросы