2010-08-24 4 views
1

Используя стереоизображение, я создаю карты глубины, представляющие 3D-среду, если смотреть с камеры. Существует одна карта глубины за «ключевой кадр», связанная с положением камеры. Цель состоит в том, чтобы перевести эти 2D-карты глубины в 3D-пространство (а затем объединить их для восстановления всей среды).3D-рендеринг поверхности из карты глубины

Что было бы лучшим (эффективным) способом перевода этих карт глубины в 3d? Каждая карта глубины имеет размер 752x480, поэтому количество треугольников может расти довольно быстро. Я бы хотел, чтобы автоматическая система управляла уровнем детализации объектов.

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

Я совершенно новичок в Ogre3d, поэтому, пожалуйста, простите меня, если есть прямое решение, которое я должен знать. Если другой инструмент, чем Ogre3d, более подходит для моей проблемы, я был бы рад узнать об этом!

ответ

1

Непонятно, что вы хотите сделать «merge depahtmap with envirronement»?

Во всяком случае, в вашем случае вы, кажется, застряли, чтобы сделать их 3D, используя методы верстки ландшафта. В случае, когда карта глубины выровнена по экрану, используйте простую технику раскодирования на экране. Поэтому вы должны сделать композитор в ogre3D, который берет эту карту глубины и преобразовывает ее на нужный пиксель.

Перевод и поворот с карты глубины могут быть ограничены xy на экране, как подобная карта высот ландшафта (у вас не может быть пещер с использованием карт высот), вы пропускаете измерение.

Непосредственно, но может помочь: в чистом пространстве экрана существует техническая «реконструкция позиции», которая помогает получать объектные космические позиции объекта, но только если у вас есть информация о фотографии на камере, используемой для создания карты глубины, которую вы используя, например: http://www.gamerendering.com/2009/12/07/position-reconstruction/

+0

Большое спасибо за ваш ответ. Ссылки, которые вы предоставили, очень интересны. Однако есть одна вещь, которую я не прояснил: карта глубины вычисляется с реальной камеры, но восстановленная среда должна быть исследована во всех направлениях. Результатом операции должна быть деформированная сетка, висящая в пространстве, которая может вращаться, например. Я ищу трехмерное представление, а не только рендеринг экрана, поэтому я не думаю, что могу использовать шейдеры для этого ... – Jim

+1

Тогда вы застряли с такой картой, как реконструкция. (вы можете попробовать облако точек, но часто еще медленнее проверить http://www.visual-experiments.com/) Реконструкция 3d-объектов с использованием карт глубины - это тема анализа изображений, поэтому вы можете посмотреть там (библиотека opencv использует, например, http://sourceforge.net/projects/reconststereo/) –

+0

Спасибо! Благодаря сайту visual-experiments.com я нашел http://grail.cs.washington.edu/software/cmvs/, который обрабатывает несколько проблем, с которыми я сталкиваюсь. У меня есть чтение, которое нужно сделать сейчас! – Jim