Основная проблема заключается в том, чтобы заставить ваш графический процессор отправлять стереоскопический формат.В случае подключения HDMI это не будет работать без помощи драйвера.Если у вас GPU профессионального уровня (Quadro, FireGL), то они, скорее всего, поддерживают квадбуферы OpenGL, т.е. вы получаете кадровые буферы для левого и правого глаза, как заднего, так и переднего:
glDrawBuffer(GL_BACK_LEFT);
render_left_eye();
glDrawBuffer(GL_BACK_RIGHT);
render_right_eye();
glDrawBuffer(GL_BACK); // renders to both eyes simultanously
render_screen_level_and_nonstereoscopic();
SwapBuffers();
К сожалению, четырехъядерный буфер OpenGLсчитается профессиональным материалом.
Вместо этого NVidia (по крайней мере) предоставляет обычную библиотеку стереоскопии и некоторые расширения для управления ею.Основная причина заключается в том, что общие фрагменты должны воспроизводиться только один раз, а затем отправляться в оба глаза с применением аппиративного параллакса.Однако, исходя из моего полупрофессионального опыта в области стереоскопии…, эти виды полу / автоматической стереоскопии просто не помогают.Стереоскопия требует жесткого контроля всего «производственного» трубопровода, иначе вы облажались.С Elephants Dream я зашел так далеко, что изменил основной код рендерера.
Я отправил людей на 3D-разработку в NVidia несколько сценариев, где вам нужен точный контроль над процессом стереоскопии, и я надеюсь, что они увидятОсвещение и доступ к стерео с четырьмя буферами также на оборудовании потребительского уровня.
Обратите внимание, что я понимаю основы работы 3D (рендеринг одного и того же изображения дважды с двух разных углов, по одному для каждого глаза)
На самом деле вы рендеритесь не под двумя разными углами, а со смещенным параллаксом и сдвигом объектива.В противном случае вы получите некоторое трапецеидальное / трапецеидальное искажение по горизонтали, которое очень, очень неприятно наблюдать (на самом деле, я теперь думаю, что в процессе стереоскопического рендеринга нужно слегка отклонить оптические оси - то есть сделать полностью вопреки тому, что было бы наивносделайте - и «больше» компенсируют смещением объектива, в настоящее время я готовлю небольшое исследование по этому поводу, но мне все еще нужно собрать группы тестирования и контроля).
1: черт, япарень, который в одиночку стереографировал Elephants Dream, сделал его и получил награду на фестивале 3D-фильмов .