VR 圈里经常被提起的概念

2024-01-07 15:50
文章标签 概念 经常 vr 提起 圈里

本文主要是介绍VR 圈里经常被提起的概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://it.sohu.com/20151113/n426374638.shtml

VR 圈里经常被提起的概念:

  低余辉(Low Persistence)

  不论是 Oculus Rift DK1 ,还是“XX魔镜”那种放手机进去的 VR 头盔,从屏幕来看,其实是差别不大的,因为 DK1 用的也是手机那种液晶屏。手机屏幕用在 VR 上有一个最大的问题:动态模糊。或者用 Oculus 的说法,这是一块有“余辉”(Persistence)的显示屏。意思是说,显示过的图像还会留在那里。当你快速转动头部,面前的画面就会模糊不清:你还能看到前一帧本该消失的画面,而你头部当前方向又有一帧新的画面,这种不一致就会造成画面拖影。

  

  你可以想办法提高刷新率,比如使用新的 OLED 屏幕,但这还是不够。真正的“低余辉”显示屏不仅要立即呈现出正确播放的那一帧图像,同时立刻关闭该帧后还能显示好下一帧已经准备出来的图像。Oculus 的 DK2 及其他新型号的产品,Sony 的 PSVR,HTC/Valve 的 Vive 等等已能做到完全清除前一帧图像的残留,动态模糊这一问题可以说是已经被解决好了。屏幕的问题是解决了,但你播放的 VR 画面还得达到 75 fps 的帧率,这样才能匹配上屏幕 75 Hz 的刷新率(或是更高,具体数值可取决于屏幕的技术规格)。如果 VR 的画面到不到这一标准,屏幕再好也是白搭。幸运的是,我们还有一个解决方案。

  

  异步时间扭曲(Asynchronous Timewarp)

  如果你经常打游戏或者折腾显卡应该知道,在高分辨率下的 75 fps 的帧率是很难维持的。比如你在玩魔兽世界的时候,站在那里看风景,帧率可能会高达一百多,可是围着一群怪打的时候帧率可能只有十几。对于当前主流显卡,即便是维持住 60 fps 的画面都显得极为勉强。想象一下 VR 头盔还要同时渲染左右两个画面的样子(为了有3D效果,左右的画面其实是不同的)。这么说吧,仅仅是运行演示片段所散发的热量,都有可能让你的屋子好好通风才能呆下去。

  

  异步时间扭曲(Asynchronous Timewarp简称ATW)是一种生成中间帧的技术,当游戏不能保持足够帧率的时候,ATW能产生中间帧,在 GPU 渲染能力与屏幕显示需求之间寻找一个平衡。这一“扭曲”是一个实际图像调整的进程。时间扭曲其实是通过扭曲一帧已经渲染完成但还未在屏幕上显示的图像,进而生成一个中间帧用以弥补头部运动所造成的画面延迟。中间帧是一种后处理效果,它改变的是已经被渲染好的图像来匹配用户最新的头部位置。

  时间扭曲的局限性在于,它要依赖于显卡所渲染好的那一帧图像,因为中间帧的调整是发生在这一帧的渲染完成之后。刚才说到,这一“扭曲”过程是一个额外的进程,如果此刻计算机正在运行着一个进程的话,显示器所显示的画面可能会更加延迟。

  

  异步时间扭曲致力于通过一个独立于显卡渲染周期的处理进程来持续追踪头部位置,这个进程和渲染进程平行运行(异步)。在每一次垂直同步前,该异步进程根据渲染进程最新完成的那一帧生成一个新的帧。相比于时间扭曲,这样做能够获取得更低的延迟以及更高的准确度。

  然而异步时间扭曲也不完美,因为在处理运动中的画面时容易产生“抖动”,或是轻微的图像重影,如下图所示。因为一个新的图像是只是根据原始图像生成的,原始图像上物体还在原来的位置呢!

  

  以上这些就是我们现在最常听到大家谈论的概念,说完了这几个概念,我们来说说 AMD 和 Nvidia 两大显卡巨头对于 VR 图形技术领域的一些解决方案。

  尽管在操作系统层面,我们还有待于来自 DirectX 和 OpenGL 的正式 VR 标准,不过 AMD 和 Nvidia 已经在通过他们专有的技术与 SDK 来提升各自显卡的交互性能了。他们具体的目标还是为用于虚拟现实目的的图像渲染来降低延迟,同时提高帧率。

  AMD Liquid VR

  根据 AMD 首席游戏科学家 Richard Huddy 的说法,Liquid VR 是运行在 Mantle 平台上的一块独立代码。Mantle 是 AMD 显卡驱动上的专有 API,相比标准的 DirectX 接口,它能提供出更为深层和快速的权限来访问 AMD 的显卡架构。

  

  Mantle 和 Liquid VR 所提供的是访问 AMD 异步处理引擎 (asynchronous compute engine, ACE)功能的完全访问权限。GPU 的流处理单元只是用以处理单一命令的指令槽。 在较旧的 GPU 中,这些指令都是循序执行的。尽管 Radeon HD 7970 显卡拥有 2048 个着色器,但即便是在 GPU 全速运转的情况下,它们也极少是全部都能被充分利用起来。而最新的 ACE 架构则可以让你在处理进程中同时插入不同的指令,从而充分利用起这些计算资源。当空闲的流处理单元的指令槽可用时,所需要的命令就可以插入进来执行。这样 GPU 就可以在执行图像渲染工作的同时来处理这些计算任务,而又不必放下宝贵的处理时间。

  

  在多重 GPU 的 CrossFire 配置中,可以由两个或多个显卡之间相互交替来渲染每一帧图像。不过,当图像在 VR 头盔中被分割开来显示的时候,这一协同效果表现得并不是很好。而 Liquid VR 则能够有效地为每块显卡分配好任务——一个GPU负责左眼,一个 GPU 负责右眼。

  

  AMD 这一 API 还可以让显卡直接跟头戴式显示器进行通信,而不是还要通过 Oculus VR 或者 Razer 的 OSVR 平台这类独立的 SDK 来显示图像。尽管 AMD 所展示的是用 Liquid VR 来支持 Oculus VR 的设备,这一技术却并非只为 AMD 的专有 GPU 所开发的,该公司为所有符合条件的解决方案提供支持。

  

  尽管 AMD 在 GDC 的演示中所用的是其最新的300系列 GPU,我倒觉得 AMD 较快的上一代显卡也是可以这样运行虚拟现实内容的,因为其新卡很大程度上只不过是旧卡重新包装而成的。

  Nvidia GameWorks VR

  与其说是一个正式的 API,Nvidia 的 GameWorks VR 更多地是作为一系列的技术和功能来帮助开发者们更为充分地把他们的 GPU 应用于 VR 目的。例如我们先前所说的异步时间扭曲技术,在 Nvidia 的 GameWorks 环境,异步时间扭曲可以运行在驱动器层面。类似于 AMD 的 Liquid VR 平台,Nvidia 也在引入 VR SLI,这意味着拥有多重显卡的计算机将能更好地同时渲染左右视图,从而输出更具效果地虚拟现实体验。

  

  这里要重点说一下“多分辨率着色技术”。像 Oculus Rift 与 HTC Vive 这样的现代 VR 头盔需要把一种椭圆形的双视图发送到它们的屏幕上。虽然看上去很奇怪,但只要透过 HMD 的透镜去看就是正常的图形了。左右视图中心的像素比较密集,外围像素则因图像扭曲在分布上要远为零散。

  可是到目前为止,这种像素扭曲都是在图像完成后才进行的。显卡倾尽其所有性能来渲染出全分辨率的图像,然后再交由一个后处理阶段来生成扭曲后的图像。这种扭曲后的图像对于屏幕而言只需要使用更少的像素也能呈现一样的效果,这样的渲染过程基本就是在浪费资源。

  

  Nvidia 的解决办法是把整个图像分割成3x3的视区网格。在这里,我们把视区这个概念简单理解成是屏幕上被分割出来的空间。在中央视区仍保留完整分辨率的情况下,外围视区则用类似于传统后处理阶段的扭曲方式进行渲染。当这一切完成后,同样用户感知效果的图像相比原来的像素数量可减少25%到50%,而像素渲染效率则提升为原来的1.3倍到2倍。以 Oculus CV1 为例,其2160X1200像素的屏幕采用“多像素着色技术”所需要的显卡性能会比原来下降30%到50%。

  

  Nvidia 还在推广的一个概念是高优先级图形上下文。通过传统的 DirectX 接口进行渲染时,当你头部从 A 点转动到 B 点,开发者用一个固定进程来处理画面。Nvidia 放宽了进入渲染路径的窗口,使得头部追踪所带来的不可预估的变化可以被开发者更为迅速地修正。

  

  说了这么多 AMD 与 Nvidia 在 VR 图形技术上的大力投入,但他们都还无法代表一个正式的标准。这就意味着游戏及其他内容制作商不得不同时支持两种技术以获取每种显卡架构的最佳性能。没错,正像是现在同时开发的 iOS 与 Android 两种应用那样。

  这篇对于图形制作技术的介绍,加上先前的虚拟现实交互与图像显示技术这两部分的内容,就是 Niel Schneider 在 Virtual Reality Basics一文所讨论虚拟现实技术与概念的全部内容。下面我想以 Niel Schneider 本人的总结来结束全部内容。

  总结:

  我一直在参与 VR 行业的发展,特别是它这两年突然火起来之后,这个行业正在发生的事情真的很吸引人。在消费者买到第一个虚拟实现头盔之前,我就已经看到了无数人专注于把为把图形带上 VR 屏幕这一目标所进行的各种创新,而现在越来越多具备核心功能及广泛细节追求的虚拟现实头盔出现。除了那些全新的实验性想法在浮出水面之外,我们更应该注意到那些不幸失败的主意。

  然而,我们必须提醒自己的是,这场技术比拼是没有终点的。跟学习曲线有限的传统显示技术不同,虚拟现实领域每一个新增元素的出现都有可能戏剧性地改变我们对于虚拟现实或其他沉浸式体验技术的理解。根据 Sony 沉浸式技术团队总监 Simon Benson 的说法,一项可以把视场大小仅仅增加5度的技术就能改变一切。

  亲眼看到 Oculus CV1, Valve/HTC Vice, FOVE, Starbreeze VR, Immersion-VRelia 的 Go 平台及其他数不清的产品的面世,这一切意味着一个多样化的行业正在成型,我始终相信美好的事情即将发生。只要这些平台别把自身限制在单一的品牌上,或是莫名其妙的no zuo no die,这一领域对于消费者和供应商双方来说都有足够的空间来取得双赢。

