卡马克在光线追踪,id tech6,射线跟踪,控制台,物理学等的谈话 第一部分

原文地址https://www.pcper.com/reviews/Graphics-Cards/John-Carmack-id-Tech-6-Ray-Tracing-Consoles-Physics-and-more

卡马克在光线追踪,id tech6上面的研究,我觉得对于理解id tech5,id tech6有所帮助,

使用了翻译软件 ,再加上个人纠正的方式,水平有限,翻译有错误,

John Carmack 谈论

id tech6,光线跟踪,控制台,物理学等等
作者: Ryan Shrout
日期: 2008年3月12日
光线追踪超过渲染

约翰·卡马克(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:不,镶嵌已经是程序内容一代的一个,那里已经是五代,
我们一直在告诉我们这将是下一件大事情,事情并非如此。
我可以进行长时间的讨论,了解为什么这种类型的数据放大不如一般数据压缩那样好,
为您提供真正需要的数据。但我不认为这是世界的打击者。
我的意思当然可以用传统几何与镶嵌引擎的位移图进行有趣的事情,
但是你有很多缝合问题,编辑架构并不那么明显。
我们想要的是你可以像你想要的一样持续地雕刻世界,而不用依赖几何
混合渲染,图形API和移动光线跟踪
PCPER:根据您使用光线跟踪的新数据结构方法,
您可以将其与目前的混合渲染的光栅化方法相结合吗?

CARMACK:我看到英特尔的引用对混合方式没有意义,我不同意。

我认为,如果你基本上有一个例程,

那么ray会在稀疏体素八叉树中跟踪屏幕的这个区域,

那么它将会吐出碎片,那么它将会在那里有一个深度值,(此处翻译可能有误!)

你可以与其他任何东西混合。

即使您对传统架构的光线跟踪,您仍然希望在其中有一个片段程序,

它几乎完全像我们现在的片段程序一样。

我无法想象要做一些没有这样的后端的东西。

我的意思是你甚至可能有顶点处理器 - 英特尔现在正在做的事情,射线跟踪几何,

 很可能你最终想要能够运行那里的三角形,

你是通过顶点和片段处理器进行射线跟踪,

而你只是获得了射线追踪刺的重心坐标。

你必须知道你打了什么,然后你必须知道你想在那里做什么。

你还需要另外一些将附加光线从那里发出的能力作为额外的元素。


 

很可能,如果我的小数据结构方向摆脱,
你可能仍然希望使用传统的动画方法来处理 皮肤 和  骨头。
虽然您可以继续使用角色的 体素方法,
使用角色周围的折射骨骼,您可以做动画,但是您可能不想要,
因为我们可以使现有的东西看起来非常好的角色,
如果一切都继续没有我们做任何你可能想要传统的角色,得到10倍快。

但是,如果你可以用这种令人难以置信的细节水平来完成世界和绝大多数的静态对象,

那么你可以用稀疏体素八叉树方法来获得,

这似乎是一个完全合理的混合方式。 

现在有一些方面的混合和匹配工作不好。
真正能够通过光线跟踪直接解决阴影问题是很好的。
你可以在一个完全光线跟踪的世界中做到这一点,
你只需将阴影光线发出来,抖动它们,
并做好所有可以很好地解决混叠问题的好东西。
但是,如果您通过硬件剥皮光栅化字符,
则体素光线跟踪器将找不到与字符的任何交集,并且它们不会投射任何阴影。
所以有这样的一面,
但是我想要从光线追踪中得到的东西并不是很多,
它被认为是传统的光线跟踪的好处:完美的阴影 - 阴影将是很好的解决,
但我们可以没有生活那就像折射和多镜子反弹。那些并不重要,
我们在世界各地都有证据,因为在人们制作生产效果图的现实世界中,
即使电影预算几乎拥有无限的资源,很少有光线跟踪。
有壮观的离线射线追踪器,但即使你有制造公司有房间和服务器的房间,
他们选择不经常使用光线跟踪,因为在绝大多数情况下,
没关系。他们正在努力做什么都不重要,这不值得额外的费用。
这将在下一代游戏硬件模型中保持相当的相似性。
很少的是光线跟踪。有壮观的离线射线追踪器,
但即使你有制造公司有房间和服务器的房间,他们选择不经常使用光线跟踪,
因为在绝大多数情况下,没关系。
他们正在努力做什么都不重要,
这不值得额外的费用。这将在下一代游戏硬件模型中保持相当的相似性。
很少的是光线跟踪。有壮观的离线射线追踪器,
但即使你有制造公司有房间和服务器的房间,他们选择不经常使用光线跟踪,
因为在绝大多数情况下,没关系。他们正在努力做什么都不重要,
这不值得额外的费用。
这将在下一代游戏硬件模型中保持相当的相似性。

我真正想离开光线跟踪的是这个无限几何,更多的是由数据结构驱动,

你必须使用光线跟踪来访问,而不是你弹奏 这些多个光线的事实。(此处翻译也有问题)

我可以用这个下一代做一些事情,我希望它可以这样摆放 -

我们可能没有依赖光线,可能只是使用光线跟踪来解决几何问题。

那么您也可以通过将所有样本中心的抖动放在一起,来解决混叠问题,

这些中心是我一直在将其集成到当前的光栅化方法中的。

它在光线跟踪方法中如何做到这一点显而易见; 你抖动所有的样本,

你有一些依赖,细化的方法在那里。 


 

我认为,我们可以完全忽视传统的光线跟踪演示,
“看看这些闪亮的反光曲面,使三个反弹,你可以仰视自己”,
可以有很大的好处。这很整洁,
但这是一个神器着色器,您可以看到游戏中1%的时间的十分之一。
你可以做一个非常好的黑客攻击,只是用一堆环境地图效果。
这是不对的,但它会看起来很酷,这就是所有真正重要的,
当你在看这样的事情。
我们在这里没有进行轻型运输 模拟,(此处或许也有翻译问题!)
我们正在做一些应该看起来不错的东西。

PCPER:那么目前的发电控制台和PC显卡是不是能够

运行这种 新型 稀疏体素 八叉树 技术呢?

而且,您认为为下一代硬件增加支持的供应商会牺牲光栅化的任何速度或优势吗?

卡马克:对,根本不是。你一定可以做(稀疏体素八叉树),
但它不会有竞争力。
您可以生成的像素数量将少于您可以使用光栅化方法的十分之一。
但希望是在下一代我们可能会有技术。  

无论谁做了什么,下一代将会像光栅化一样真的很好,
这是一个预定的结论。
英特尔正在花费大量精力确保Larrabee是一个竞争激烈的光栅化器。
这将是球场的竞争力,我们将看到事情如何运转,
但是2加或减的因素是最有可能的。
但是一切都将是一个好的光栅化器。我们应该有足够的通用计算能力,
也可以做一些这些其他新颖的架构,而每个人都认为这将是伟大的,
我必须重申,没有人实际上显示出如何将是伟大的。 

PCPER:你认为DirectX或OpenGL将不得不修改为此?

CARMACK:它们在通用计算环境中几乎无关紧要。

他们清楚地是基于光栅化的API及其遗产,

但是在编程中还有很多可以听到的空间。

几乎任何您要求的问题都可以分解成这些数据平行的方法,

而不是像我们在限制我们可以用基于光栅化的图形做什么。

但是当你得到这些通用计算机的时候,

它们将会像你编程的东西看起来像是不同的环境。

它可能看起来像CUDA或Larrabee,你可以将它们编程为一堆与SIMD单元不同的计算机。

PCPER:Intel最近在UMPC上展示了Q4:Ray Traced引擎时,

已经讨论了光线跟踪与硬件扩展的能力。

你对这个可能的优势有什么想法?

CARMACK:作为一名移动开发人员和高端控制台开发人员,
这是一个荒谬的论据。 

PCPER:光栅化可以轻松扩展?

卡马克:是的。将光线跟踪移动到移动平台上的想法根本没有任何意义。 

PCPER:你对英特尔购买Havok和Project Offset有什么想法?

一个理论是,英特尔将要作为演示或销售的游戏引擎。

你认为这是他们希望在如前所述的“展现胜利”的能力上吗?

CARMACK:这就是他们要做的,这一直是我对英特尔的争论,而在其他公司也是这样。传播你的技术的最好方法是向别人展示一些东西。
为了表现出一个存在的证明,在一切工作方面,要吃自己的狗粮。(此处翻译可能有误!!)
而不是告诉大家,你应该能够做到这一点,伟大的事情,
正确的做法是让他们生产一些壮观的东西,然后说“所有人都希望这里的代码”。
这是领导任何人的最佳方法; 这是例子。
他们会直接在那里学习一切的利弊,我非常赞同他们的方向。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值