卡马克在光线追踪,id tech6上面的研究,我觉得对于理解id tech5,id tech6有所帮助,
使用了翻译软件 ,再加上个人纠正的方式,水平有限,翻译有错误,
John Carmack 谈论
id tech6,光线跟踪,控制台,物理学等等光线追踪超过渲染
约翰·卡马克(John Carmack)坐下来与我们谈谈目前的图形世界,
包括所有关于英特尔和光线跟踪的讨论,
下面引用了Tech 5 / Rage以及多GPU世界如何平移,
下面引用了什么ID。
近几个月来,关于光线跟踪,加速物理和多GPU配置在PC和控制台游戏的未来的角色
已经进行了大量的讨论。
在PC Perspective,我们从这个主题 听到很多 次我们的许多读者以及网络上的评论
都要求开发人员提供反馈。
这是有道理的 -
这些人正在花钱和时间开发游戏,在下一代架构上 销售,
所以肯定他们的意见将更多地基于现实,而不是硬件公司试图推动他们的技术优势。
考虑到这一点,我们花了一些时间与约翰·卡马克(John Carmack)谈话,
约翰·卡马克(John Carmack)是以Wolfenstein,Doom,Quake以及各种引擎驱动 的知名软件。
关于英特尔光线跟踪计划的简单问答开始就是讨论游戏硬件(PC和控制台)的未来,
可能的未来渲染技术,多GPU和多核CPU系统的软件方法,
甚至可能的洞察力 进入ID Tech 6,
约翰与我们讨论的信息非常深入,您可能希望阻止一些时间来完全消化数据。
您可能还想刷新您对八叉树和体素的了解。
另外请注意,在某些地区,本文的语言可能看起来不像您预期??的那样精简,
因为我们正在使用录制对话的 转录。
PC视角:让我们刚刚进入手头的问题。
当前的光线跟踪参数在PC透视图中有几个不同的文章,您对此有什么看法?
你是否在做光线跟踪工作?
约翰·卡马克(John Carmack):我在这场比赛中有我自己的个人兴趣爱好,
对现在的情况有一些相当坚定的看法。
我认为在经典意义上的光线跟踪,具有常规定义的几何的分析相交的光线,
无论是 三角形网格 还是 更高阶的 原始图像,我并不十分看好 接管 主要 渲染任务,
这主要是英特尔推动的。(Ed:关于英特尔研究的信息在这里。)
从性能的角度来看,栅格化有很大的优势,
他们争论的许多事情就是使用有效的剔除技术来避免引用 很多 几何,
那些是真正的虚伪论据,
因为您可以使用遮挡查询和带有光栅化的条件渲染来执行类似的操作。
头对头光栅化仅仅是您可用的任何晶体管的一个更有效的使用。
但是,我认为在采用特定数据结构的光线跟踪架构的下一代技术方面,
存在非常强的可能性。
而不是像每个人都使用三角形,而是跟踪他们的光线,真的很贵。
有一种具体的格式,我已经做了一些研究,
我开始为下一代技术的概念工作提供了一些补充。
它涉及 射线跟踪 到 稀疏体素八叉树,
这本质上是我们今天正在做的唯一纹理整个世界的大型纹理技术的几何演化。
很明显,下一代我们想做的是具有独特的几何体,相当于所有的纹理。
有不同的方法,你可以结束,并尝试完成这将涉及镶嵌和不同级别的三角形网格,
你可以想像会做这样的工作,但光栅化架构真的开始分崩离析,
当你的典型三角形尺寸较小比一个像素。
在这一点上,您真的已经失去了光栅化的好处。
不一定是所有这些,因为通过原始列表的线性行进仍然可以比
随机访问它们进行跟踪快得多,但胜利在那里减少。
在这一点上,您真的已经失去了光栅化的好处。
不一定是所有这些,因为通过原始列表的线性行进仍然可以
比随机访问它们进行跟踪快得多,但胜利在那里减少。
在这一点上,您真的已经失去了光栅化的好处。
不一定是所有这些,因为通过原始列表的线性行进仍然可以比
随机访问它们进行跟踪快得多,但胜利在那里减少。
在我们目前的游戏标题中,我们正在考虑在两张DVD上发货,
在开发压缩之前,我们正在开发数以千计的数据演示。
有趣的是,如果您以这种特定的稀疏体素八叉树格式来表示这些数据,
那么即使是存储2D数据以及3D几何数据的更有效的方法,
因为您没有打包和边界问题,因此它会起作用。
所以我们有很高的数字; 您以非常有效的方式存储数十亿数据的三角形。
现在与传统的光线跟踪架构有什么不同之处在于,
它是一种专门的数据结构,
您可以非常有效地将光线跟踪,
并且数据结构将为您带来一些不可能从三角形结构获得的显着优点。
当我们关注下一代技术时,我已经将这个想法推向了NVIDIA和英特尔,
而且每个人都在谈论方向。
但是这是将渲染从基于光栅化方法到射线投射方法
或任何其他方法的渲染范式转变为其中一个方面之一,
但我认为英特尔将其作为常规光线追踪器的方向不太可能赢了。
虽然你可以开始做一些看起来很有趣的实时的事情,
但它始终会是四分之一的效率,或是效率的十分之一。
英特尔当然希望通过在Larrabee和传统GPU之间拥有4倍的原始处理能力,
同时我们期待着后代是战斗可能形成的一个方面。
从开发人员的立场来看,有利弊。我们当然可以用任何一个方向来做有趣的事情。
但是从上周我刚刚就这些事情做了一些研究工作。每个人都在寻找下一代的方向,
包括控制台和最终的显卡内容,
都是“Liverabee”或“增强型CUDA”和“像这样的东西”的“处理器之海”模式,
每个人都在挥舞手中“哦,我们会做所有这些精彩的事情”,
但真正的概念证明工作的方式很少。没有人显示出像这样的演示,
在这里,这就是下一代的游戏,当我们拥有10倍的处理能力时,
实际上没有什么令人信服的,每个人都在忙于做出这样的数十亿美元的决定,
这些决定将会是什么样的5年现在在游戏世界。
我有这个想法的方向,但是每个人都可以实际制作一些这样的电子表格,
就像我们这样做,这对我来说很痛苦,
没有任何人能够准确地显示所有的奖品这将给我们。
PCPER:那么因为英特尔目前的演示是使用前两代的技术,
而不是摆脱今天的一代或两代AHEAD,那么从这个方面来看呢是没有什么兴奋的呢?
CARMACK:我不会说英特尔有什么显示,即使他们连接了一个充满电脑的整个房间,
并说“我们将能够在下一代将所有这一切都贴在你的显卡上,
”我不要以为他们已经赢了。我不认为他们已经表明人们会说“我的上帝是10倍冷”,
或者说“让我想买新的控制台”。
在研究环境中很难做到这一点,因为现在这么多的内容是媒体而不是算法。
他们一定是黑客攻击了Quake代码库,至少给他们一些不是象牙塔玩具的东西,
但是他们正在使用上一代技术的东西,并试图让它看起来像一个将要下一代技术。
你真的不能像这样的两代人间隙拉伸媒体,
所以他们被困住了。
这就是为什么我希望能够做到这一点,
并提供一些概念演示技术的证明今年。
我们正在研究我们的RAGE项目和id Tech 5代码库,
但是我一直在和所有相关人员谈论我们认为可能发生的情况,
以及我们的目标是为了技术6代。哪个可能很参与,我当然希望它涉及到,
“稀疏体素八叉树”中的光线跟踪,因为至少我认为我可以显示出真正的胜利。
我想我可以展示你今天看不到的东西,甚至在现在的独特表面细节的发展中世界。
通过追溯到具有相同密度的 完整几何细节 的额外维度,
我认为可以为技术海洋变化辩护。
PCPER:硬件变化有多么引人注目的是利用你在这里讨论的结构?
CARMACK:有趣的是,算法将会是这样的,
因为在许多情况下,这些算法在很多情况下可以很好地利用更简单的位级操作,
而且在这种32位浮点运算的硬件。
专为稀疏体素射线铸造设计的硬件将比通用解决方案小得多,更简单和更快,
但是他们正确的想法中没有人会想要这样打赌,
并希望为没有人开发内容的技术构建特定的硬件。
这个想法是,您必须拥有可以处理各种事物的通用解决方案,
并且至少能够以合适的速度对这种类型的光线跟踪操作进行必要的算法。
我认为很明显,这将在下一代出现。
事实上,几年前,我用完整的基于软件的东西来实现这一点,
这很有趣; 它与硬件可以做的并不具有竞争力,
但今年可能会使用CUDA可以把东西放在一起。
如果我能够以适度的帧速率渲染一个小窗口,
我们可以围绕一些几何复杂的稀疏体素八叉树世界,并以10 fps形成一个320x240的窗口,
并意识到在下一代硬件上进行了优化,为此做了更多的改进。
可以去那里得到1080p 60 Hz。
它与硬件可以做的并不具有竞争力,
但今年可能会使用CUDA可以把东西放在一起。
如果我能够以适度的帧速率渲染一个小窗口,
我们可以围绕一些几何复杂的稀疏体素八叉树世界,
并以10 fps形成一个320x240的窗口,并意识到在下一代硬件上进行了优化,
为此做了更多的改进。可以去那里得到1080p 60 Hz。
它与硬件可以做的并不具有竞争力,但今年可能会使用CUDA可以把东西放在一起。
如果我能够以适度的帧速率渲染一个小窗口,
我们可以围绕一些几何复杂的稀疏体素八叉树世界,
并以10 fps形成一个320x240的窗口,
并意识到在下一代硬件上进行了优化,
为此做了更多的改进。可以去那里得到1080p 60 Hz。
PCPER:AMD的镶嵌引擎是否将R600芯片放置在您正在寻找的位置?
CARMACK:我看到英特尔的引用对混合方式没有意义,我不同意。
我认为,如果你基本上有一个例程,
那么ray会在稀疏体素八叉树中跟踪屏幕的这个区域,
那么它将会吐出碎片,那么它将会在那里有一个深度值,(此处翻译可能有误!)
你可以与其他任何东西混合。
即使您对传统架构的光线跟踪,您仍然希望在其中有一个片段程序,
它几乎完全像我们现在的片段程序一样。
我无法想象要做一些没有这样的后端的东西。
我的意思是你甚至可能有顶点处理器 - 英特尔现在正在做的事情,射线跟踪几何,
很可能你最终想要能够运行那里的三角形,
你是通过顶点和片段处理器进行射线跟踪,
而你只是获得了射线追踪刺的重心坐标。
你必须知道你打了什么,然后你必须知道你想在那里做什么。
你还需要另外一些将附加光线从那里发出的能力作为额外的元素。
但是,如果你可以用这种令人难以置信的细节水平来完成世界和绝大多数的静态对象,
那么你可以用稀疏体素八叉树方法来获得,
这似乎是一个完全合理的混合方式。
我真正想离开光线跟踪的是这个无限几何,更多的是由数据结构驱动,
你必须使用光线跟踪来访问,而不是你弹奏 这些多个光线的事实。(此处翻译也有问题)
我可以用这个下一代做一些事情,我希望它可以这样摆放 -
我们可能没有依赖光线,可能只是使用光线跟踪来解决几何问题。
那么您也可以通过将所有样本中心的抖动放在一起,来解决混叠问题,
这些中心是我一直在将其集成到当前的光栅化方法中的。
它在光线跟踪方法中如何做到这一点显而易见; 你抖动所有的样本,
你有一些依赖,细化的方法在那里。
PCPER:那么目前的发电控制台和PC显卡是不是能够
运行这种 新型 稀疏体素 八叉树 技术呢?
而且,您认为为下一代硬件增加支持的供应商会牺牲光栅化的任何速度或优势吗?
PCPER:你认为DirectX或OpenGL将不得不修改为此?
CARMACK:它们在通用计算环境中几乎无关紧要。
他们清楚地是基于光栅化的API及其遗产,
但是在编程中还有很多可以听到的空间。
几乎任何您要求的问题都可以分解成这些数据平行的方法,
而不是像我们在限制我们可以用基于光栅化的图形做什么。
但是当你得到这些通用计算机的时候,
它们将会像你编程的东西看起来像是不同的环境。
它可能看起来像CUDA或Larrabee,你可以将它们编程为一堆与SIMD单元不同的计算机。
PCPER:Intel最近在UMPC上展示了Q4:Ray Traced引擎时,
已经讨论了光线跟踪与硬件扩展的能力。
你对这个可能的优势有什么想法?
PCPER:光栅化可以轻松扩展?
PCPER:你对英特尔购买Havok和Project Offset有什么想法?
一个理论是,英特尔将要作为演示或销售的游戏引擎。
你认为这是他们希望在如前所述的“展现胜利”的能力上吗?