领40元无门槛渲染券,体验高速云渲染!

无需充值可试渲,支持3ds Max,Maya,C4D,Blender,V-ray,Redshift,Arnold,Corona等主流CG软件和插件

注册领取
40元渲染券

在 GPU 上的 Keyshot 中渲染焦散
是自然界中最美丽的照明现象之一。当光通过镜面反射或从镜面反射时形成焦散。示例包括通过一杯干邑白兰地聚焦的光线、游泳池底部的微光,甚至是从窗户射入尘土飞扬的环境中的光束。 1. Keyshot 焦散介绍。图 1:光通过一杯干邑白兰地聚焦时形成焦散。这是 1995 年的早期研究图像。图 2:光通过玻璃球聚焦导致介质中的焦散。1999 年的研究图像。光子映射的工作原理是将来自光源的光子追踪到场景中,并在这些光子与场景中的表面或体积交互时存储这些光子。第二步是使用光线追踪(或路径追踪)算法渲染场景,该算法使用光子来计算焦散和其他照明元素。原始的光子映射算法可以渲染漂亮的焦散和全局照明,但它受限于可用于渲染给定场景的光子数量。图 3:漫反射平面上的反射立方体。渐进光子映射是第一个能够在一般场景中渲染全局照明和焦散的算法。为了说明这一点,图 3 显示了一个由点光源照亮的漫射平面上的简单反射立方体。如果这个立方体是使用路径追踪渲染的,它完全没有焦散,因为光从立方体反射到漫反射平面上。更高级的算法,例如双向路径追踪、都市光传输,可以在漫反射平面上渲染焦散,但这些方法都不能渲染该焦散立方体中的反射(所谓的镜面反射-漫反射-镜面反射相互作用)。目前的几个“基于物理的渲染器”只能渲染中间图像中显示的焦散,而缺乏反射的能力。图 4:渐进光子映射是第一个能够在复杂场景中渲染全局照明的算法。KeyShot从一开始就一直在使用渐进式光子贴图,并且从第一版开始,KeyShot就能够通过单击来渲染焦散。KeyShot正在使用自适应渐进光子映射的更新开发来计算复杂间接照明上的焦散。该算法非常复杂,需要复杂的数据结构来跟踪光子,并且只能在CPU上运行。 2. GPU 上的焦散速度极快。KeyShot 9是第一个充分利用 GPU 的 KeyShot 版本。RTX 技术与成熟的 CUDA 编程框架相结合,使得在 GPU 上运行所有光线追踪、光子映射、着色等成为可能。最终结果是一种焦散算法,该算法可以处理数千种灯光,快速近距离渲染高度详细的焦散,并且在新的 NVIDIA RTX Ampere GPU 上运行速度极快。图 5:来自环境的焦散和透过一杯干邑白兰地的点光源。KeyShot 10 中基于 RTX GPU 的新焦散是一款适用于任何使用透明或反光产品(如香水、珠宝、照明设计师等)的人的工具。可以说这是在GPU或CPU上显示焦散的最佳算法。KeyShot中的是一项可用于实时渲染和本地渲染的功能。它具有一键式GPU渲染模式,可在启用 NVIDIA RTX 的GPU 中利用多个GPU和专用光线追踪硬件加速的性能。如果需要,您可以在GPU和CPU之间切换,甚至可以使用一种用于渲染,一种用于工作,这会带来巨大的性能改进,并为您的场景设置、工作流程和输出提供更大的灵活性。Keyshot可以使用计算机的中央处理器 (CPU) 或图形卡 (GPU) 进行渲染。CPU和GPU在处理方式上基本相同。CPU和使用情况取决于使用需求。具体来说,在建筑行业,大多数建筑师倾向于通过CPU而不是GPU进行渲染,虽然这需要更多时间,但会产生更高质量的图像。相比之下,专门用于管理复杂、图形密集型、虚拟现实和人工智能 (AI) 创新(例如电影制作、动画和产品设计)的行业可以从GPU渲染中受益更多。因为GPU的功能要强大得多,而且与CPU技术不同,它们可以从头到尾同时处理多个内核的指令。这将使您的渲染时间至少快10倍。为了减少渲染时间,您可能会考虑投资购买多核(例如 Dual Xeon)和具有高CUDA核心数的GPU,因为GPU渲染允许您加快渲染速度。根据您计算机中的显卡数量。 3、为什么要选择使用Renderbus瑞云渲染的高配置机器租赁服务?Renderbus瑞云渲染为您提供具有强大硬件(100% 性能- 无虚拟化)的个人云计算机。这意味着只要您有稳定的互联网连接,您甚至可以在笔记本电脑上运行诸如 Cinema4D 和 Cycles4D 之类的密集型软件。拥有大量热情的员工,他们随时准备为您提供7×24小时的技术支持。每当您在使用我们的服务器或软件时遇到问题,我们Renderbus瑞云渲染技术支持团队将随时帮助您解决问题。我们相信我们提供的支持质量与我们提供的技术一样重要。我们根据您的特定需求和目标提供无与伦比的支持。您从Renderbus瑞云渲染中得到的不仅是最优质的产品,还有高安全性和最舒适的渲染时间。 总结:我们希望这篇概述能帮助您为Keyshot选择合适但高计算的配置。在,我们每天都尽最大努力为我们心爱的客户提供最好的东西。您得到的不仅仅是渲染以创建最终产品。您将获得新技术解决方案、优质服务、高安全性、功能和软件以及其他实用程序,以帮助您节省成本和时间,减轻工作压力,最重要的是,它打破了当今许多技术“艺术家”的创作极限。最后但并非最不重要的一点是,价格对用户来说是一个极其重要的因素。您可以放心,您的钱花得很值,因为~本文《整理发布,如需转载,请注明出处及链接:相关阅读推荐:
2021-07-08 10:00:44GPU渲染渲染焦散KeyShot
如何更快地渲染?深入了解3D渲染性能的指南!(6)
渲染通道和合成让我们从渲染通道开始。我们都在某种程度上使用了它们,我们在本文的AOV部分中很快介绍了它们,因为它们确实有时会降低性能。但是,通常,使用renderpass可以节省更多时间(如果使用正确)。渲染通道不仅仅用于输出一些额外的图像信息,例如深度或对象或拼图遮罩。正确使用时,可以将它们与comp组合使用。Render Engine的Beauty Pass是默认输出的标准最终RGBA图像,它是内部由多个Renderpass组成的图像,例如Diffuse Pass,GI Pass,Light Pass,Shadow Pass,AO Pass,反射,折射……可以将这些通行证相加或相乘,以重制最终的通行证。您可能已经猜到了:将其与一些Puzzle或Crypto-Mattes结合使用可以选择您的单个对象,并且您拥有一个非常强大的工具来更改comp的场景,而无需在其中重新渲染另一帧。您拍摄的3D软件。这是一个示例:您完成了以4k,60FPS的速度对一辆商用汽车进行最终渲染,该卡车具有漂亮的红色皮卡车。您花了几天时间才能完成此任务,但现在客户要求卡车为蓝色。首先想到的是:“太好了,再重新渲染整个商业广告还有5天”。但是,由于我们都知道客户和老板一直在改变什么,因此我们可以预见到这一点,并使用从头开始构建美容通道所需的所有AOV来渲染整个广告。现在您需要做的就是在漫反射中添加色相更改,然后完成。无需重新渲染!(当然,除了补偿)合成(在后期修复!)是如此强大的工具,可能性是无限的。任何物有所值的3D艺术家都可以至少进行一些合成。这使我们进入下一部分: 贴图过程中的噪点是的,即使在3D渲染引擎中,也存在使用去噪器的方法。有些具有内置的插件,例如Altus De-noise或OptiX De-noise技术,但是我不建议将其用于生产或最终渲染。相反,请在您最喜欢的合成应用程序中使用渲染过程和去噪插件。大多数时候,您的很多通行证都很好,几乎没有噪点。例如,您的弥散通行证通常干净利落。GI或Shadow Pass虽然会很吵。因此,我们要做的就是在帖子中使用降噪插件对这两个通道进行降噪(例如AE中的Neat Video De-noiser)。如果您没有时间设置渲染通道或希望减少现有渲染通道的噪点,通常还可以对美容通道应用去噪。它可以很好地工作,但通常会使某些区域的纹理变得混乱,因为消噪器实际上不知道什么是噪点,什么是纹理细节,而无需查看其他通道。后期降噪通常可以使您更快地设置3D渲染,因为您可以将噪点阈值设置得更高。知道何时在3D中做某事以及何时在邮政中做某事是我们所有人都必须学习的技能——去噪是在贴图中行之有效的一件事。 充分利用帖图/合成很多时候,您可以在合成过程中做一些事情,而这需要很长时间才能在3D场景中进行设置,并且知道什么时候这是更有效的方法,这是优秀3D艺术家的标志。尤其是当您完成对帧的最终渲染后再进行更改时,添加补丁或进行一些遮罩工作以解决较小的问题可以节省大量时间,而这些时间本可以用于重新渲染整个镜头。一些示例:如果您看到小的渲染故障,例如在框架上进行景深冲突的对象,地板上的腐蚀性故障,甚至只是颜色错误的对象,那么大多数时候您都可以遮罩并打补丁没有任何人注意到。当然,最好是没有错误的干净渲染,但是我们都可以忽略一些小的事情,这些事情在最终渲染完成后会引起注意。知道在合成渲染序列中可以做什么,即使在高调工作上,也可以让您放心。在After Effects中学习一些遮罩、旋转覆盖和跟踪,以解决较小的渲染问题。当然,您可以在comp上做更多的事情,而不仅仅是修复在渲染阶段弄乱的东西。使用适当的渲染层、对象遮罩、深度遮罩、甚至法线贴图和UV遮罩,您可以在后期进行很多操作,从而节省通常在渲染上花费的时间。利用3D摄像机从3d场景中导出的图像来设置静态背景或前景图层,从而节省了渲染根本不改变的背景和前景的时间。即使在完成渲染后,也可以使用Motion Blur插件、景深插件以及其他合成工具来更好地控制镜头的外观,而无需将这些效果永久烘焙到渲染的图像中。 使用Rendermanager对于任何严肃的3D艺术家或Creative-Agency而言,使用渲染管理器都是合乎逻辑的步骤,因为它带来了很多好处。其中的一些好处包括可以更好地控制要渲染的作业,而不必仅进行3D渲染作业。大多数现代的Rendermanager,例如Thinkbox Deadline(最多2个节点都是免费的,因此请对其进行测试驱动),支持运行各种作业,从通过视频渲染的3D渲染,粒子缓存,文件转换,图像处理到批量处理。Rendermanager可以减少您通常用于设置和检查渲染的时间,并且借助渲染自动化,您甚至可以设置渲染管道的整个过程。一个简单的例子:您必须渲染一些3D场景,之后,您在合成中刷新这些3D场景并制作图像序列进行编辑。在“编辑”中,您可以刷新这些图像序列并为老板或客户渲染预览。好吧,借助Rendermanager,您可以自动化整个过程。只需创建一个3D场景渲染完成后自动启动的comp作业即可。创建一个Editing作业,一旦这些comp-jobs完成,它将重新渲染预览。当您早上回来时,整个事情都将在您开始工作之前完成。但是,Rendermanagers还有另一件事可用于:提高渲染性能。您会看到,渲染引擎的工作原理都非常相似。按下“渲染”按钮后,渲染过程通常包括三个阶段:>1、准备要渲染的场景,以便渲染引擎可以最佳利用它>2、渲染场景(以存储桶或渐进模式)>3、将完成的渲染器和AOV保存到存储通常,第二阶段(实际的渲染阶段)占用最多的时间。在进行最终渲染并试图获得需要大量样本的无噪点图像时,尤其如此。实际渲染阶段的好处在于,它非常容易并行化,这意味着渲染引擎可以充分利用您的所有资源,CPU内核或GPU内核来运行此阶段。在第一阶段,虽然,在准备阶段,无法充分利用你的硬件,因为它是非常依赖于你的CPU的单核性能,最在这个阶段的计算只能在运行单核(或极少数核心)。这意味着您的PC的其余性能只是静静地等待着,直到该阶段完成为止,然后它才能逐渐发挥作用并充分利用其资源的全部潜力。这是在V-Ray CPU渲染器上渲染中等复杂的3D场景时CPU利用率的屏幕截图:如您所见,CPU利用率不高。很多时候,它的利用率大约为10%。这是进行场景准备的地方。它主要包括构建Ray-Tracing层次结构和准备纹理。当利用率跃升至100%并停留一会儿时,这就是实际渲染阶段的开始,您通常可以通过渐进式存储桶或渐进式渲染来查看。在最佳情况下,渲染期间将始终100%地使用您的PC资源,但是由于渲染引擎无法正常工作,因此我们可以使用渲染管理器进行改进。现在,请注意,此准备时间是您要渲染的每帧的固定时间——如果您的总体渲染时间较长,则准备时间不会更长。因此,如果渲染需要花费数小时才能渲染的帧,那么一分钟的准备时间就不多了。但是,如果您的帧仅花费几分钟完成渲染,那么一分钟的准备时间就会浪费大量资源。最坏的情况是当您拥有一台具有大量GPU的功能强大的PC。假设您有一个带有8个GPU的渲染节点。这些8个GPU都将闲置在那儿,等待准备工作完成。如果您有8台PC,每台PC带有1个GPU,则准备时间将除以8,从而浪费更少的资源——因为准备工作可以同时在8台PC上完成。同时是此处的关键词,因为我们可以使用Rendermanager在同一台PC上同时渲染多个作业,并为我们正在运行的每个渲染作业分配资源。因此,如果我们有一台带有8个GPU的PC,我们可以使用渲染管理器一次运行8个作业,这些作业中的每个作业渲染一帧图像序列,并且每个作业都被分配了一个GPU。他们不干涉。这是渲染管理器的标准做法,易于设置。当然,在一台PC上一次运行多个渲染作业需要大量资源,但是拥有强大的CPU和大量RAM,您可以节省大量时间。当然,这个8GPU示例非常极端,但是即使使用普通的1CPU,1GPU机器,也可以通过第二个同时渲染作业来填充CPU或GPU相当空闲的区域。 使用其他渲染引擎现在,使用其他渲染引擎肯定不是一件容易的事,并且如果您习惯于工作流或绑定到公司管道中的特定工具,则将无法使用。但是,如果您确实对使用的工具有控制权,并且渴望查看其他渲染引擎是否对将来的工作有意义,请在侧面进行一些实验。您可能已经做了很多年了,例如CPU渲染,现在可能该跳上Redshift或Octane之类的现代GPU渲染引擎了。总会有比其他项目更适合您的项目类型和工作方法的工具,因此请继续测试出现在市场上的新事物。 检查软件更新版本中始终可能存在已在更新中修复的错误,或者可能存在可以提高渲染性能的功能更新,因此请检查您使用的软件和工具是否具有任何此类更新。这是跟踪最流行的内容创建软件的最新软件版本的页面。如果您在“工具”中遇到一些奇怪的行为,请始终将此问题报告给开发人员,以便对其进行修复。大多数软件包都有论坛,您可以在其中轻松提交错误报告。 升级您的PC,购买更多更好的硬件这很容易。您可以跳过对3D项目场景的任何优化,如果您只是获得更好的硬件,仍然可以看到相当快的渲染速度。对于某些人来说,这可能不是一个可行的选择,但是对于那些有钱可以花的人来说,这是要考虑的问题。这都是关于投资回报率的。如果现在花费1000美元,但您可以在一半时间内完成所有将来的渲染,则更好的硬件会很快收回成本。尤其是当您通过3D工作和渲染赚钱时。如果不这样做,您可能不会赚钱,但是您确实有更多的时间。可能更有价值。我们有许多有关购买,升级和选择适合您的需求的最佳PC硬件(3D建模,动画,渲染)的文章,因此,我将为您提供快速的分步概述,让您做一些阅读其他文章以获得更深入的信息:如何通过硬件升级来提高PC的性能:1、确定要提高性能的工作负载(例如Redshift中的渲染或V-Ray中的渲染)2、找出哪些硬件组件对工作负载的性能至关重要(用于GPU渲染的GPU,用于CPU渲染的CPU,RAM)3、检查您当前硬件的性能指标(通过基准测试,例如用于CPU的Cinebench或VRAY-Bench,或用于GPU的Octanebench和Redshift Bench)4、确定预算并找到适合您预算的潜在更新硬件组件的基准评分(由于大多数评分是线性的,因此您已经知道与您当前PC的性能相比,更新部件的速度要快多少)对于GPU渲染引擎,添加更多GPU通常通常以线性方式扩展性能。但是,您必须确保具有支持多GPU设置的平台、主板、CPU和芯片组。对于CPU渲染,内核越多且时钟越高,通常越好。每个组件的性能越高,您通常为提高性能而支付的保费就越多。有时,获取多个低层组件(例如GPU)而不是一个高端组件是有意义的。 对您当前拥有的硬件进行超频我不建议超频,但是从硬件中暂时获得更高的性能是一个可行的选择。超频的缺点是:1、它增加了不稳定性,如果出现问题或更糟,则可能会丢失渲染过程2、与性能提升相比,您产生的热量不成比例3、与性能提升相比,您消耗的功率不成比例4、您的组件承受的压力越来越大,有可能损坏超频的组件(CPU,GPU,主板,RAM)或整个PC在这些免责声明之后,对于那些知道自己在做什么的人,超频仍然是一种选择。但是,调整OC设置可能会花费很多时间,因此请确保在尝试最终渲染的时间限制之前进行尝试。CPU和GPU超频都是可能的。在我看来,在大多数情况下,超频是不值得的,GPU和CPU已经凭借其自动提升功能保持在安全范围内,表现出色。 利用渲染农场如果所有其他方法都失败了,并且您仍然看到较差的渲染性能,并且提前进行计划,您会发现总体上只需要更高的性能,渲染农场(Renderfarm)就是答案。有两种类型的渲染农场(Renderfarms):- 您自己的渲染农场- 在线渲染农场(是国内最大的渲染农场)我已经撰写了——其要旨是:渲染农场(Renderfarm)基本上只是一堆通过网络连接并通过渲染管理器进行管理的PC。每个人都可以设置自己的渲染农场(Renderfarm),您可以在上面链接的指南中了解这是多么容易。Rendernodes(渲染农场Renderfarm中的单个PC)的最大优点是,您可以将它们专门化到极限,因此它们比全能工作站更好地处理您的确切工作负载。您自己的渲染农场(Renderfarm)是一项可以很快收回成本的投资。如果您通过您的3D工作挣钱,并有固定的工作,一个渲染农场,或只是一对夫妇的额外电脑,会为你节省很多钱,从长远来看,加快你的渲染了很多。如果您没有时间或金钱来建立自己的个人渲染农场(Renderfarm),也可以使用(Renderfarm)来呈现您的工作。有很多不同的渲染农场(Renderfarm)服务提供商,例如国内有Renderbus瑞云渲染农场,国外有。兼容支持Blender、maya、3ds max、v-ray等市面上主流的软件和插件。Renderbus瑞云渲染是瑞云科技旗下云渲染品牌,被誉为中国“云渲染”的先行者,其中中国电影票房前三作品均由Renderbus提供云渲染服务。瑞云渲染作为亚洲前沿的云渲染平台,致力于提供专业可靠、安全稳定、可持续创新的云渲染解决方案,助力推动行业快速发展。在线渲染农场(Renderfarm)的好处是它们具有疯狂的处理能力(数百个,数千个Render-Server),这意味着您通常可以在几分钟或几小时内渲染大量复杂的场景。当然,这是有代价的,而且并不便宜。每当您渲染某些东西时,在线Renderfarm都会要钱。有了自己的Renderfarm,一旦自己付费,基本上就可以免费渲染(除了一些电费)。以上就是《整理发布,如需转载,请注明出处及链接:相关阅读推荐:
如何更快地渲染?深入了解3D渲染性能的指南!(2)
我将把本文分为两个主要部分:- 可以优化的内部渲染因子- 可以优化的外部渲染因子您会发现内部因子与您想要更快地优化/渲染的场景紧密相关,需要更改场景元素和渲染设置。另一方面,优化外部渲染因子根本不需要或几乎不需要更改场景。这些是外部因素,例如整体硬件性能或渲染管理器拾取场景的方式。您可以优化两者中的任何一个并获得不错的加速,或者可以同时处理内部和外部因素,并看到渲染时间减少得更多!时间至关重要,所以让我们开始吧! 如何更快地渲染-方法论有两种方法可以解决此问题:您可以试着尝试以下某些项目,希望对您有所帮助,或者可以分析场景和环境,然后应用正确的修复程序。后一种选择所需的步骤很简单:1、找出为什么场景渲染如此缓慢的原因2、修理它这又使我们想到了另一件事:相对而言,“慢”是什么?您的场景可能会进行非常出色的优化,您的硬件是最好的,但是您对拥有数百万棵树的森林进行25K全景渲染仍需要5分钟吗?好吧,考虑到场景的复杂性,这实际上一点也不慢。但这不是您在这里的目的,对吧?您希望场景的渲染速度比现在快,这就是我们将要实现的目标。这使我们回到加速场景的两个步骤,并将其更改为:1、找到需要最少时间和金钱来解决的最大瓶颈2、修理它这次介绍差不多完成了,只是一件事:我相信您会在您的职业生涯中构建更多的3D场景,并在将来从事许多项目。从创建任何项目的一开始,就需要将本指南中的想法应用到整个项目中。不要在最终需要进行渲染时才进行优化,要在构建场景时就考虑视口或渲染性能的优化。能够更快地渲染,使您在处理场景时可以更频繁地进行迭代,提高质量,减少花费的时间,最终使你成为一个更具竞争力的3D艺术家。从长远看来,可以使您要求更高的费率或更高的薪水。 渲染引擎如何工作我们将从高层次的角度开始研究渲染引擎的工作原理,以及如何增加渲染时间以更好地指出为了使场景渲染更快而需要更改的内容。为了简单起见,我可以这样说:一般来说,在任何给定场景中,我们只有3种类型的对象:- 发光的物体,例如灯或太阳- 物体反射和折射光的程度不同- 我们认为的相机实际上,我们的现实世界是类似构建的,我们的眼睛有时是照相机。渲染引擎“渲染”或计算3D场景的外观,与我们实际的世界非常相似。像太阳一样的光源发出的光会从一个或多个表面反射,直到射入我们的眼睛,然后产生的光使我们以不同的方式看到物体。渲染时,您的计算机必须认真地“计算”真实世界中由物理完成的操作。例如,采取从表面反射的光线。计算机必须计算以下内容:- 光线从物体以什么角度反弹- 吸收了多少光线- 多少光线沿不同方向或进入表面散射- 多少光被反射或折射那只是一个简单场景中的一条光线。想象一下,计算机必须为场景的每个表面计算很多很多光线。幸运的是,PC的CPU(处理器)和GPU能够快速且非常擅长进行此类计算,比我们的人类要好得多,特别是GPU(图形卡或视频卡)是针对此类图形和“光线跟踪”定制的”计算。现在,我们需要做什么?尽管我们可以更深入地研究渲染引擎的工作原理,但是上面的描述应该已经足以分析和优化场景以更快地渲染:由于渲染引擎所做的大部分工作是在场景中拍摄一束光线,然后从物体上反射回来,因此我们已经可以得出以下结论:- 渲染无噪图像所需的光线越少,渲染过程将完成得越快“无噪音”:这是一个新名词,我们将快速介绍一下:您最有可能看过它。低质量渲染的图像不平滑或不清晰。它们到处都是噪点或颗粒,因此很难分辨细节。原因很简单,这是本文所需要的入门理论的最后一部分,所以再多花一点时间。这是噪音的来源以及我们如何消除它:任何图像(是否渲染)都由像素组成。渲染引擎为每个像素采样。为了简单起见,我们将其放置在场景相机中的渲染引擎通过每个像素拍摄一束光线,然后知道该特定像素后面的内容。这也称为“采样”。射出光线穿过像素并击中木头,那里有木头。射出光线穿过像素并找到金属,图像的那个区域中有金属。很简单。但是,这是重要的部分:像素不是一维的,而是二维的。基本上,每个像素都是一个二维正方形。一堆正方形在一起就是图像。那么为什么这很重要?因为我们穿过一个像素来查看背后3d场景中的光线或样本是一维的。为了获得像素整个正方形区域后面的平均值,我们将必须通过该像素和每个像素发射多条光线(采集多个样本)。举这个例子:图像来源:维基百科如果我们仅通过X射线照射到橙色三角形,则渲染引擎会认为整个像素都被橙色三角形填充/覆盖,而实际上它仅覆盖了该像素的右下部分。通过对该像素进行多次射线/采样,我们将知道该像素的90%实际上是白色/灰色而不是橙色(有些也是绿色的)。因此,使用多个样本,我们可以扣除该像素的平均颜色。因此,如果我们每个像素仅使用一个或少量样本,则我们不完全知道整个像素背后是什么,而在采样样本的一维点之后。结果:我们的错误阈值很高,并且我们得到了嘈杂的图像。我们通过每个像素拍摄的样本越多,误差阈值或噪点阈值就越低,并且最终图像的颗粒度也越小。!那是对渲染实际工作方式的内部运作的一次考察。现在请记住,所有渲染引擎都有自己的优化某些事物的方法,并且有一些方法可以伪造或优化某些过程,但是对于任何渲染引擎,通用功能都可以被广泛应用。您对场景进行的采样越多,结果越平滑。我们也可以这样说:如果场景中没有太多事情发生,那么与场景中充满了复杂物体,复杂材料或复杂照明的情况相比,您将能够获得更少的样本。未完待续...敬请关注》本文《》由Renderbus云渲染农场整理发布,如需转载,请注明出处及链接:相关阅读推荐:
焦散是什么?如何正确地渲染焦散?
在 Corona 4 中,程序开发人员决定将真正的焦散照明引入到中。有了焦散,我们可以创建更精确的图像光照。我们目标是让焦散更容易设置,更重要的是,使之对渲染时间有最小影响。到处都有焦散——让我们来定义什么是焦散我们先从定义焦散开始,观察为何在现实中,焦散占了图像照明的绝大部分。如前面提到的:大多数艺术家认为焦散是通过玻璃或液体聚焦的光。但计算机图形学的定义是:焦散是任何从光源到高光(反射或折射)、到漫反射表面、再到眼睛(或摄影机)的光照贡献。本例中,射线从光源到高光反射>到高光反射>再到漫反射>到摄影机。记住,即使是一片玻璃,比如窗户,也会折射光线。从技术上讲,所有透过窗户的光线都具有焦散性。玻璃窗是一个焦散的例子。基本上,如果光线以高光反射的方式从某表面反射,然后光线照亮到另一个漫射表面时,这样的过程就是焦散。这表示在真实世界,焦散占了场景光照很大部分。由于光线穿过玻璃窗,因此这张照片中的所有光照都可能是焦散的。(100% 纯天然焦散)你可能会想:如果我们已经忽略焦散这么久了,何以渲染图还能看起来真实?简而言之:焦散多年来一直是靠作弊的方式产生。但在讨论如何造假之前,让我们先解释一下为什么要造假。焦散是很难计算的事实上,多年来我们用来计算焦散的算法是非常复杂的。有一些暴力计算法又称蛮力法(brute-force method)能做出些效果,但是通常来讲它们都会花费过多的时间或者做了过多的省略,那最终结果就是:它只能给你提供实际焦散贡献中的很小的一部分。许多渲染器使用一种叫做“光子映射(photon mapping)”的技术,但传统上,这些方法用起来非常复杂——如果没有正确地设置,渲染会非常慢或者产生很糟糕的结果(甚至又慢又糟糕!) 但之所以有人发明像光子图这样的技术,是因为从纯光线追踪计算焦散是很大的挑战。以下详细说明:焦散是如何整合进光迹追踪流程中的?探索光线追踪的最好方法是从观察自然开始。在现实生活中,光线是自光源发出的。光线从物体表面反射。这种反弹可以是通过反射或折射改变方向的镜面反射,也可以是朝四面八方扩散的漫反射。假设我们根据这个模型来编写光线追踪渲染器——即从光源一直追踪到摄影机——我们将需要发射大量的光线来得到一张完整的图像。这是因为绝大多数来自光源的光线都没有投射到摄影机中。因此,虽然这种方法最接近真实物理,最终会找到场景的所有照明贡献,但这个光照模型效率极低,甚至用超级计算机也需要几天才能得到简单场景的可用渲染。因此我们必须想出更有效的方法。如果我们反向追踪光线,从摄影机开始追踪呢?最好的解决办法是改变射线(rays)的走向。与其浪费大量的时间来计算无法到达摄影机的光线,不如从摄影机开始反向追踪直到找到光源?这种方法被称为“反向路径跟踪(reverse path tracing)”——简称“路径跟踪(path tracing)”——今日,几乎所有光线追踪渲染器(ray tracers)都使用这种方法。事实证明,使用反向追踪,可以更有效地找到可用的光线 – 以更快的速度得到可用的渲染图。到底有多快呢,由原本需要几天的时间降到几秒钟就完成。反向路径跟踪,简称“路径跟踪”——几乎所有射线跟踪器都使用这个技术。问题1:大光源 vs 小光源但在应用过程中,我们开始发现反向路径跟踪的局限性。当射线离开摄影机寻找光源时,如果这些光源很大,例如环境光或区域光源,就很容易找到光源。但许多光源很小,例如一盏灯泡。因此,许多从摄影机追踪到的光线可能会完全错过光源。而那些随机找到的光源,最终会在渲染中产生白色的小高光——称为“萤火虫效应(fireflies)”。使用简易的反向路径跟踪,当光源小时,从摄影机追踪到的光线可能完全错过光源——这就导致了 “萤火虫”效应。解决方案1:使用光源采样(light sampling)来寻找微小光源但是有个解决方案可以帮助渲染器确保不会错过光源——即使是非常小的光源。这种方法叫做“光源采样”。作法是随机地在光源上的选取采样点,并将采样点连接到渲染路径。这种方法确保射线追踪到光源上。对于小且直接光源非常有效。 光源采样(light sampling)是确保渲染器不错过光源的解决方案。适用于所有光源尺寸。问题2:间接光源,比如焦散,不能使用光源采样请注意,上述解决方案谈的是 “小的直接光源“。问题是这种方法不适用于间接光源。其中一个原因是,虽然知道光源在哪里,但我们不知道间接光源的位置——说到间接光源,主要指的是焦散。一旦光线通过表面反射或折射,我们就不知道光源在哪里,直到追踪到光源。这都是啥呀?不幸的是,光源采样的技术不能应用于间接光照,例如焦散。焦散是很难计算的。光源采样能处理直接光源的“萤火虫”,但是随机光线仍然会产生萤火虫效应。所以当光源采样解决掉了直接光源的萤火虫效应时,我们仍然会从焦散高亮点产生很多萤火虫效应。与增加光源采样技术之前遇到的问题是类似的,随机光线可能遇到焦散的高亮点,并产生萤火虫效应。那么我们该如何应对呢?作弊的技巧1:箝制(Clamp)一切!许多渲染器都使用这个解决方案——箝制所有东西——讲白了就是用漂亮的话术来宣告认输。如果偶然遇到一束来自焦散的非常明亮的光线,“那么就箝制掉”。(或者干脆忽略之。)箝制一切!到目前为止,穿过玻璃物体的光线没有产生焦散,我们只得到了影子。在有些情况下,箝制一切可以得到一张有点可信的渲染图。但如果你回过头来考虑,即使是一片玻璃,技术上来说也是焦散性的,那么使用这种方法,我们会得到这样的图像:对所有物体使用箝制的作弊技巧会在本该明亮的地方产生阴影。作弊的技巧2:忽略玻璃接下来讲另一个作弊方式。既然问题出在射线要么穿过高光表面,要么是在高光表面反弹,如果我们直接忽略玻璃,直接穿过它追踪射线呢?那我们就回到了光源采样那一步,回到了最简单的情形。如果我们忽略玻璃,光线会直接穿过玻璃窗,到达室内漫反射表面,然后散射开来。这个解决方案对建筑室内非常有效,例如:在渲染时忽略玻璃,不会像上一个方法产生阴暗的影子,而是照亮建筑室内,观众可以自然地理解玻璃的存在。但不幸的是,此时玻璃物体本身的效果就不太好了:上图展示了忽略玻璃所造成的情况。作弊的技巧3:混合玻璃/假玻璃/建筑玻璃第三招,我们让一些光线穿过玻璃窗,但不是全部光线,这取决于玻璃的厚度、角度或颜色。这种方法可产生稍微可信的阴影形态:这里我们用了介于中间的材质——通常称为“混合玻璃”、“假玻璃”或“建筑玻璃”。这是大多数渲染解决方案在过去十年所用的技巧。有时被称为“混合玻璃”,“假玻璃”——还有个很时髦的名词:“建筑玻璃”。然而,以上这些作弊技巧没有一个是真正的焦散,因此没有一个是正确的。如果我们不用作弊的技巧,那如果从双向追踪呢?考虑到要得到正确渲染焦散图多么复杂且耗时,那么传统的作弊方法——比如“建筑玻璃”——可以算作是很好的折衷方案。直到 Corona Renderer 4 的出现。如果我们告诉你,你可以很容易地渲染焦散,且只会对你的渲染时间产生很小的影响,会怎么样呢?这就是 Corona Renderer 4 的威力了——之所以达到这个效果,Corona 开发团队用的方法只是回归到基础罢了。我们已经知道,如果追踪来自摄影机的光线(反向路径),在几乎所有的情况下,除了焦散以外,其他效果都非常好。而从光源开始追踪(正向路径),焦散效果会更好。但是,如果根据我们的需要,根据不同的情况,同时结合正向追踪和反向追踪两者的优点呢?注意这可并不是全新的概念——事实上,这项技术从 90 年代就已经存在了。1993年,Lafortune 和 Willems 共同发表了一篇关于双向路径跟踪的论文,里面提到了这个概念。想法1:使用双向路径跟踪第一种想法是所谓的“双向路径跟踪”(Bi-Directional Path Tracing ,简称BDPT)。这个解决方案是相当快的,但当涉及到焦散时,最终会丢失了太多的焦散射线,而最终解算的结果,在很多情况下,几乎看不到焦散。使用双向路径跟踪(简称BDPT),很快得到的结果,但是焦散效果太少。VCM 结合了太多的策略(而且速度很慢)另一种作法是在 2012 年有人提出的,称为“顶点连接和合并(Vertex Connection and Merging)”,简称 VCM。该方法结合了光子映射和 BDPT。虽然这种方法更容易,可得到良好的结果,但会过度采样太多的射线,才能获得良好的结果,大幅增加渲染时间。使用 VCM -结合光子映射和 BDPT -上图需要大量的过度采样和非常多的射线,才能产生好的结果。Corona 使用反向路径追踪和光子映射新版 Corona 渲染器的策略,是更有效地利用反向路径跟踪和光子映射。但是与其让用户费力地建立有效的光子映射,Corona 渲染器会替您找到有效的光子映射,为您最高效率地得到最正确的结果。这意味着,现在,我们能够使用不过于少的光线(如 BDPT 技术)或者不过于多的光线(如 VCM 技术)来渲染焦散。Corona 使用了恰到好处的光线,并产生了正确的焦散效果,最小程度地增加渲染时间。套句《格林童话 – 三只熊的故事》中那位金发姑娘的话来说: “Corona 渲染器不多不少刚刚好”。使用光子映射结合反向路径跟踪,能产生真实的焦散和有限的渲染时间增加。这不代表焦散对 Corona 渲染器来说是个简单任务。撰写程序代码时,需要解决非常复杂的问题,比如:何时用正向射线,何时用反向射线?如何将这两种方法的结果结合起来?诸如此类。但对用户来说,使用起来非常容易。产生焦散只是 Corona 4 中的一个勾取的选项方块。想渲染焦散吗?你将得到一个更接近现实的图像——焦散选项只会增加渲染时间约 50%。“如果某张图具有焦散,那张可能是照片或是用 Corona 渲染出来的。”——Vladimir Koylazov在与 Vlado 的谈话中,他说他喜欢玩那种“猜猜看是CG或是照片”的小游戏。他总是会在图片中寻找焦散的痕迹——也就是说,如果图像中有焦散,那就应该是真的照片。但是现在 Corona 4 已经使得在渲染中添加焦散变得如此简单,那么 CG 或照片的测验将变得更加困难!还有一件事……值得注意的是,因为 Corona 现在能以非常精确的方式表现所有的光线——包括适当的焦散贡献——还有许多其他渲染软件包中看似微不足道的功能,包括:正确的焦散动态模糊。举例,如果在街上看到一辆车的车轮发出的焦散,那辆车正在向前移动,而摄像机正以同样的速度跟踪那辆车。街道应该有相对于摄影机的运动模糊,但是焦散——街道上的焦散——不应该出现动态模糊。虽然理应如此,但您可能不会察觉到,其他的渲染引擎无法正确地做到这一点。Corona 4 的一大知名功能是光线混合器(Light Mixer)。由于焦散可以从任何不同的光源产生,所以焦散也可独立出来,可在光混合器中正确地混合。如果你正在用不同的渲染引擎做焦散的实验,请试着创建一座有涟漪的游泳池;游泳池旁放一面墙——墙上照理来说应该出现泳池的焦散效果。使用 Corona 渲染器,您将同时在泳池底部和墙上看到焦散。尽管这合乎逻辑,但对于其他渲染解决方案不见得做得到。原因是:透过高光反射元素实际上很难看到焦散。而池底的焦散,是透过光线的折射才观察到焦散的。本场景由 3Darcspace 工作室制作。以 Corona 渲染:渲染时间为 38 分 19 秒,共80个pass。读到这里,你完全了解了焦散是多么重要,理解了为何长久以来一直被忽视,以及为什么众多渲染器要作弊这么多年。另外,也可查看 Ondřej Karlik 在洛杉矶举行 Total Chaos @ SIGGRAPH 2019,关于 Corona 渲染器的渲染焦散演讲录像:关于作者Christopher NicholsChris 是 CG 行业资深人士和 Chaos Group 实验室总监。作为 CG Garage 播客的主持人,你可以定期收听他的节目,每周吸引 20000 名听众。有视觉特效与设计的专业背景,Chris 曾为 Gensler,Digital Domain,Imageworks 和 Method Studios 工作。 并曾参与制作包括 Maleficent,Oblivion 和 Tron:Legacy 等电影。原文链接:``
2019-12-04 12:18:47渲染焦散
  • 2424
    24小时全国服务热线
    400-003-4560
  • wechat