【渲染引擎】Blender的2021年最佳渲染引擎(上)
Blender最终摆脱了“古怪的孩子”的装束,并穿上了更为严肃和受人尊敬的“ 3D强者”。
它已在业界获得广泛认可,许多工作室和艺术家正在将其纳入他们的产品线。
您会问,动画工序末端的闪亮内容是什么?
好吧,它是渲染!当然,Blender的生态系统并不缺少功能强大的渲染解决方案。Blender本身包括三个现成的多功能渲染器,还有更多来自第三方的渲染器(Renderbus瑞云渲染农场支持Blender)。
在本文中,Renderbus云渲染农场将介绍所有这些渲染器。
Blender的2021年最佳渲染器(渲染引擎)
Cycles
首先,是Cycles渲染器。Cycles是Blender中功能最丰富,经过生产验证的渲染器。
这是一个路径跟踪引擎,这意味着它特别擅长于再现场景周围反弹的光的复杂性并与其中的各种元素进行交互。
它已经在许多电视和电影制作。
Cycles拥有丰富的渲染功能,包括强大的PBR着色节点,精确的地下散射,矢量位移和自适应细分,体积散射和吸收,焦散,密码遮罩支持等等。
Cycles得到了严格的维护和更新,最近的发展集中在严格的优化上。
这使得Cycles在其已经令人印象深刻的功能集之上成为了一个相对较快的路径跟踪器,尤其是在添加了OptiX技术的渲染之后,使其可以利用RTX内核来大大提高渲染速度。它还具有多个视口和渲染降噪器,包括强大的OIDN(CPU)和OptiX(GPU)降噪器。
它还具有对Nvidia和AMD GPU的多GPU渲染支持,以及带有图块窃取功能的GPU + CPU“混合”渲染支持。
话虽如此,Cycles确实有其局限性。
目前,在caustics等领域,LuxCoreRender在速度和准确性方面均胜过它。它还缺少轻链接,这是许多直接竞争对手中都非常需要的功能。
通过将其移植到其他3D软件的插件(例如Insydium的Cycles4D),Cycles已经证明了其成功,该插件将Blender的渲染引擎引入了Maxon的Cinema 4D。
Eevee
Eevee最初是作为Blender的“实时”视口设计的,目的是成为帮助其老兄Cycles的着色工作流程的预览工具,现已成为自己的野兽。
Eevee是Blender的实时栅格化渲染引擎,它替代了Blender 2.80中的Blender Internal渲染器。
自发布以来,Eevee一直风靡一时,尽管它是栅格化引擎,但下一个演示却展示了其强大功能。
尽管它永远都无法击败路径跟踪引擎,尤其是在“全局照明”、“折射”和“焦散”等领域,但Eevee仍拥有强大的功能集,以其极高的快速渲染速度而著称:
体积渲染、次表面散射、头发支持,用于NPR着色的强大的Shader-to-RGB节点,以及最近添加的Motion Blur和Cryptomatte支持。
Eevee当前的开发周期专注于填补其功能集中的空白,以使其完全可以用作生产渲染选项,并且Blender Animation Studio广泛地在Coffee Run短片上广泛使用它。
Eevee的最大力量是速度。
这是以牺牲其最大缺点为代价的,这正是其光栅化设计的本质:
反射、折射、接触阴影等都是“屏幕空间”效果,这意味着没有真正的路径跟踪功能可以计算出超出渲染屏幕的光弹。
这可能会使实现逼真的渲染更具挑战性,尤其是与其更精确但路径跟踪弟兄比较慢的渲染。
Workbench
该Workbench引擎是“标准”的发动机提供动力Blender的视口。
它的主要职责是在执行纹理/着色/光照/渲染之前的所有任务时保持平稳的性能。
但是,这并非全是灰色阴影,因为Workbench具有一些强大的功能,旨在在视觉上帮助用户完成多种任务,例如cavity 渲染、matcaps、轮廓和X射线选项。
一些冒险的用户甚至试图驯服Workbench引擎,使其迅速吐出“完成的”渲染,但这并不是出于胆小或容易实现的目的。
TrollTew设计的Stoner与Workbench引擎一起渲染
Blender的OctaneRender
OctaneRender首次发布时是GPU渲染领域的先驱之一,自那以后就成为功能强大而又快速渲染的家喻户晓的名字。
这是一个无偏见的、频谱正确的渲染引擎,它在最大程度上充分利用了RTX硬件,可以在视口中以极快的速度渲染准确的图像。
它具有分层材料(与手动混合着色层相反),具有完全Nuke集成的光谱随机行走次表面散射、体积渲染或深像素渲染等功能。
针对较大场景优化了核心外几何图形,以及两个新的“ Vectron”和“ Spectron”模块,可渲染非常大的程序几何图形和体积。
幸运的是,对于Blender用户,Octane提供了其Blender插件的特殊免费层,但需要注意的是,上述免费版本仅支持一个GPU。
该插件采用特殊的Blender内部版本的形式,可直接下载,并内置了OctaneRender引擎,这对于日常构建Blender高级用户而言可能会带来不便。
另一个警告是,Octane带有自己的着色器节点/编辑器,因此Cycles材质不会自动移植到OctaneRender。
但是,都是基于PBR的渲染引擎,着色器构造背后的逻辑足够接近,足以使着色器(至少基于图像纹理的着色器)的移植足够简单。
未完待续...
敬请期待下期:《Blender的2021年最佳渲染引擎(下)》
本文《Blender的2021年最佳渲染引擎(上)》内容由Renderbus云渲染农场整理发布,如需转载,请注明出处及链接:https://www.renderbus.com/share/blender-2021-1
相关阅读推荐:
【渲染引擎】Blender的2021年最佳渲染引擎(上)的更多相关文章
- CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率
CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率 当场景中有比较复杂的模型时,条件渲染能够加速对复杂模型的渲染. 条件渲染(Conditio ...
- Ogre 渲染目标解析与多文本合并渲染
实现目标 因为需求,想找一个在Ogre中好用的文本显示,经过查找和一些比对.有三种方案 一利用Overlay的2D显示来达到效果. http://www.ogre3d.org/tikiwiki/tik ...
- Light Pre-Pass 渲染器----为多光源设计一个渲染器
http://blog.csdn.net/xoyojank/article/details/4460953 作者: Wolfgang Engel, 原文: http://www.wolfgang-en ...
- Android渲染器Shader:环状放射渐变渲染器RadialGradient(三)
Android渲染器Shader:环状放射渐变渲染器RadialGradient(三) Android RadialGradient渲染器提供一种环状.发散.放射形状的渐变渲染器. 写一个例子: ...
- Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二)
Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二) 附录文章1介绍了线性渐变渲染器. Android的SweepGradient梯度渐变扫描,重点是在构造Swe ...
- UI系统的核心在于渲染机制:效率与生命--原生渲染为何比webview渲染快?
作者:谷宝剑链接:https://www.zhihu.com/question/264592475/answer/283852178来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- 从0开发3D引擎(八):准备“搭建引擎雏形”
大家好,现在开始本系列的第三部分,按照以下几个步骤来搭建引擎雏形: 1.分析引擎的需求 2.实现最小的3D程序 3.从中提炼引擎原型 4.一步一步地对引擎进行改进,使其具备良好的架构 5.实现与架构相 ...
- Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
- mongodb底层存储和索引原理——本质是文档数据库,无表设计,同时wiredTiger存储引擎支持文档级别的锁,MMAPv1引擎基于mmap,二级索引(二级是文档的存储位置信息『文件id + 文件内offset 』)
MongoDB是面向文档的数据库管理系统DBMS(显然mongodb不是oracle那样的RDBMS,而仅仅是DBMS). 想想一下MySQL中没有任何关系型数据库的表,而由JSON类型的对象组成数据 ...
随机推荐
- vue结合element-ui实现二级复选框checkbox
vue结合element-ui实现二级复选框checkbox 话不多说先上效果 交互:1.点击按钮全选,所有的checkbox全部选中:点击清空,所有的checkbox框都不选:点击确定获取选中的ch ...
- 数组的翻转(非reverse)
var arr = [1, 5, 8, 9, 6, 3]; var arr2 = []; while (arr.length) { var temp = arr.pop(); arr2.push(te ...
- 【科技】位运算(bitset)优化最长公共子序列算法
最长公共子序列(LCS)问题 你有两个字符串 \(A,B\),字符集为 \(\Sigma\),求 \(A, B\) 的最长公共子序列. 简单动态规划 首先有一个广为人知的 dp:\(f_{i,j}\) ...
- Acwing 120. 防线
题目地址 题目简译:给定\(n\)个等差数列,每个等差数列的起点为\(s\),终点为\(e\),差为\(d\).整个序列中至多有一个位置所占数字是奇数.判断奇数位是否存在,如果不存在输出"T ...
- 深入理解Java虚拟机(十)——线程安全与锁优化
什么是线程安全 当多个线程同时访问一个对象的时候,不需要考虑什么额外的操作就能获取正确的值,就是线程安全的. 线程安全的程度 1.不可变 不可变的对象一定是线程安全的,因为值始终只有一个. final ...
- js获取url参数、图片转本地base64跨域问题
获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...
- 前置机器学习(四):一文掌握Pandas用法
Pandas提供快速,灵活和富于表现力的数据结构,是强大的数据分析Python库. 本文收录于机器学习前置教程系列. 一.Series和DataFrame Pandas建立在NumPy之上,更多Num ...
- 工具-效率工具-XMIND8破解(99.1.3)
@ 目录 1.下载 2.修改hosts文件 3.修改配置文件 4.填入序列号 5.破解完成 关于作者 1.下载 1.点击进入官方网站下载 2.下载破解包 网址:点击进入网盘地址 密码:domd 2.修 ...
- Yii2 给表添加字段后报错 Getting unknown property
手动在数据库中添加了image字段 然后再模型类Image中的 rule方法也将image的验证规则放进去了 但是在 $model = new Image 后,使用$model->iamge 还 ...
- 如何在Ubuntu Server 18.04 LTS中配置静态IP地址
安装Ubuntu Server 18.04后需要分配一个的静态IP地址.先前的LTS版本Ubuntu 16.04使用/etc/network/interfaces文件配置静态IP地址,但是Ubuntu ...