乐趣区

关于算法:实时渲染实时离线云渲染混合渲染的区别

渲染,就是将 3D 模型转换成 2D 图像,并最终出现在屏幕上的过程。尽管这里只有一句话,然而这一句话外面蕴含了太多的数学、物理和计算机方面的常识,它形容了咱们用计算机来虚拟化真实世界的根本逻辑。渲染过程是须要计算机进行运算且耗费工夫的。

不同的渲染分类,会用到不同的渲染引擎。比方实时渲染咱们个别会用到 Unity 和 Unreal,离线渲染咱们会用到 V -ray 和 Keyshot。然而这些技术和引擎产品都是相通的,所以 Unreal 的实时渲染能力也能够部署在云端,成为云渲染的体现。尽管,因为应用场景的不同,引擎自身的渲染算法都有本人的特点和劣势。然而,随着硬件计算能力的倒退,它们的界线也缓缓变得含糊。

常见的渲染类型有以下几种:实时渲染、离线渲染、云渲染、混合渲染。

它们两头有重叠穿插,也有技术区别。咱们防止太多的专业性形容,尝试用浅显易懂的形式来进行解释。

实时渲染

实时渲染(Real-time Rendering)从字面的意思非常容易了解,就是咱们要实时的看到渲染之后的 3D 物体或者场景的成果。实时,用数字怎么了解?至多 24FPS:只有达到或者超过 1 秒钟播放 24 张连贯图像的速度,人眼观看时就不会造成卡顿的感觉。

个别的实时渲染场景都是带有强交互属性的,比方最常见的 3D 游戏《王者》《吃鸡》,或者是一些带有交互的 3D 利用,比方智慧城市、智慧园区的可视化我的项目。实时渲染的场景中,这些利用都会独立运行在咱们的电脑、手机上,通过本地的硬件能力实现实时渲染的过程。因而,玩大型游戏的话,硬件性能肯定要好。

离线渲染

离线渲染(Offline Rendering)这个从字面意思了解,如同就是“断网”之后在做渲染,然而这种了解是不对的。

离线渲染是跟实时渲染绝对应的,简略说就是咱们不须要实时地看到渲染成果的场景。

这种场景最常见的就是咱们的家装效果图。做过装修的小伙伴应该都晓得,如果让设计公司出效果图个别都是要免费的(有些为了吸引客户当然也会收费),他们其实就是在做离线渲染的工作。

那为什么咱们不能实时地去渲染一张效果图,反而要用离线渲染的机制呢?这就要看最初的渲染成果到底要多高了。

实时渲染,尽管渲染速度快,能够实时生成渲染内容,然而渲染的成果和真实度相对来说是不可能特地高的。对于离线渲染的场景,根本都是对渲染要求十分高的,甚至是齐全实在的。

比方方才提到的家装效果图,你可能不须要立即看到渲染图,然而如果看到的时候,发现成果不好,就可能要换其余设计公司了。

另外一个最常见的就是好莱坞影视大片、3D 动画等影视场景。他们都须要达到一个十分真切的渲染成果甚至是齐全实在的场景复现,然而对实时性要求不高。

所以,个别的好莱坞大片,尤其是特效十分好的那种,拍摄实现后的制作周期都十分长。比方咱们耳熟能详的《阿凡达》,过后动用了 40000 颗 CPU,104TB 内存,10G 网络带宽,整整离线渲染了 1 个多月。

说到这大家应该会有一个疑难了,怎么能够用到 40000 颗 CPU 来进行渲染呢?什么电脑能有这么多 CPU 呢?其实这就是离线渲染在概念上,容易让人误会的中央:离线渲染大多数状况反而恰好是在线的。

通常状况,如果咱们在做家装效果图,是能够用本人的一台一般电脑去进行渲染制作的,然而本人的电脑硬件配置必定不会特地好。

因而,实现整套渲染计算的过程到最终出图是须要很长时间的,当然电脑硬件越好,工夫越短。

如果是业余的设计团队,尽管是须要使用离线渲染达到很高的渲染成果,同时必定也是心愿出图的工夫越短越好。

因而就呈现了一种新的离线渲染状态:渲染农场。说到渲染农场置信很多人都不生疏,它就是在云端买了很多渲染服务器,这些服务器能够搭建成千上万颗 CPU 或者 GPU 的集群,来专门服务那些须要疾速实现离线渲染的用户。

这就是为什么《阿凡达》的渲染会用到那么多 CPU 的起因,当然当初根本都是采纳 GPU 来进行渲染工作了。渲染农场其实就是搭建了渲染服务器集群,那当然就是在线的了。所以说,只有提到渲染农场,它是离线渲染场景中的一种渲染模式,然而实际上它恰好是在线的。

云渲染

云渲染(Cloud Rendering),这个从字面意义了解就是在云端实现渲染的意思。然而为什么下面讲到渲染农场的时候,并没有特意强调它就是云渲染呢?

其实如果依照渲染产生的节点来说,渲染农场这种离线渲染就是属于云渲染领域的。然而,咱们通常对于云渲染的了解,个别都是在云端实现实时渲染的场景。下面咱们提到的实时渲染大部分时候都是在咱们本人本地的电脑或者手机上实现的,因而对于终端硬件的要求是比拟高的,不然“卡顿”必定是无奈防止的。

云渲染的呈现就是为了解决这个问题:让硬件性能不太好的终端也能够实时的渲染成果不错的 3D 内容。

云渲染的基本原理是,把所有的 3D 渲染工作都交给云端。渲染实现后,编码成为视频实时地传送给咱们的客户端,客户端就变成了一个视频播放器,对视频流进行解码和播放,这个过程中能够监听一些鼠标和键盘操作,来实现交互性能。

这样大量的三维数据和美术资源不必装置到咱们的手机或者电脑的客户端,而是全副在云端实现渲染,客户端只有具备看视频的性能,就能够体验具备比拟好渲染成果的 3D 利用。对于公众来说,手机设施不必特地高配,就能够体验成果很好的游戏,而且手机个别也不会发烫了。目前云渲染的场景次要也是体现在游戏场景中,即云游戏。当然还包含一些对渲染品质要求比拟高的 3D 可视化或者数字孪生我的项目。

说到这里,大家对于实时渲染,离线渲染和云渲染这三种不同的渲染模式,应该有根本的了解了。其实说到渲染自身,就是一个数学算法在计算机上的运算过程。它们都有各自的优劣和应用场景:

01、实时渲染

谋求渲染速度,要求比拟强的交互体验。所以即使在客户端硬件性能较高的状况下,也要做大量的数学算法优化,在不是特地升高渲染成果的同时,缩小渲染工夫,达到很好的实时性交互。

02、离线渲染

谋求渲染品质,不要求实时性和交互性。谋求的是极致的渲染成果,达到以假乱真的体验。因而就用最极致最优良最贴近实在物理原理的渲染算法,来进行真实度极高的渲染过程。通过渲染农场的云端计算能力,尽量地缩小渲染工夫。

03、云渲染

谋求绝对较高的渲染品质同时,也要达到实时性要求。所以云端算力的部署和调度的能力要求会更高,让客户端配置不高的用户通过云渲染也能领会到不错的 3D 利用。

退出移动版