У меня есть приложение OpenGL, которое выводит стереоскопическое 3D-видео на стандартные телевизоры через HDMI, но в настоящее время оно требует, чтобы дисплей поддерживал методы ручного выбора правильного формата до версии 1.4a (бок о бок, сверху вниз). и т.д). Однако теперь у меня есть устройство, которое мне нужно поддерживать, которое поддерживает ТОЛЬКО 3D-сигналы HDMI 1.4a, которые, как я понимаю, представляют собой какой-то пакет, отправляемый на дисплей, который сообщает ему, в каком формате находится 3D-видео. Я использую NVIDIA Quadro 4000, и я хотел бы знать, возможно ли вывести мое видео (или сообщить видеокарте, как это сделать) таким образом, чтобы стандартный 3DTV увидел правильный формат, аналогичный 3D Blu-ray или другому 1.4a. -совместимое устройство, без необходимости вручную выбирать определенный режим 3D. Это возможно?
Как вывести стереоскопический сигнал, совместимый с HDMI 1.4a, из приложения OpenGL на 3D-телевизор?
Ответы (3)
Я не вижу прямого ответа на вопрос.
HDMI 1.4a определяет метаданные для описания формата 3D. video_format 010 означает 3D 3d_structure 0000 упаковка кадров, 0110 сверху вниз, 1000 бок о бок
Но если у драйвера нет API для этого, вам нужно изменить его код (при условии, что он открыт или у вас есть доступ)
Если ваши драйверы это позволяют, вы можете создать контекст стереорендеринга с четырьмя буферами. Этот контекст имеет два задних буфера и два передних буфера, одну пару для левого глаза и одну пару для правого. Вы выполняете рендеринг в один задний буфер (GL_BACK_LEFT), затем в другой (GL_BACK_RIGHT), затем меняете их местами с помощью стандартной функции подкачки.
Создание контекста QBS требует кодирования для конкретной платформы. Если вы работаете в Windows, вам нужно выбрать формат пикселей с четырьмя буферами.
Это возможно только в том случае, если ваши драйверы позволяют это. Они не могут. А если их нет, то ничего не поделаешь.
Если ваше приложение OpenGL использует достаточно простое подмножество OpenGL, может работать следующее:
- Используйте GLDirect для динамического преобразования вызовов OpenGL в DirectX.
- Используйте Nvidia 3DTV Play для автоматической стереофонической обработки и упаковки сигнала через HDMI 1.4.