/ Voiceofvr / 0浏览

Neil Trevett关于Khronos Group和新一代图形标准Vulkan、OpenCL 2.1和SPIR-V的讲解。

Voices of VR播客 我的名字是尼尔·特雷维兹 我在NVIDIA担任职业 我在移动Tegra团队工作 所以我们将通话应用程序带到移动设备上 但我同时也担任Kronos集团的总裁 Kronos集团是一个开放标准组织 Open在这种情况下意味着几件事情 意味着任何公司都可以加入我们,帮助我们的工作 Open还意味着我们创建了连接应用程序的开放无版税的标准 例如虚拟现实应用程序 用于冷却硅加速 诸如图形,计算,传感器处理,视觉处理等等 这些都与虚拟现实社区密切相关 很好 那么本周在GDC上有哪些公告呢?我们在GDC上公布了许多重要公告 其中最引人关注的可能是我们所称的新API,即Vulkan 人们对Vulkan非常关注,因为它是新一代的OpenGL 在SIGGRAPH上,我们宣布了这一新一代的OpenGL计划 但在GDC上,我们能够公开更多详细信息,为开发者社区提供了很多定向指导 关于Vulkan的方向,我们获得了一些非常积极的反馈 我们还有另外两个重要的公告 Kronos集团多年来一直在进行OpenGL开发用于图形 但我们也做了OpenCL用于计算,OpenCL是一种并行异构编程框架 所以如果你有多核CPU或大量GPU,DSP和其他类型的处理器,你可以使用OpenCL进行编程 我们宣布了新版本,即OpenCL 2.1 其中的重点是OpenCL现在可以使用C++而不仅仅是C来编写内核代码,您可以在所有这些不同的处理器上进行分发 最后但同样重要的是,从编程语言生态系统的角度来看,一种名为标准可移植中间表示的新版本,听起来很奇怪 它被称为SPIR,我们在SPIR系列中有一个名为SPIR-V的新版本 这是一种中间表示,用于表示图形的着色器程序和计算的内核程序,它允许许多不同的编程语言针对SPIR进行目标编程,然后可以在许多不同的硬件上运行SPIR代码 这实际上是一种非常强大但极客的标准,使开发者以一种强大而灵活的方式编写程序,并通过许多不同的供应商硬件运行 实际上相当基本 是的 你提到它是最重要的 那么它使你能够做些什么以前不能做的事情呢?为什么你认为它那么重要呢?好吧 SPIR实际上同时被OpenCL 2.1和Vulkan使用 在这三个公告中,它处在中间地位 它连接了两者 例如,在较旧的API中,Open GL即旧版的API,在虚拟现实社区中被许多人所熟知和喜爱的 驱动程序必须接受您的着色器程序的源代码,并且Open GL使用一种称为GLSL的语言,它与C类似 因此,驱动程序必须接受该源代码,在应用程序运行时编译它,然后执行它 现在有了Vulkan,我们有机会使用SPIR-V 所以驱动程序变得简单得多,因为SPIR-V是一种更低级的语言 它被设计为编译器目标和输入格式 因此,我们不需要一个完整的C或C++编译器的前端,只需引入SPIR代码并执行它 这对开发者有很多好处 他们不必再次发送着色器的源代码,这在过去常常是一个大问题,因为通常着色器中存在着大量的知识产权 他们不再需要这样做 他们甚至可以在不同的硬件供应商之间使用相同的前端,因此程序运行得更加可靠 Vulcan在很大程度上利用了SPIR 因此,您如何看待所有这些不同公司、组织、硬件和软件供应商之间的基础架构、开放标准类型的合作和协作?通过这种合作,这个新的Vulkan公告如何适应并融入虚拟现实呢?对 虚拟现实是一个非常有趣的领域,正如您知道的那样,许多不同的部分需要共同合作,以便无缝地创建引人注目的虚拟现实体验 在Kronos,我们非常幸运,有120个公司,从谷歌、苹果和英特尔,一直到个体开发者都在一起解决一些互操作性问题和一些对虚拟现实至关重要的问题,Oculus是其中之一的成员,等等 具体来说,我们为驱动图形管道的API进行开发工作,虚拟现实将对我们如何驱动像素到屏幕上产生根本性影响,低延迟是最明显的,但更高的质量、更快的性能是常常在非常高分辨率的显示器上产生引人注目体验所必需的 是的,这些虚拟现实体验需要的像素能力实际上没有上限 所以我们需要从虚拟现实显示供应商那里获取反馈,问他们如何才能为显示器生成像素?如何最大程度地减少延迟?实际上导致用户最痛苦的质量问题是什么?我们应该如何解决这些问题?然后,Kronos是所有GPU供应商一起与Oculus和软件开发者等公司一起解决这些问题的地方,以此推动图形管线以及GPU的构建和图形管线的体系结构,从而真正满足VR应用的需求,而不仅仅是在平面电视屏幕上观看应用程序 是的,在您展示的幻灯片中,您提到了专有平台与开放标准之间的一种有趣的关系,您可以通过一个二进制文件在所有平台上运行,而不管您的硬件或软件是什么,它都可以正常工作 所以这是梦想和愿景 当然,我们实际上处于一种更加分散的状态,例如Mac,Windows和Linux 但是,当您看到这些类型的标准时,也许您可以就平台与开放标准之间的这种关系,进行一点高层次的讨论 是的,你知道的,终究每个人,当然,都是为了让他们的股东获得利润 这是根本驱动力 所以每个人总是不断地并理所当然地寻找正确的方式来做到这一点 所以这绝对不是针对特定供应商的讨论,它只是宇宙的一般规律 创造平台的人显然希望为他们的平台带来价值和粘性的应用程序,以便与竞争对手区分开来,但独立供应商,比如独立硬件供应商,比如卖GPU或图形板的人,或者独立软件供应商,比如开发应用程序或驱动程序或工具的人 他们希望能够在最大数量的平台上销售他们的产品,并且在市场上最小摩擦的情况下增加市场份额 因此,平台供应商和供应商之间存在一种动态张力,希望平台供应商更具专有性,而供应商希望事情更加开放和更加可移植 我们最终停留在两者之间的拉格朗日平衡点,并且会来回摆动,这取决于当天市场的动态 但是,我认为在这样的环境中,标准的演进方式非常有趣 我的意思是,开放标准肯定将在VR中发挥关键作用,因为有许多需要共同合作的方面,标准将是以一种合理的成本和对大众可访问的方式让所有东西共同发挥作用的唯一明智方式 我们只需要能够一起努力创造标准,但不能过早地这样做 就我个人而言,我认为过去一些标准常犯的一个错误是他们试图在行业真正知道在大规模市场上他们想以廉价、自带消费者友好的方式做什么之前就介入 你需要经历一段试验时期,我称之为混乱时期 现在,人们有很多达尔文主义机制,尝试许多不同的技术,许多不同的VR体验的提供方式 其中一些会失败 我们会找到正确的做事方式 在达尔文式的阶段,可能会有多种做事方式 一旦变得清晰,并且整个行业看上去说 好了,这就是消费者想要的方向,这是行之有效的方式 但天哪,我们有这么多的供应商他们彼此无法对话 现在这变成了一个真正的问题,这些东西无法相互合作 现在我们基本知道我们想要做什么,这是推出真正的标准的完美时机,因为那些不再添加任何价值的摩擦点已经消失了 没有人真正从这些痛苦点上获益,这时候我们需要标准 而且我认为,只有在人们将标准的需要纳入考虑范围时,标准才会被行业接受,因为人们不会因此失去他们的专有优势,而是因为他们不在该行业的合作伙伴关系中而使自己放慢了速度 因此,搜索已经开始,而且在许多情况下,我们可能仍然处于混乱时期,需要人们在没有任何阻碍的情况下进行试验 然后很快,我认为会出现一些痛点,这不仅仅是一个大的标准,它将是一个由许多小的互操作性标准组成的星座,使虚拟现实成为现实 注意:在多个虚拟现实公司和组织间进行合作,以及硬件和软件供应商之间进行合作,有时会引发一些紧张关系,因为他们希望该标准尽可能具备兼容性,但在此过程中可能产生一些妥协 是的,那实际上是个非常好的观点 根据我们的经验,我们发现当一个开放标准有一个真正好的有竞争力的专有竞争者时,事实上效果最好 因为倾向于做某些事情的第一个平台,现实情况是它会在自己的平台上创造事物的事实标准,尤其是如果它是一个强大的平台,您提到的Windows d x 12和Windows,显然Windows是一个非常重要的平台,而DX 12是一个非常好的API,它将成为一个非常好的API,并且显然会在Windows上使用,并且我们可以将Vulkan视为DX 12的竞争对手,但我认为这实际上是一个积极的动态 事情不会前进的,您能说我相信达尔文主义吗?除非市场上有竞争 并且DX 12和Vulkan希望能够建立一个长期而愉快的竞争关系,这对两者都有好处,并且不同的开发人员将找到不同的API和不同的解决方案,以满足他们特定的业务需求 如果我只是在Windows 10上工作的开发人员,不想去其他任何地方,那么从DX 12的优势来看 它与平台紧密集成在一起 它来自平台供应商 他们可以按照自己的意愿在其平台上进行调整 但对于那些他们的商业模式意味着他们需要在许多不同的平台上发货,并且他们不希望在每次都必须重新编写应用程序时,可能开放标准的非专有API可能是更好的解决方案这两个品牌都存在于市场上,对于开发者来说有选择权是件好事。在您的演讲中,您展示了一张幻灯片,显示了与Cronos Group合作的120多家公司的许多不同的标志。微软是Cronos Group的一部分吗?还有其他一些大公司也是Cronos Group的一员吗?

