原文地址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是以WolfensteinDoomQuake以及各种引擎驱动 的知名软件。关于英特尔光线跟踪计划的简单问答开始就是讨论游戏硬件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。这将是使每个人都睡得更好的理由这将有一些胜利。PCPERAMD的镶嵌引擎是否将R600芯片放置在您正在寻找的位置CARMACK不镶嵌已经是程序内容一代的一个那里已经是五代我们一直在告诉我们这将是下一件大事情事情并非如此。我可以进行长时间的讨论了解为什么这种类型的数据放大不如一般数据压缩那样好为您提供真正需要的数据。但我不认为这是世界的打击者。我的意思当然可以用传统几何与镶嵌引擎的位移图进行有趣的事情但是你有很多缝合问题编辑架构并不那么明显。我们想要的是你可以像你想要的一样持续地雕刻世界而不用依赖几何混合渲染图形API和移动光线跟踪PCPER根据您使用光线跟踪的新数据结构方法您可以将其与目前的混合渲染的光栅化方法相结合吗CARMACK我看到英特尔的引用对混合方式没有意义我不同意。我认为如果你基本上有一个例程那么ray会在稀疏体素八叉树中跟踪屏幕的这个区域那么它将会吐出碎片那么它将会在那里有一个深度值此处翻译可能有误你可以与其他任何东西混合。即使您对传统架构的光线跟踪您仍然希望在其中有一个片段程序它几乎完全像我们现在的片段程序一样。我无法想象要做一些没有这样的后端的东西。我的意思是你甚至可能有顶点处理器 - 英特尔现在正在做的事情射线跟踪几何很可能你最终想要能够运行那里的三角形你是通过顶点和片段处理器进行射线跟踪而你只是获得了射线追踪刺的重心坐标。你必须知道你打了什么然后你必须知道你想在那里做什么。你还需要另外一些将附加光线从那里发出的能力作为额外的元素。很可能如果我的小数据结构方向摆脱你可能仍然希望使用传统的动画方法来处理 皮肤 和 骨头。虽然您可以继续使用角色的 体素方法使用角色周围的折射骨骼您可以做动画但是您可能不想要因为我们可以使现有的东西看起来非常好的角色如果一切都继续没有我们做任何你可能想要传统的角色得到10倍快。但是如果你可以用这种令人难以置信的细节水平来完成世界和绝大多数的静态对象那么你可以用稀疏体素八叉树方法来获得这似乎是一个完全合理的混合方式。现在有一些方面的混合和匹配工作不好。真正能够通过光线跟踪直接解决阴影问题是很好的。你可以在一个完全光线跟踪的世界中做到这一点你只需将阴影光线发出来抖动它们并做好所有可以很好地解决混叠问题的好东西。但是如果您通过硬件剥皮光栅化字符则体素光线跟踪器将找不到与字符的任何交集并且它们不会投射任何阴影。所以有这样的一面但是我想要从光线追踪中得到的东西并不是很多它被认为是传统的光线跟踪的好处完美的阴影 - 阴影将是很好的解决但我们可以没有生活那就像折射和多镜子反弹。那些并不重要我们在世界各地都有证据因为在人们制作生产效果图的现实世界中即使电影预算几乎拥有无限的资源很少有光线跟踪。有壮观的 离线射线追踪器但即使你有制造公司有房间和服务器的房间他们选择不经常使用光线跟踪因为在绝大多数情况下没关系。他们正在努力做什么都不重要这不值得额外的费用。这将在下一代游戏硬件模型中保持相当的相似性。很少的是光线跟踪。有壮观的离线射线追踪器但即使你有制造公司有房间和服务器的房间他们选择不经常使用光线跟踪因为在绝大多数情况下没关系。他们正在努力做什么都不重要这不值得额外的费用。这将在下一代游戏硬件模型中保持相当的相似性。很少的是光线跟踪。有壮观的离线射线追踪器但即使你有制造公司有房间和服务器的房间他们选择不经常使用光线跟踪因为在绝大多数情况下没关系。他们正在努力做什么都不重要这不值得额外的费用。这将在下一代游戏硬件模型中保持相当的相似性。我真正想离开光线跟踪的是这个无限几何更多的是由数据结构驱动你必须使用光线跟踪来访问而不是你弹奏 这些多个光线的事实。此处翻译也有问题我可以用这个下一代做一些事情我希望它可以这样摆放 -我们可能没有依赖光线可能只是使用光线跟踪来解决几何问题。那么您也可以通过将所有样本中心的抖动放在一起来解决混叠问题这些中心是我一直在将其集成到当前的光栅化方法中的。它在光线跟踪方法中如何做到这一点显而易见;你抖动所有的样本你有一些依赖细化的方法在那里。我认为我们可以完全忽视传统的光线跟踪演示“看看这些闪亮的反光曲面使三个反弹你可以仰视自己”可以有很大的好处。这很整洁但这是一个神器着色器您可以看到游戏中1的时间的十分之一。你可以做一个非常好的 “游戏技巧 ”只是用一堆环境地图效果。这是不对的但它会看起来很酷这就是所有真正重要的当你在看这样的事情。我们在这里没有进行轻型运输 模拟此处或许也有翻译问题我们正在做一些应该看起来不错的东西。PCPER那么目前的发电控制台此句可能有误……和PC显卡是不是能够 运行这种 新型 稀疏体素 八叉树 技术呢而且您认为为下一代硬件增加支持的供应商会牺牲光栅化的任何速度或优势吗卡马克对根本不是。你一定可以做稀疏体素八叉树但它不会有竞争力。您可以生成的像素数量将少于您可以使用光栅化方法的十分之一。但希望是在下一代我们可能会有技术。无论谁做了什么下一代将会像光栅化一样真的很好这是一个预定的结论。英特尔正在花费大量精力确保Larrabee是一个竞争激烈的光栅化器。这将是团队 的竞争力我们将看到事情如何运转但是2加或减的因素是最有可能的。此处翻译可能有误……但是一切都将是一个好的光栅化器。我们应该有足够的通用计算能力也可以做一些这些其他新颖的架构而每个人都认为这将是伟大的我必须重申没有人实际上显示出如何将是伟大的。PCPER你认为DirectX或OpenGL将不得不修改为此CARMACK它们在通用计算环境中几乎无关紧要。他们清楚地是基于光栅化的API及其遗产但是在编程中还有很多可以听到的空间。几乎任何您要求的问题都可以分解成这些数据平行的方法而不是像我们在限制我们可以用基于光栅化的图形做什么。但是当你得到这些通用计算机的时候它们将会像你编程的东西看起来像是不同的环境。它可能看起来像CUDA或Larrabee你可以将它们编程为一堆与SIMD单元不同的计算机。PCPERIntel最近在UMPC上展示了Q4Ray Traced引擎时已经讨论了光线跟踪与硬件扩展的能力。你对这个可能的优势有什么想法CARMACK作为一名移动开发人员和高端控制台开发人员这是一个荒谬的论据。PCPER光栅化可以轻松扩展卡马克是的。将光线跟踪移动到移动平台上的想法根本没有任何意义。PCPER你对英特尔购买Havok 和Project Offset 有什么想法一个理论是英特尔将要作为演示或销售的游戏引擎。你认为这是他们希望在如前所述的“展现胜利”的能力上吗CARMACK这就是他们要做的这一直是我对英特尔的争论而在其他公司也是这样。传播你的技术的最好方法是向别人展示一些东西。为了表现出一个存在的证明在一切工作方面要吃自己的狗粮。此处翻译可能有误而不是告诉大家你应该能够做到这一点伟大的事情正确的做法是让他们生产一些壮观的东西然后说“所有人都希望这里的代码”。这是领导任何人的最佳方法; 这是例子。他们会直接在那里学习一切的利弊我非常赞同他们的方向。