2011-08-11 7 views
8

Tengo una aplicación OpenGL que las salidas de vídeo estereoscópico 3D para televisores off-the-shelf a través de HDMI, pero actualmente requiere la pantalla para apoyar los métodos de pre-1.4a de elegir manualmente el formato correcto (de lado a lado, de arriba -abajo, etc.). Sin embargo, ahora tengo un dispositivo que necesito admitir que SÓLO es compatible con señales HDMI 1.4a 3D, que, según tengo entendido, es un tipo de paquete enviado a la pantalla que le dice en qué formato está el video 3D. Estoy usando un NVIDIA Quadro 4000 y me gustaría saber si es posible emitir mi video (o decirle a la tarjeta de video cómo hacerlo) de manera que un 3DTV estándar vea el formato correcto, similar a un Blu-ray 3D u otro 1.4a -dispositivo compatible, sin tener que seleccionar manualmente un cierto modo 3D. es posible?¿Cómo puedo generar una señal estereoscópica compatible con HDMI 1.4a desde una aplicación OpenGL a una 3DTV?

+0

Lo he respondido aquí: http://stackoverflow.com/questions/6827737/how-do-i-output-3d-images-to-my-3d-tv/6828590#6828590 – datenwolf

+0

Eso La pregunta no está relacionada con HDMI 1.4a, solo habla sobre el uso de quad-buffer que no estoy usando. Estoy enviando una señal de izquierda/derecha o superior/inferior al televisor, pero el televisor necesita saber de qué manera lo estoy enviando de alguna manera, SIN intervención manual (como se describe en el estándar 1.4a). La tarjeta de video debe mostrar la pantalla esa información de alguna manera, simplemente no sé cómo hacer eso o si es posible. – bparker

+0

Se supone que no debe hacer el apilamiento de marcos usted mismo. La tarea de la tarjeta gráfica es generar un apilamiento de cuadros HDMI-1.4 a partir de imágenes renderizadas en búferes cuádruples. Todo el asunto HDMI-1.4 es completamente irrelevante para los programadores de aplicaciones. Es algo que los desarrolladores de motores y los ingenieros eléctricos deben preocuparse. No tú. – datenwolf

Respuesta

2

no veo una respuesta directa a la pregunta.

HDMI 1.4a define los metadatos para describir el formato 3D. video_format 010 significa 3D 3d_structure 0000 embalaje del marco, 0110 arriba-abajo, 1.000 de lado a lado

Pero, si el conductor no tiene una API para eso, necesita cambiar su código (asumiendo que es abierto o si tiene acceso)

1

Si los controladores lo permiten, se puede crear un contexto de representación estéreo de búfer cuádruple. Este contexto tiene dos buffers de respaldo y dos buffers frontales, un par para el ojo izquierdo y un par para el derecho. Se procesa en un buffer posterior (GL_BACK_LEFT), luego en el otro (GL_BACK_RIGHT), luego se intercambian con la función de intercambio estándar.

Crear un contexto SBC requiere codificación específica de la plataforma. Si está en Windows, debe elegir un formato de píxel con cuatro buffers.

Esto solo es posible si los controladores lo permiten. Puede que no. Y si no lo hacen, no hay nada que puedas hacer.

+0

Todos los controladores Quadro permiten estéreo cuádruple. – eile

+1

No veo cómo el quad-buffer está relacionado en absoluto. HDMI 1.4a dice que debe especificar el diseño exacto de sus marcos (uno al lado del otro, arriba-arriba, marco secuencial, etc.) dentro de los paquetes que se envían al monitor, lo que supongo que solo hace el controlador de la tarjeta de video. – bparker

+1

@bparker: Todo lo que HDMI 1.4a cosas es irrelevante si no se puede realmente hacer a varias memorias intermedias de modo que el conductor puede unirlos a la forma en que ellos HDMI tiene que ser. O para decirlo de otra manera, si puede hacer un contexto de QBS, entonces el controlador descubrirá cómo ponerlo en la pantalla. Si no puede hacer un contexto de QBS, entonces _no_ podrá obtener un búfer cuádruple. No a través de OpenGL. –

0

Si su aplicación OpenGL pasa a utilizar un subconjunto suficientemente sencillo de OpenGL, lo siguiente podría funcionar:

  1. Uso GLDirect para convertir dinámicamente su OpenGL llama a DirectX.
  2. Uso Nvidia 3DTV Play a stereoify de forma automática y el paquete de la señal a través de HDMI 1.4.
+0

bien, así que lo primero que estés asesorar a perder cruzada platformness, y en segundo lugar a incluso perder cruzada GPU'ness. Gran respuesta. –

Cuestiones relacionadas