不,事实上,微软是Cronos Group的成员,他们最近加入了Cronos Group,我们对他们的加入非常欢迎。合作非常重要,但是每个Cronos成员都不必参与每个工作组,他们可以选择参与哪个工作组。微软公开表示,他们主要是为了WebGL标准才加入Cronos Group,至少是最初的原因。看到Internet Explorer采用WebGL真是太好了,这样我们就在各个地方都有WebGL了。而且,事实上,这对于虚拟现实来说也是非常重要的,通过浏览器提供虚拟现实实际上是一种非常强大的方式。但是,是的,如果在某个时刻,我不能代表微软说话,我不知道他们的计划是什么。但是如果他们想参与其他核心标准,当然,他们也是非常受欢迎的。

我曾与Chrome的WebVR项目的Brandon Jones交谈,他提到了一个有趣的观点,Kronos Group是所有硬件和软件供应商的共同标准组织,对于Web来说,w3c和其他标准组织正在决定Web的标准化和组织方式,让WebVR陷入了中间地带。您认为哪个标准组织对于WebVR的未来起着最合理的引领作用?

理想情况下,标准机构不应该发号施令,它们是行业来解决自己问题的地方。标准机构通常被误解为位于云端的一个主导机构,他们向下传递着标准。不,标准机构并不是那样。Kronos就是我们自己,Kronos就是整个行业,Kronos只是试图成为一个安全合作的地方,让行业汇聚在一起。至于WebVR的标准机构,这确实是一个有趣的问题,w3c是与Web相关的主要标准机构。那么为什么WebGL会进入Kronos Group呢?这不是Kronos的抢权行为,我认为从最后来看,这是个合理的选择。因为WebGL在Web标准中是一个非常有趣的组成部分,它与GPU的关联性最为紧密,它不是一个典型的Web标准,它比较底层,可以在JavaScript中直接访问GPU,而像CSS这样的典型Web标准会故意隐藏任何细节,提供页面布局格式,而WebGL通过JavaScript使你可以直接访问GPU。不过,WebGL的使用还是很有意义的。虽然很多人并不直接使用WebGL,他们会使用像Three.js这样的JavaScript中间件包,实际上80%的WebGL内容使用的是Three.js,还有很多其他很棒的JavaScript中间件。但是通过提供这个基础,你就可以在JavaScript语言中实现一个功能丰富多样的中间件生态系统。实际上,这是一个有趣的动态。或许Web中的其他靠近硬件的领域也会做类似的事情。但是由于WebGL做了这些,它的底层性质更接近硬件,定义和发展WebGL的主要挑战是确保它能在所有不同的硬件供应商中正常工作。所以,哪里是做到这一点的最佳地方呢?当然是把所有硬件供应商都集中在一起的地方,那就是Kronos Group。这就是为什么它最终进入了Kronos Group的原因。所以,如果我没理解错的话,下一个OpenGL的版本被称为Vulkan,而OpenGL的最初版本是由Mozilla的Vlad转化为WebGL的,现在WebGL 2正在发布。WebGL 2是基于最新的Vulkan标准的对吗?

