Какие вершины наблюдаются с определенного вида камеры в движке OGRE3D?

Я новый пользователь Ogre3d. Моя заявка в области машинного зрения. В связи с этим я столкнулся с проблемой, я очень благодарен, если вы мне поможете. В моем приложении загружена трехмерная модель (модель человека) со скелетом и костями. Я изменяю угол кости программно. У меня есть вид с камеры.

У меня вопрос, как я могу получить доступ к вершинам, которые наблюдаются с точки зрения моей камеры? Другими словами, какие вершины видны с точки зрения конкретной камеры?

Я прошу прощения за мой плохой английский.

1 ответ

Редактировать: Вы ищете как усеченный и окклюзионный отбор, этот ответ касается только части усеченного.

Похоже, вы хотите проверить Frustum камеры.

http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_frustum.html

В частности, посмотрите на эту функцию, которая позволяет вам проверять вершину относительно усеченного конуса:

http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_frustum.html

virtual bool Ogre::Frustum::isVisible(const Vector3 & vert,
                                      FrustumPlane * culledBy = 0) const

Обратите внимание, что вы можете сначала проверить весь объект на производительность, в зависимости от того, как выглядит ваша сцена. Существуют полезные функции для проверки на ограничивающие рамки или сферы, в случае необходимости.

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