id软件技术采访:DX12,Vulkan,Mega-Textures,PBR,全局照明等

来源:互联网 发布:越南工业知乎 编辑:程序博客网 时间:2024/04/30 06:38

原文地址 http://www.dsogaming.com/interviews/id-software-tech-interview-dx12-vulkan-mega-textures-pbr-global-illumination-more/

  id软件技术采访:DX12,Vulkan,Mega-Textures,PBR,全局照明等

几个星期前,我们很高兴与Id Software的Tiago Sousa和Axel Gneiting采访。我们与他们谈了一下Tech Tech 6的主要特征,它们的巨型纹理技术的发展以及所有的DirectX 12和Vulkan。跳过后享受采访!

DSOGaming:在我们开始之前,请向我们的读者介绍一下。

Tiago Sousa:我的名字是Tiago Sousa,Id Software和DOOM的Lead Renderer Programmer。在编号之前,我在Crytek工作了十多年,在CryENGINE和远程Cry和Crysis等游戏上工作。

Axel Gneiting:你好,我的名字叫Axel Gneiting,我一直在id Software工作,发动机技术大约一年。在此之前,我是在法兰克福Crytek运送Ryse的团队的一部分。在ID中,我参与了通用引擎的工作,优化了它在CPU和GPU上以60Hz运行,并且实现了大部分的Vulkan渲染器。

DSOGaming:DOOM是第一款由ID Tech 6提供的游戏,我们不得不说,我们真的很惊讶。您可以分享关于ID Tech 6的关键图形/技术功能的更多详细信息?

蒂亚戈:当然可以。除了渲染器之外,整个引擎都有相当大的重构/更新。渲染器方面,我们现在是一个混合转发和延迟渲染器,支持包括透明胶片在内的所有表面类型的动态照明,反射,阴影和贴片解决方案。

高动态范围渲染和基于物理的阴影也是比较大的介绍到idTech 6,也是艺术的 - 如果你记得以前的引擎迭代是LDR阴影发生较少。那么就有先进的后处理和反锯齿。

我想你可以说,关键的技术“功能”更多的是在所有平台上,所有的设计都能在+ 60hz的外观,性能和规模上得到很好的体现。

DSOGaming:DOOM是否使用巨型纹理?而且您如何能够克服以前的动态照明和多GPU支持的引擎限制,影响所有id Tech 5游戏?

Tiago:为了支持动态照明和提高纹理质量,我们将Mega-Textures演变为更加易于使用的更简单,性能更高的解决方案,并且美工的迭代时间也更快。添加了诸如耕种的简单功能; 还引入了一种新的动态贴花解决方案; 纹理输入现在也是先进行烘焙然后G几何缓存输入的一种形式,因此普通的PBR输入如反照率,平滑度,法线等。

对于多GPU,我们尝试尽可能地减轻帧间相依性,以帮助IHV实现相当不错的缩放。

DSOGaming:DOOM看起来很漂亮,在PC上运行非常好。你怎么能够实现这样的东西?

蒂亚戈:谢谢。不必支持100万个不同的游戏和平台,帮助团队专注于长期成果和关键事项,同时保持代码质量相当高和简约,因为遗留/代码熵较少。

幁数目是一个巨大的团队焦点,我的意思是所有的部门,而不仅仅是代码。在代码表现方面,我可以说,我们的理念是“早期优化是一切的根本”,结果说明了自己。为了幁数,我还必须相信控制台的分析工具; 这个工具可以显示PC有很多可以优化的地方。

另一个重要的细节是控制台和下层平台绑定为DX11类型的硬件,所以,不必支持非常老的硬件,以及现在的控制台有相当大量的内存,实际上有助于我们的设计选择。

对于视觉方面来说,真正的渲染性能设计和工具之间的共生关系是帮助令人惊叹的美工部门在软件实现他们的愿景。