是的,从技术层面上说,WebGL实际上是在将OpenGL ES带入JavaScript环境。WebGL 1基本上是OpenGL ES 2,所以这里有些奇怪的编号问题,但有一个很好的原因,因为OpenGL ES是更大型的桌面OpenGL的移动版本。为了使WebGL成功,它需要利用到每个地方都普遍存在的功能,而不仅仅是桌面系统,还包括移动设备,因为WebGL在移动设备上与在桌面上的重要性相同。在过去的10年里,OpenGL ES已经成为移动设备和桌面的3D图像的事实上的标准。如果你有OpenGL ES的普及版本,你知道它将无处不在。因此,当WebGL项目启动时,OpenGL ES 2是唯一一个在所有地方都能运行的版本。而WebGL 2将基于OpenGL ES 3,因为OpenGL ES 3现在正在到处普及。因此,WebGL能够将自己提升到OpenGL ES 3的高度,提供更多的功能。因此,存在着一个自然的延迟,因为这是一个过程。Kronos创建一个规范,然后硬件供应商必须将其实施,然后它必须被证明在市场上可行,然后WebGL才能将其暴露给Web社区。我们希望这个过程能够尽快进行,我们有动力使这个过程尽快进行,但是这是一个需要经历一系列步骤的过程。WebGL不能只说“噢,我们能够做到所有这些”,而实际上无处运行。这不是Web的工作方式。Vulkan现在在很多方面上是Open GL的继任者,尽管Open GL和Open GL ES也将继续发展。所以我认为WebGL还有很大的发展空间。我们现在开始公开暴露Vulkan的细节,这是个有趣的讨论,行业可以探讨Vulkan的哪些功能是需要在WebGL中暴露出来的。我不认为我们会有一个Web Vulkan,你知道,WebGL是自己的命运掌握者,它可以根据自己的功能需求进行发展,它可以基于OpenGL、DirectX和Vulkan等进行发展。我们将看到Vulkan功能的多少是Web所需要和适合的。现在WebGL工作组包括所有的浏览器供应商,他们是最能决定这个问题的人,他们是每天与开发者沟通的人。

