Получите фактический путь к узлу в OpenSceneGraph custom osg::Drawable
Я пишу обычай osg::Drawable
класс, который должен рассчитать текущее расстояние от глаз камеры, когда его drawImplementation
метод называется. Это нужно сделать, чтобы определить оптимальное количество граней для рендеринга.
Сложность состоит в том, что мой рисовал может иметь любое количество osg:Transform
узлы как родители. Мне нужно применить преобразование фактического родителя, который применяется к drawable. С помощью osg::Node::getParents()
и / или getParentalNodePaths()
Я могу определить все возможные пути к этому рисунку, но не путь, который был выбран.
Есть ли способ определить это в OpenSceneGraph
? Я перерыл примеры и документацию и не нашел именно то, что мне нужно.
1 ответ
Вы можете сделать это на этапе отбора, а не на этапе рендеринга / рисования. Вы можете получить матрицу вида модели у посетителя и затем определить расстояние от нее. Так как вы хотите это для своего пользовательского класса drawable, вы можете сделать это, прикрепив обратный вызов.