DSOGaming:基于物理的渲染是下一个大的“图形”的事情。您能否解释为我们的高级技术读者和平均Joe使用这种渲染技术的好处?

Tiago:我最喜欢的PBR部分是它有助于执行理智/一个很好的方法,让艺术家在一个一致的事情中工作,而不是每一个艺术家随机创建纹理而不是很多物理意义。

简单来说,非PBR解决方案当然可以工作,但改变照明条件时,您将开始具有照明不一致,这不可避免地会导致艺术进入循环。例如 - 为什么在艺术家的机器上看起来不错,但是在不同的光线条件下,它看起来不是很好; 另一个例子可能是为什么附近的一些资产看起来完全不合适。

过去这些类型的不一致将为美工部门创造很多工作。回想起来,很难掌握电影和游戏行业在没有PBR的情况下如何设法工作。
话虽如此,我相信我们仍然可以改善各种不同类型的投入和案例。

总而言之,可以说主要的优点是在各种照明条件下的视觉/效果的一致性,一般来说,由于一致性,最终可以获得更好的视觉效果,而且非常重要的是它有助于节省艺术时间。

DSOGaming:ID Tech 6能够处理与DOOM相同质量的视觉效果的巨大的开放世界环境(Skyrim)吗?

蒂亚戈:引擎可以支持相对开放的世界,但这不是我们目前的idTech迭代的目标,而是所有关于DOOM的工作。

DSOGaming:您可以分享关于id Tech 6全局照明解决方案的更多技术细节?

蒂亚戈:为了最大限度地提高性能,在这次迭代中,我们不断地将预制和实时组件混合在一起,成为HDR中的所有投入。对于漫反射间接照明,我们最终使用静态几何的光照贴图。对于所有类型的动态几何,我们做了辐射体积的推导。对于间接镜面,它是一种基于图像的照明解决方案。实时组件在屏幕空间中近似于性能,我们最终使用相当快的派生屏幕空间方向闭塞/反射。

DSOGaming:如果你只需要选择一个技术6的技术特征,那会是什么呢?

蒂亚哥:很难选择,但我想这将是所有的照明/阴影如何在各种各样的表面类型中始终如一地有效地工作。与大多数事情一样,我们可以改进,但我对结果感到满意。

DSOGaming:在测试DOOM4时,我们注意到我们的GPU未被充分利用的一些场景(即使我们不是CPU或VRAM限制)。这是OpenGL API的一个限制,我们可以期望在这些场景中使用Vulkan更好的GPU利用率?



Axel:
从我们使用我们的分析工具收集的数据,我们预计GPU在GPU限制情况下可能闲置很长时间。OpenGL在这方面没有任何限制。一般来说,这是一个安全的假设,它的行为类似于DirectX 11.然而,我们将飞行中的帧数限制为只有一个,因为对于像DOOM这样非常快节奏的射手来说,延迟非常重要。与允许更多帧缓冲的引擎相比,这可能导致GPU使用量略低。如果硬件和驱动程序支持它,我们预计Vulkan可以通过运行异步计算工作负载来帮助利用剩余的空闲GPU时间。

如果这个场景受到CPU绘制的限制,Vulkan肯定会有很大的帮助。Vulkan上的DOOM也会将渲染分发到多个线程,这将有助于具有两个以上核心的CPU。请注意,仍然有游戏相关的代码,如AI,路径查找和物理,不能通过使用不同的图形API加速。