我想任何当过Web开发者的人都知道以前关于标准的那种痛苦,因为不同浏览器的实现不尽相同。这一点正越来越好,但是您提到了一个问题,您提供了规范,但是各个供应商实际上要自己实现这个规范。那么,在Kronos Group的情况下为什么允许他们这么做是很重要的呢?因为这可能会导致很多调试的问题。对于可靠性的实现,标准组织是一个非常重要的推动者。一个工具,许多人都在使用,是符合性测试。我们实际上创建的产品不仅仅是一份规格说明,比如Vulkan规范或Open GL规范,还有相应的符合性测试。这个过程的工作方式是,有人拿到规范,并进行实施,在他们的硬件上通过符合性测试,经过验证的实施之后,才可以使用那个商标,直到他们通过与规范一起的符合性测试,他们才能称之为Vulkan或者Open GL。这个过程非常重要,没有这个过程,只有规范本身是没有意义的,因为人们将以各种方式实施它,即使他们试图这样做,有时候这些实施会存在一些模糊,你需要越过这个门槛。过去我们是否做得足够好?不一定。我们希望我们在Vulkan方面能够做得更好。我们正在与Vulkan一起努力工作,我们要做的一件事是从WebGL中学习。WebGL是第一个设定这个目标的核心规格。我们打算将符合性测试置于开源中。在以前的OpenGL和OpenGL ES版本中,所有的Kronos成员都可以参与符合性测试,但它只是在Kronos成员内部,而WebGL在对外开放其符合性测试之后,我们得到了很多积极的社区参与,并且我们显著增加了覆盖范围。从事现场应用开发的人们告诉我们,“噢,这两个供应商在这个方面从不一样。”他们可以编写测试,参与到这个符合性测试中,然后根据适当的审核,这些测试可以成为官方的符合性测试。这意味着供应商必须修复这个问题,使其符合要求,以直接影响开发者发现的问题的解决方案。您在演讲中提到了一些关于标准的误解,您想对这些标准的常见误解进行反驳吗?

