如何将 3D 图像输出到 3D 电视?

2024-04-27

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

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

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

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

主要问题是让 GPU 发送立体格式。对于 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》中,我甚至修改了渲染器的核心代码。

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

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

实际上,您不是从两个不同的角度进行渲染,而是使用移动的视差和镜头移动。否则,你会在水平方向上得到一些梯形/梯形失真,这非常非常令人不舒服(事实上,我现在认为在立体渲染过程中,应该稍微偏离光轴——即与天真的做法完全相反)做 – 并“过度”补偿镜头移位,我目前正在准备对此进行一项小型研究,但仍需要收集我的测试组和对照组)。


1:哎呀,我就是那个人单手立体照相 http://www.blendernation.com/2010/09/17/rendering-elephants-dream-in-stereoscopic-3d/大象梦,渲染它 http://orange.blender.org/blog/elephants-dream-in-stereoscopic-3d/并得到了3D电影节获奖 http://www.3dmedia2010.com/en/3d-film-festival-0.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 3D 图像输出到 3D 电视? 的相关文章

  • glDrawElements 在 PyOpenGL 中绘制立方体

    我最近开始通过 Python 学习 OpenGL 这要归功于几个教程 尤其是 Nicolas P Rougier 的教程 http www labri fr perso nrougier teaching opengl http www l
  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • 着色器/矩阵问题 - 看不到对象

    我试图在屏幕上放置一个立方体并点亮它 我想要在立方体上添加 phong 阴影 当我运行代码时 我可以看到背景图像 但看不到立方体 我相当确定立方体本身是正确的 因为我已经设法用纯色着色器显示它 我已经设法编译着色器程序 但我根本看不到立方体
  • 如何在plotly 3D曲面图中标记区域?

    我使用plotly从xyz数据创建3D高程剖面图 它与以下代码配合得很好 import plotly graph objects as go import pandas as pd import numpy as np Read data
  • 如何在SceneKit中实现逼真的景深效果?

    我正在尝试渲染具有真实景深效果的帧 我已经尝试过景深属性camera节点 但它不会产生可用的结果 是否可以切换到景深效果的最大渲染质量 性能不是一个因素 我只需要渲染一帧 用户可以等待它 SceneKit 中逼真的景深效果 在SceneKi
  • Direct3D 中的矩阵多阶

    关于在 Direct3D 中乘法矩阵以获得结果 我收到了两个相互矛盾的答案 教程确实规定从左到右相乘 这很好 但这不是我想象的方式 这是一个例子 OpenGL 从上到下阅读 GLRotatef 90 0f GLTranslatef 20 0
  • 对 VBO 中的特定三角形使用不同的纹理

    我有 9 个由三角形组成的四边形 如下所示 我在用着VBO存储有关它们的数据 它们的位置和纹理坐标 我的问题是 是否可以仅使用一个来使四边形 5 具有与其余四边形不同的纹理VBO and shader 绿色代表纹理 1 黄色代表纹理 2 到
  • 一次性渲染阴影

    考虑到阴影投射的成本 我想知道对于动态定位的静态对象 例如 程序城市 是否有一个功能或可能 实验性的方法可以在 Three js 中仅渲染一次阴影贴图 甚至在 webgl 中 因此 结果可以在静态对象的下一帧中免费使用 仅当物体移动时才会进
  • OpenGL 的每个组件 alpha 通道?

    是否可以使用 OpenGL 对每个组件使用一个 alpha 通道 一个用于红色 一个用于绿色 一个用于蓝色 进行混合 如果没有 有哪些可能的解决方法 这不是直接支持的东西 不过 您自己实现起来相当容易 使用 3 通道 alpha 纹理渲染三
  • 三角形未在 OSX 上的 OpenGL 2.1 中绘制

    我正在学习有关使用 OpenGL 在 Java 中创建游戏引擎的教程 我正在尝试在屏幕上渲染一个三角形 一切运行良好 我可以更改背景颜色 但三角形不会显示 我还尝试运行作为教程系列的一部分提供的代码 但它仍然不起作用 教程链接 http b
  • 法线在 openGL 中表现得很奇怪

    我一直在为 openGl 编写一个 obj 加载器 几何体加载得很好 但法线总是混乱的 我尝试在两个不同的程序中导出模型 但似乎没有任何效果 据我所知 这就是将法线放入 GL TRIANGLES 的方法 glNormal3fv norm1
  • glutPostRedisplay 不在循环内工作

    我试图让一个人在 y 轴上跳跃 所以我使用 2 秒的循环 第一秒它应该向下移动并弯曲膝盖 第二秒它应该向上移动 然后在起始位置完成 现在我刚刚开始让这个人在第一秒内跪下并弯曲膝盖 我还没有编写动画的其余部分 问题是 glutPostRedi
  • 颜色重新映射 - 使用 3D 网格匹配目标调色板?

    假设我有颜色 FOO 它以 RGB 格式存储 我需要重新着色 FOO 以便它与颜色列表中最接近的颜色匹配 即时执行此操作 我是否无法将每种颜色的 RGB 值视为 3D 网格上的点 r x g y b z 并计算点 FOO 与每个颜色点之间的
  • 判断一个点是否在多面体内部

    我试图确定某个特定点是否位于多面体内部 在我当前的实现中 我正在研究的方法采用我们正在寻找多面体面的数组 在本例中为三角形 但稍后可能是其他多边形 的点 我一直在尝试根据这里找到的信息进行工作 http softsurfer com Arc
  • gluPerspective 与 gluOrtho2D

    我查看了 MSDN 上关于这两个函数的文档 但是 我不太明白这两个功能之间的区别 一个是用于设置 3D 相机视图 另一个是用于设置 2D 相机视图 如果能得到解答就太好了 预先感谢您的评论 正交投影基本上是没有透视的 3D 投影 本质上 这
  • 自动适合衣服的算法?

    想象一下 客户要求您设计一款软件 以满足一些相当粗略的规格 如下所示 1 它将面向时尚行业营销 2 用户将是 设计衣服和东西 的人 可能有一个特定的术语 但我没有想到 3 由于各种原因 能够快速制作原型设计并查看它们在模型上的外观会很有用
  • 如何安装适用于 Windows C++ 的最新版本 OpenGL?

    我正在使用 Visual Studio 2010 运行 Windows 7 包含的 OpenGL 版本 include 是版本 1 1 我希望使用合理的当前版本 某种版本 3 或 4 我需要做什么才能达到该状态 OpenGL SDK 页面位
  • 简单的线框格式?

    我正在寻找一种用于线框模型的简单文件格式 我知道 VRML u3D 等 但这些对于我的需求来说似乎很重要 我的标准是 必须有明确的规格 要么是开放的 要么是非常完善 记录的 我只需要 想要 简单的模型 顶点和边 我不想处理面孔或物体 如果格
  • WebKit 是否使用 OpenGL 来渲染 CSS 过渡?

    WebKit 是使用 OpenGL 来渲染 CSS 过渡 还是使用软件渲染 WebKit 只是一个前端 这取决于后端和硬件支持 谷歌浏览器使用skia http code google com p skia 作为后端 它可以使用软件或硬件
  • OpenGL 与 Eclipse CDT + MinGW + GLEW + GLFW:未定义的参考

    Edit 与此同时 我已经弄清楚了这一点 并在下面写了详细的答案 我刚刚尝试在 Win7 上从 Express 版本的 MSVC 10 切换到 Eclipse CDT 在配置时遇到了以下简单 OpenGL 代码的问题 在 Visual St