(主编:我们可以确认这个场景在Vulkan跑得更好

DSOGaming:既然您已经在DirectX和OpenGL上工作,那么您对这两种API有何看法?你认为Vulkan比DirectX 12好吗?

Axel:总体而言,我们用OpenGL开发DOOM很少有问题。DirectX 11可能在驱动程序方面优化方面有优势,多年来IVH与OpenGL相比,更加努力。此外,在这一点上,DirectX与OpenGL有更广泛的工具。另一方面,OpenGL通过扩展具有更大的功能集,并且在某些GPU操作方面的限制较少。

DirectX 12和Vulkan在概念上非常相似,从AMD的Mantle API工作中都清楚地继承了很多。这些API的低级特性将很多优化责任从驱动程序移动到应用程序开发人员,所以我们预计未来两个API之间的速度差异很大。在工具方面,RenderDoc中现在有非常好的Vulkan支持,它涵盖了我们大部分的调试需求。我们选择Vulkan,因为它允许我们支持Windows 7和8,而Windows 7和8仍然具有重要的市场份额,并且将被DirectX 12所排除。除此之外,Vulkan还有一个扩展机制,使我们能够与AMD,NVIDIA和英特尔为每个硬件做了非常具体的优化。

DSOGaming:Photogrammetry(我翻译为 摄影测量,不知正确与否)是一种在过去几年里给人留下深刻印象的技术。id Tech 6是否支持它,您对此有何看法?

蒂亚戈:这不是真正的引擎特征。摄影测量已经存在了好几十年,才是一个流行语。本质上就是将摄影作为数据采集的手段。人们可以在2006年回忆说,孤岛危机使用摄影测量法进行植被,Paralax Occlusion Mapped岩石,用于地面细节和一些其他资产。

但是,它已经不断完善。我是真实世界数据测量/采集的粉丝; 我觉得加快生产有一定的潜力。我认为一个领域,特别是针对现实的艺术方向的游戏,对我而言,一再重新设计资产并不真正有意义,那么为什么没有数据库?

从这个角度来看,如果有人会出现麻烦,我不会感到惊讶。那就是完全扫描某些场景的东西; 对于某些受限制的情况,这可能是有趣/可行的 - 当我说限制时,我的意思是由于数据存储要求的数量,对于高保真/密度/ HDR编码,有点疯狂。

那么就有人物扫描和其他类型的数据采集,这些日子真的是一个有趣的研究领域。

DSOGaming:ID Tech 6是否支持可破坏的环境?我们可以期待一个id Tech 6游戏具有与Frostbite 3游戏(如战地3或4)中发现的破坏系统相同的销毁系统?

蒂亚戈:我们支持可破坏的环境。这是我们的名单中明确的改进。我认为,特别是这些天,相当好的性能和效果可以通过几何缓存类型的解决方案大规模破坏,混合物理与较低规模的实现。

DSOGaming:Doom 3 - 由id Tech 4提供技术 - 是几乎所有光源投入动态阴影的少数几个游戏之一。这是在2004年的回归。然而,我们注意到,在较新的游戏中,很多灯光不会投下阴影。id Tech 6能够在所有光源上渲染动态阴影吗?在Tech Tech 6中可以投射动态阴影的最大光源数量是多少?

蒂亚戈:引擎实际上支持相当大量的光源,概念上> 100k,但是我们将最大限度地达到8k左右,尽管如果你使用那么多的光源,你可能做错了!阴影投射体的数量受到我们必须缓存阴影的视频存储器的限制,因此对于单个截头锥体和性能,我们将clamp(钳夹)到256个阴影脚轮灯 - 可以增加,但是在性能方面,如果您'重新使用这么多,你可能会对基于阴影贴图的方法做错了。

每帧只有很小的一部分实际上是更新的,因为成本不断地在帧上摊销,有时缓存缓存,如果没有更新在光源的平截头体。

DSOGaming:我们来谈谈Ray-tracing。id Tech 6是否支持ray-tracing?我们从视频游戏中的完全实时光线跟踪(或路径跟踪)照明系统到多远?

蒂亚戈:我们可以说,我们的动态反射是在有效/友好的空间进行实时渲染的射线跟踪近似,但它与完全成熟的光线跟踪解决方案不同。有一个有趣的说法,就像“Ray Tracing是未来,永远是”(特别是路径追踪) - 我认为这是相当复杂的游戏的长久以来,如果我们正在谈论完全的照片真实近似,特别是当前推出的4k和更广泛的分辨率。

对于较短的期限,我可以完全设想出不是非常密集/简单的环境的智能路径跟踪近似,特别是当然比以比屏幕像素密度更低的频率计算的解决方案。

DSOGaming:弹出对象是一个尚未解决的问题。虽然一些游戏具有较高的LOD水平,但每个游戏或多或少都受到影响。真正令我们困惑的是,虽然动态曲面基本上通过在飞行中改变细节水平来解决这个问题,但是没有人曾经使用过它。您对动态镶嵌有什么看法,并尝试过它以消除对象/环境弹出窗口?

Tiago:回到Crytek时代,我们确实在孤岛危机2上使用细分为某种简单资产,动态调整镶嵌比。为了概括,它实际上是一个相对复杂的问题,从资产创造开始,艺术家通常想要完全控制结果。常规的实时镶嵌(phong和这样的简单衍生物)往往会实际平滑艺术家想要控制的细节,所以只需一个简单的方法就不足以满足一般情况,特别是对于人物关闭 - 例如,如果我们从低分辨率网格很多数据将缺少一个比较好看的动画。

这就是为什么我们大多数在游戏中看到,用于视觉绒毛的镶嵌,所以更简单/可控的情况,例如环境影响,拓扑上的东西本质上是从位移/矢量位移映射(水,岩石表面,雪上的足迹等) )。

