Какие вершины наблюдаются с определенного вида камеры в движке 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
Обратите внимание, что вы можете сначала проверить весь объект на производительность, в зависимости от того, как выглядит ваша сцена. Существуют полезные функции для проверки на ограничивающие рамки или сферы, в случае необходимости.