这篇关于VR 圈里经常被提起的概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/580457

相关文章

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

【机器学习-一-基础概念篇】

机器学习 定义分类算法 应用 定义 机器学习最早是被Arthur Samuel 提出的一个概念,指计算机无需明确编程即可学习的研究领域。1950年他发明的跳棋程序,这个人机对弈游戏让他的声名鹊起,机器学习这个概念才进入大众的是视线。 在这个跳棋程序里,他编程了一种算法,这个程序与Arthur下了数万次跳棋,计算机逐渐学会了下在哪里有更大的可能会赢得比赛,哪里会输,通过这种方法,最

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

AI辅助编程里的 Atom Group 的概念和使用

背景 在我们实际的开发当中,一个需求往往会涉及到多个文件修改,而需求也往往有相似性。 举个例子,我经常需要在 auto-coder中需要添加命令行参数,通常是这样的: /coding 添加一个新的命令行参数 --chat_model 默认值为空 实际上这个需求涉及到以下文件列表: /Users/allwefantasy/projects/auto-coder/src/autocoder/auto

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一个概念才有意义 1.3. 概念依赖关系图简要概括了软件的概念和概念存在的理

【生物信息学算法】图算法1:概念和算法

文章目录 1. 图的定义、分类、表达方式图的定义图的分类表达方式Python实现 2.相邻节点和度概念定义python实现 3.路径、距离和搜索路径和距离搜索环 4.图论中的欧拉定理 1. 图的定义、分类、表达方式 图的定义 图G可以由两个集合来定义,即G=(V,E)。其中,V是对象的集合,称为图的顶点或节点; E是V中(u,v)顶点对的集合,称为边或弧,表示u和v之间的关系

数据库系统原理概念整理(备考)

基本概念 数据模型 描述数据的概念和工具 关系数据模型 用关系描述数据 数据模型 包含三个方面 结构 操作 约束 对应于 关系数据模型 关系(表) 关系代数 主外键约束,断言 逻辑数据模型:详尽的描述数据,不关心具体的物理层实现,如关系数据模型中,设计实体及实体间的关系,属性,约束等等。业务逻辑的体现。 逻辑模型 --------查询处理----------物理模型 逻辑方面:SQL结构化查询