是的,首先是关于标准过于缓慢的误解。VR市场的发展很快,一个标准机构如何跟得上呢?有趣的是,对于一个单个公司来说,编写一份规范并将其推出可能比一群公司一起讨论和循环迭代规范要快。但是关键是,对于市场而言,不仅仅是时间要制定一份人们可以阅读的规范,而是要形成一个生态系统。时间是用于构建生态系统的关键因素,这意味着不仅仅是规范,还需要多家可靠实施,因为我们有符合性测试,并且它已经得到了不同角度的多方面产品。它确实得到了多个供应商的采用和使用。如果要实现快速的生态系统,好好组织的标准机构是最好的方式之一。另一个是关于参与开放标准的话,就会失去所有的知识产权的误解,因为你不得不放弃你的知识产权并把它提供给所有的竞争对手。为什么我要这样做呢?实际上,在不只是Kronos Group,实际上任何一个有效的现代标准组织都会有一个知识产权框架,即所有成员签署并同意的协议。他们的知识产权得到了非常强有力的保护,但规范也同样得到了保护。Kronos的规范非常简单,只有几页,但本质上,所有参与创建Vulkan等规范的成员都同意,如果其他人创建一个符合Vulkan实现,其他成员不会因此而起诉他们。非常简单,它是一种非常狭义的许可,所有成员的知识产权并没有消失,它仍然属于他们自己。你刚刚授予了这个非常具体而狭窄的许可证,你知道它对该行业是有益的。在虚拟现实领域,当涉及硬件时,有一件事情我注意到,就是GPU直接连接到HMD,AMD与Liquid VR以及Nvidia都有自己的VR直通功能。这是否属于Kronos组织的职权范围?还是说这是与VR无关的独立功能?不,这是一个很好的问题。我认为这可以归为两个方面,比如VR直通。有些类似的事情,如你所说的减少延迟,NVIDIA所做的也只是隐藏在驱动程序之下。现在,我们有机会在我们的标准驱动程序中减少一些延迟,这将应用到所有NVIDIA的GPU上。应用开发者不需要做任何事情。这是免费提供的,仅仅是NVIDIA内部的实现方式。但显然对VR有很大的价值。其他的一些功能将成为开发者使用的工具。比如打开不同的质量模式,是在GPU内部实现的,但开发者需要选择他们在特定显示器和特定应用中想要打开的模式。还有像开发者如何选择生成三维视觉等,他们需要有选择和控制的能力。这些方面需要在API中提供支持,使开发者能够使用这些功能,因为开发者需要有意识地使用它们。所以我认为在接下来的一两年中,我期望从VR社区会有很多反馈,要求我们在Vulkan和OpenGL中加入这些功能,而Kronos将是一个很好的实现地点。比如Oculus已经开始提出一些建议。最后,也许你可以评论一下你如何看待虚拟现实如何改变所有这些技术行业,推动性能的提升,并且你认为这个技术的最终潜力是什么,它可以实现什么样的功能?嗯,如果VR的承诺能够实现,它将影响许多不同的行业。如果能够实现“存在感”和更强的沉浸感,那么将会出现许多不同的市场机会,并且许多现有的市场将发生根本性的变化。现在,虚拟现实已经是第三次出现,但有趣的是,这一次有更多的技术基础。我同意Mike Haybrech的观点,我认为我们现在已经能做到足够好了,足够能做到有用的东西,我们将能够做到一些引人入胜的事情。然而,在许多情况下,可能是工业领域的应用先行。我们大家都想要在我们的客厅体验虚拟现实,我们最终会实现这一点,我相信我们会实现。但在许多情况下,工业领域的应用案例更直接关系到金钱。只要在工业或企业环境中能够节约成本或增加收入,就不再重要,即使它在消费者市场还有些粗糙,尚未完全准备就绪,只要能实现这些技术在我妈妈使用前的平滑和完善,那么我认为虚拟现实将产生根本性的影响。我认为我们已经足够做一些有趣的事情了。实际上,首先发展的将是企业应用,然后消费者市场在接下来的几年内会逐渐上线。非常好,非常感谢。好的,不用客气,谢谢。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注