那么还有一些更根本的问题,如镶嵌有附加成本的东西,事情将不会完全正确地与流离失所的表面相互作用。例如,想象一张椅子,在一个置换的瓷砖地板上,会有剪裁。

但是,为了消除弹出窗口,实际上有很多种方法 - 如果在游戏中弹出很明显的时候,通常不会考虑到关闭技术,而不是通过二进制解决方案。

DSOGaming:非常感谢您的采访,您要与粉丝分享的最后一句话?

蒂亚戈:我只想非常感谢所有粉丝对DOOM的支持。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 大风号无法上传视频暂停服务怎么办 过了竞牌保证金交付时间怎么办 亚马逊产品上架后货物没到怎么办 工行企业网银证书过期了怎么办 海淘转运地址国家填错了怎么办 集装箱实重与申报重量不一样怎么办 微博复制的淘口令找不到了怎么办 买了移动手机不能用联通卡怎么办 移动手机用联通卡网速慢怎么办 移动手机插联通卡没反应怎么办 移动手机办了联通大王卡怎么办 qq被冻结但是有至尊宝怎么办 qq被冻结了有至尊宝怎么办 移动电话卡注销了里面的钱怎么办 罗麦的oa上经理喜报没截图怎么办 工行融e联登录密码忘了怎么办 融e借有额度秒拒怎么办 工行银行柜台办理融e借怎么办 地球末日生存破解版金币没了怎么办 手机被别人骗走了里面的微信怎么办 在微信里面被做微商的骗了钱怎么办 在qq上骗了人50怎么办 被3m多酶清洗液滴到皮肤怎么办 做3m赔了9万怎么办 在携程网上订的酒店发票怎么办 滴滴滴取消订单电话打不通怎么办 百度云容量2068g满了怎么办 淘宝电脑端描述图片间隔大怎么办 手机上下载游戏自动扣费怎么办 苹果手机下载游戏自动扣费怎么办 用手机账号登陆游戏换手机怎么办 在qq上被骗充q币怎么办 微信借钱后删了好友怎么办 财付通绑定了其它人的身份证怎么办 微信支付密码忘了没绑银行卡怎么办 微信没有绑银行卡忘记密码怎么办 威信解绑银行卡支付密码望了怎么办 买了个qq号绑定了财付通怎么办 淘宝买的东西下架了怎么办 微信红包充话费充错了怎么办 手机qq不能发红包或转账怎么办