计算机中的渲染是什么
我们在计算机屏幕上看到的任何东西,都是经过渲染的。在计算机中,渲染的意思就是,计算机通过一系列复杂的计算,分别为千百万个像素点涂刷正确的颜色。最简单的方法是由我们人为指定各个像素点的颜色,计算机只是简单地按照我们的要求,改变这些屏幕上真实像素点的颜色就可以了。这也是各种画图软件或PS软件的基本原理。比如,我们在计算机屏幕上画一条线,就是要求计算机改变这条线上所有像素点的颜色。
还有一种**是,计算机根据真实的光学原理,自主决定这些像素应该是什么颜色。我们给3D场景添加一盏灯,那么被照射到的物体表面那部分的像素点就应该颜色明亮,而没有被照射到的部分像素点就应该阴暗。这就是3D建模中至关重要的物理渲染技术。物理指模拟真实的光学作用**,渲染指决定并变计算机像素点的颜色。
从这点来看,我们这个真实的世界,应该是拥有一个十分高效的物理渲染技术的。
Blender中的渲染技术
Blender正是一种基于物理渲染技术的3D建模软件,如何渲染物体的表面,也是三维建模唯一的核心工作,大家熟悉的布线造型。仅是为最终渲染提供一个基础。这个基础决定用来渲染的光线,哪些部分是被遮挡并形成阴影,哪些部分是被反射形成高光,哪些部分是被散射形成颜色。我们在3D建模中,所有的表面轮廓、材质、灯光的选择,都是为了最终的渲染结果,提供给渲染引擎的一种输入参数。灯光提供光线,表面轮廓和材质共同决定光线的光路。
Blender拥有两种物理渲染技术:栅格化渲染技术和光线追踪渲染技术。栅格化渲染技术采用一种配置式方法来模拟光线是如何作用在物体表面上的。比如用PS画图,我们可以设定一束光线照射在物体表面产生的颜色变化和明暗关系的变化。但真实的世界中,物体表面并不是仅受一束光的照射,还有**中其它物体的反射光。所以在PS中,我们无法自动**物体表面投射到地面的阴影,以及其它物体投射到物体表面的倒影,这让渲染出来的结果与现实世界中的结果产生严重的失真。改变它,只能通过额外的工作来修补这些缺陷,这些额外的工作被称为配置**。而光线追踪技术是在计算机中模拟光线真实的作用**,包括一束光线照射到物体表面上时产生的反射、散射、透明等物理**。因此,我们只需袖手旁观,系统就会自动为我们生成一切,而无需做额外的配置工作。
Blender中的Eevee引擎和Cycles引擎
Blender中的栅格化渲染技术由Eevee引擎来实现。使用Eevee引擎,反射到物体表面的**光,物体遮挡光线产生的阴影的效果都很难实现。因此,必须使用额外的**光遮蔽程序、屏幕空间反射程序以及各种阴影生成程序来补偿。
直接使用Eevee渲染,将会失去阴影,**光反射等诸多细节信息
开启了各种补偿功能的Eevee渲染出较为丰富的细节
Blender中的光线追踪渲染技术由Cycles引擎来实现,使用Cycles引擎可以自动模拟真实的光线在物体表面反射和散射的能力,所以无需像Eevee引擎那样,使用**光遮蔽、屏幕空间反射程序以及灯光阴影生成程序来进行补偿。
直接使用Cycles渲染出细节丰富的图像
如何选择**的渲染引擎
3D建模的最终目的是尽最大可能,百分之百的还原真实世界中的物体。所以,类似Cycles这样的光线追踪渲染引擎肯定是首选,但这种技术在渲染物体表面时,需要庞大的计算量,而这种计算量只能依靠高性能硬件设备提供。
NVIDIA**的GeForce RTX 3060系列
在游戏中,由于存在大量的场景切换,玩家与场景的互动,对画面的刷新率要求非常高。这就要求计算机具备非常高的实时渲染效率,对计算机硬件的要求很高,这种要求会让大部分玩家望而却步,所以适合用Eevee这种经济实惠的光栅渲染引擎。
用Eevee渲染的游戏场景
以拷贝**发行的动画和电影,对渲染的实时性没有要求,反而是对渲染的**要求比较高,需要尽可能逼真,所以像Cycles这种光追渲染引擎是**选择。
用Cycles渲染的电影场景