随机推荐

  • urllib2.urlopen 在 Django 中失败

    I use urllib2 urlopen url 获取 HTML 内容 网址是http 127 0 0 1 8000 m html 该方法成功获取HTML内容 但在 Django 中 如果我尝试获取 HTML 内容 它会在函数中停止 ur
  • 检查 python 中的 type == list 是否[重复]

    这个问题在这里已经有答案了 我无法弄清楚我的代码有什么问题 for key in tmpDict print type tmpDict key time sleep 1 if type tmpDict key list print this
  • 为什么链接器要修改--defsym“绝对地址”

    目标 一个使用可执行文件中的函数 不导出符号 的共享库 Means gcc Wl defsym function 0x432238 手册页指出 defsym symbol expression Create a global symbol
  • 无法在 root 设备上运行程序“su”

    我有一部运行 Android N AOSP 版本 的 root 手机 我试图从我的应用程序获取 root 权限 但它不断被拒绝 这是我正在尝试的 java lang Process p runtime exec su DataOutputS
  • Python - 在 Windows 中的多进程下创建线程时出现“can't pickle thread.lock”错误

    我陷入了我认为的基本多进程和线程问题 我已经设置了一个多进程 其中有一个线程 但是 当我在其中设置线程类时init函数 我收到以下错误 类型错误 无法pickle thread lock对象 但是 如果线程是在线程之外设置的 则不会发生这种
  • 更改 jQuery UI 滑块大小

    我在用这个 UI 滑块 http api jqueryui com slider entry examples尺寸也是我网站上的尺寸 不是宽度 而是按钮的尺寸 演示页面底部 但是here http jqueryui com themerol
  • 如何通过 XAML 绑定设置当前 CultureUI

    我有一个绑定到字符串的 TextBlock 我希望该字符串以应用程序的当前 UI 区域性显示 我想在 XAML 中执行此操作 文本块很简单 如下所示
  • 如何从 type=file 输入中删除“未选择文件”?

    我似乎无法找到任何方法来删除显示在 文件 类型的输入旁边的 未选择文件 文本 你们知道如何删除此文本吗 input type file color transparent Enjoy
  • 如何将tmux热键设置为Ctrl-,即Ctrl+逗号

    我在 Mac OS X 上设置首选 tmux 热键时遇到了一些麻烦 The most common hotkeys that invokes tmux s magics are CTRL A and CTRL B But I would r
  • Internet Explorer 8 不会修改打印样式表中的 HTML5 标记

    我之前正在制作打印样式表 并遇到了 IE8 的问题 我正在使用 HTML5 和几个布局标签 包括页眉 导航和页脚 由于某种原因 在我的打印样式表中显示 无 这些标签上的声明在 IE8 中被忽略 我只能假设后续的较低版本 我首先认为 IE9
  • Javascript 弹出窗口会消失

    我需要有一个类似消息框的东西 但没有按钮 它会显示在屏幕上All data was saved然后在 2 3 秒内消失 这就像一个警报 我们提醒用户记录已保存 但我需要它显示在屏幕顶部的一个小框中 并且它应该淡出 有人可以帮我编写一个可以执
  • 将一些提交移至另一个分支

    我只有一个分支有 git repo A B C D E master 我想将提交 B C 和 D 拆分到另一个名为开发的分支 A E master B C D develop 做到这一点最简单的方法是什么 无需关心远程仓库 做cherry
  • `/dev/urandom` 适合模拟目的吗?

    似乎在类 Unix 系统中使用纯 C fread from dev urandom是提取高质量随机字节的最简单方法 我需要运行一个每秒需要大约 10k 32 位随机数的模拟 并且可能会运行几天 是 dev urandom可以用于此目的吗 当
  • 根据具有重复测量的其他列的条件向列添加值

    我对 R 还很陌生 正在尝试在 Rstudio 中准备我的数据集以供进一步分析 如果有人能帮助我找到代码的解决方案 我将不胜感激 我的数据叫做m8 这就是我到目前为止所做的 但它只返回整个 Q2 列中 U1High U1Low 和 U1Me
  • 如何对加密算法进行逆向工程?

    我编写了一个以这种方式加密文本的应用程序 获取输入文本 反转文本 转换为十六进制 用密钥进行异或 Base64编码 现在 我自己没有做很多加密 编码 所以我的问题可能听起来很愚蠢 但是 假设我得到一个包含上述算法内容的文件 而我不知道这个算
  • 如何修改 HttpUrlConnection 的标头

    我试图稍微改进一下 Java Html 文档 但我遇到了问题HttpUrlConntion 有一件事是 如果用户代理是 Java VM 某些服务器会阻止请求 另一个问题是HttpUrlConnection不设置Referrer or Loc
  • 将数字缩放为 <= 255?

    我的单元格的数值可以是 0 到 0 之间的任何值Integer MAX VALUE 我想对这些单元格进行相应的颜色编码 如果该值 0 则 r 0 如果该值是Integer MAX VALUE 则 r 255 但是中间的值呢 我想我需要一个函
  • D3.js - 如何迭代数据集中的子数组

    我试图让 d3 迭代数据中的子数组并生成多个饼图 这是完整的代码 来自https gist github com mbostock 1305111 https gist github com mbostock 1305111 and htt
  • 为 ListView 最后一个元素添加下边距

    我需要添加具有复杂项目背景的 ListView 顶部和底部的偶数 奇数和圆角不同 它看起来像这样 我已经通过级别列表实现了所有这些东西 但我还想做一件事 现在底部项目位于屏幕底部附近 最好添加一些空间 我不想向 ListView 添加底部边
  • 如何将 3D 图像输出到 3D 电视?

    我有一台 3D 电视 如果我不至少尝试让它显示我自己创作的漂亮 3D 图像 我就会逃避我的责任 作为一个极客 我之前已经完成了非常基本的 OpenGL 编程 因此我了解所涉及的概念 假设我可以为自己渲染一个简单的四面体或立方体并使其旋转一点