Как вывести HDMI 1.4a-совместимый стереоскопический сигнал из приложения OpenGL на 3D-телевизор? - PullRequest
8 голосов
/ 12 августа 2011

У меня есть приложение OpenGL, которое выводит стереоскопическое 3D-видео на стандартные телевизоры через HDMI, но в настоящее время требуется, чтобы дисплей поддерживал методы до 1.4a для ручного выбора правильного формата (бок о бок,сверху вниз и т. д.).Однако теперь у меня есть устройство, которое мне нужно поддерживать, поддерживающее ТОЛЬКО 3D-сигналы HDMI 1.4a, которое, насколько я понимаю, представляет собой некий пакет, отправляемый на дисплей, который сообщает ему, в каком формате находится 3D-видео.NVIDIA Quadro 4000, и я хотел бы знать, возможно ли выводить мое видео (или указать видеокарту, как это сделать) таким образом, чтобы стандартный 3D-телевизор отображал правильный формат, подобный 3D-Blu-ray или другому 1.4a- совместимое устройство, без необходимости вручную выбирать определенный режим 3D.Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 24 июня 2012

Я не вижу прямого ответа на вопрос.

HDMI 1.4a определяет метаданные для описания формата 3D.video_format 010 означает трехмерную трехмерную структуру рамки 0000, 0110 сверху вниз, 1000 рядом друг с другом

Но, если у драйвера нет API для этого, вам нужно изменить его код (при условии, что он открытили у вас есть доступ)

1 голос
/ 12 августа 2011

Если ваши драйверы позволяют это, вы можете создать контекст стерео рендеринга с четырьмя буферами.Этот контекст имеет два обратных буфера и два передних буфера, одну пару для левого глаза и одну пару для правого.Вы выполняете рендеринг в один задний буфер (GL_BACK_LEFT), затем в другой (GL_BACK_RIGHT), а затем меняете их с помощью стандартной функции подкачки.

Создание контекста QBS требует специфического для платформы кодирования.Если вы работаете в Windows, вам нужно выбрать пиксельный формат с четырьмя буферами.

Это возможно, только если ваши драйверы позволяют это.Они не могут.И если они этого не сделают, ты ничего не сможешь сделать.

0 голосов
/ 18 июня 2012

Если ваше приложение OpenGL использует достаточно простое подмножество OpenGL, может сработать следующее:

  1. Используйте GLDirect для динамического преобразования ваших вызовов OpenGL в DirectX.
  2. Используйте Nvidia 3DTV Play для автоматической стереофонии и пакетирования сигнала через HDMI 1.4.
...