如何将 3D 图像输出到我的 3D 电视? [英] How do I output 3D images to my 3D TV?

查看:37
本文介绍了如何将 3D 图像输出到我的 3D 电视?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一台 3D 电视,我觉得如果我不至少尝试让它显示我自己创作的漂亮 3D 图像,我就会推卸责任(作为一个极客)!

I have a 3D TV and feel that I would be shirking my responsibilities (as a geek) if I didn't at least try to make it display pretty 3D images of my own creation!

我之前已经完成了一些非常基本的 OpenGL 编程,所以我了解所涉及的概念 - 假设我可以为自己渲染一个简单的四面体或立方体并使其旋转一点;我怎样才能让我的 3D 电视以 3D 显示此图像?

I've done a very basic amount of OpenGL programming before and so I understand the concepts involved - Assume that I can render myself a simple Tetrahedron or Cube and make it spin around a bit; How can I get my 3D TV to display this image in, well, 3D?

请注意,我了解 3D 工作原理的基础知识(从 2 个不同角度渲染同一图像两次,每只眼睛一个),我的问题是关于实际执行此操作的后勤工作(我需要 SDK 吗?等.).)

Note that I understand the basics of how 3D works (render the same image twice from 2 different angles, one for each eye), my question is about the logistics of actually doing this (do I need an SDK? etc...)

  • 我拥有的电视使用了偏振 3D,尽管我的意图是这个问题也与其他 3D 技术相关(如果可能)
  • 我的笔记本电脑有一个 HDMI 输出,我打算用它来连接我的电视(这与使用 VGA/分量视频电缆有什么区别?)
  • 过去我曾尝试过 GLUT/OpenGL,但是如果使用一些替代技术更容易/只有真正有可能做到这一点,那很好

推荐答案

主要问题是,让您的 GPU 发送立体格式.在 HDMI 连接的情况下,如果没有驱动程序的帮助,这将无法工作.如果您拥有专业级 GPU(Quadro、FireGL),那么它们可能支持 OpenGL 四边形缓冲区,即您的左眼和右眼都有帧缓冲区,包括前后:

The main problem is, getting your GPU to send a stereoscopic format. In the case of a HDMI connection this will not work without the help of a driver. If you have a professional grade GPU (Quadro, FireGL), then they likely support OpenGL quadbuffers, i.e. you get framebuffers for the left and right eye, both back and front:

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 quad buffer 被认为是专业级的东西.

Unfortunately OpenGL quad buffer is considered professional grade stuff.

取而代之的是 NVidia(至少)提供了一个惯用的立体库以及一些扩展来控制它.主要原因是,共享的片段只渲染一次,然后在应用了适当的视差的情况下发送到双眼.然而,根据我的立体视学半专业经验¹,这种半/自动立体视镜并不能解决问题.立体视觉需要对整个生产"管道进行严格控制,否则你就完蛋了.使用 Elephants Dream 我什至修改了渲染器的核心代码.

Instead NVidia (at least) provides a customary stereoscopy library plus some extensions to control it. The main reasoning is, that shared fragments are to be rendered only once and then sent to both eyes with the appropirate parallax applied. However from my semi-professional experiences with stereoscopy¹, these kinds of semi-/automatic stereoscopifications just don't cut it. Stereoscopy requires tight control of the whole "production" pipeline, otherwise you're screwed. With Elephants Dream I went as far as modifying the renderer's core code.

我向 NVidia 的 3D 部门的人员发送了一些您需要精确控制立体视觉过程的案例场景,我希望他们能看到曙光并在消费级硬件上也能访问四缓冲立体声.

I sent the people at the 3D devision at NVidia some case scenarios where you need exact control over the stereoscopy process, and I hope they will see the light and give access to quad buffer stereo also on consumer grade hardware.

请注意,我了解 3D 工作原理的基础知识(从 2 个不同的角度渲染相同的图像两次,每只眼睛一个)

Note that I understand the basics of how 3D works (render the same image twice from 2 different angles, one for each eye)

实际上,您不是从两个不同的角度进行渲染,而是通过视差和镜头移位进行渲染.否则你会在水平方向上出现一些梯形/梯形失真,这是非常非常不愉快的观看(实际上我现在认为在立体渲染过程中应该稍微发散光轴 - 即完全与人们天真地相反做 – 并过度"补偿镜头移位,我目前正在准备一项关于此的小型研究,但仍需要召集我的测试组和对照组).

Actually you don't render from two different angles but with a shifted parallax and lens shift. Otherwise you get some trapezoidal/keystone distortion in the horizontal, which are very, very unpleasant to watch (in fact I now think that in the stereoscopic rendering process one should slightly diverge the optical axes – i.e. doing the complete contrary to what one would naively do – and "over"compensate with lens shift, I'm currently preparing a small study about this, but still need to gather my testing and control groups).

1:哎呀,我就是那个单手立体化 Elephants Dream,渲染它 并在 3D 电影节上获得了 .

1: heck, I'm the guy who single-handedly stereographed Elephants Dream, rendered it and got it an award at a 3D movie festival.

这篇关于如何将 3D 图像输出到我的 3D 电视?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