2014-09-08 5 views
1

Некоторое время назад я видел code for "Live effects cam", связанный здесь, в stackoverflow. Это приложение преобразует обычный канал камеры с использованием OpenGL и может заставить его выглядеть так, как будто изображение искажено несколькими способами. Мне интересно , если я могу преобразовать обычную плоскую подачу камеры или изображение с помощью OpenGL в iOS, чтобы создать пару изображений, подходящих для просмотра на Oculus rift?Могу ли я использовать преобразования представлений/OpenGL, чтобы превратить плоское изображение в двойное изображение, совместимое с Oculus Rift?

Другими словами, можно ли использовать код, как указано выше, для правильного преобразования плоского изображения, чтобы обмануть глаз, думая, что это 3D при просмотре через Oculus rift?

Ниже приведен пример того, чего я пытаюсь достичь. Я предполагаю, что в этом случае механизм рендеринга может создавать 2 видовых экрана и отображать два изображения под разными углами. Но у меня есть только один канал изображения или камеры. enter image description here

enter image description here

+0

Связанный - есть комплект Google Cardboard Kit, который представляет собой картонную коробку с объективами, которая позволяет привязать смартфон к голове, чтобы превратить его в «бедный человек». Я заказал этот комплект: http://www.dodocase.com/products/google-cardboard-vr-goggle-toolkit –

ответ

1

Вы можете принять простые 2D изображения и отображать их в Рифт, но там не будет ощущение глубины изображения. Кроме того, если изображения, которые мы отображали или не захватили с довольно большим полем обзора, они будут занимать лишь небольшое количество экрана.

Простейший способ сделать это - преобразовать изображение в текстуру OpenGL, а затем визуализировать его на простой кусок прямоугольной геометрии в буфер вне экрана, а затем передавать внеэкранные рендеринг (ы) в Oculus SDK для искажения и отобразить на Rift. В качестве альтернативы, если вы знаете точное поле зрения изображения, вы можете создать матрицу искажений Oculus специально для соответствия изображению, а затем вы можете передать текстуру изображения непосредственно в SDK.

Этот link представляет собой пример C++, который использует OpenCV для захвата изображений с веб-камеры, копирования их в OpenGL и последующего отображения их в трехмерной сцене для последующего отображения на Oculus Rift.

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

  • Нет связанных вопросов^_^