随着科技的发展,现如今任何人都可以使用免费软件在个人计算机上创作 3D 图像,当然也有人对于专业 3D 艺术的创作方式及其相关工作流程存在一些误解,认为创建一个模型后,在上面放上材料和纹理,就可以立马得到一个漂亮的图像。实际上与建模相比,图像的渲染又是一个不同的过程,到底什么是 3D渲染,3D渲染在创建CG项目时为什么如此重要呢?
一、将3D变为可视化的2D
每个3D对象只是存储在计算机内存中的顶点坐标数组。这些坐标可以是绝对的或相对的,后者意味着只有枢轴点具有完整坐标,并且每个顶点由它在每个轴(X、Y 或 Z)上与枢轴的距离来定义。解释这组数字并将其转换为人眼可以看到的图像的过程就称为 3D 渲染,基本上,当计算机从我们的眼睛接收信息时,它就在执行与我们的大脑相同的任务了。
渲染的主要任务是确定观看者可以看到什么以及它的外观,在正交视图中,任务会更容易一些,因为对象不会随着距离改变大小和形状。而在透视图中则需要额外的计算才能确定屏幕上的对象有多大。某些对象可能显示为点或者是变得不可见,因为它们位于为防止无限计算而设置的远端限制之后。
(在以上正交视图中,无论距离相机多远,对象的大小都保持不变,而从透视图中来看的话,圆锥体和球体相对于长方体要显得小得多.)
在这之后渲染算法会逐个像素地计算它的颜色,这些又取决于任务中存在的对象、包括它的材质、光源和阴影等。根据所需的真实感、现有的硬件配备和复杂的算法来渲染图像,这个过程说需要的时间可能是几分钟,也可能是几小时甚至几天,3ds Max线框渲染是合适的选择之一。
二、光线追踪和光栅化
目前有两种从3D场景创建2D图像的主要方法:分别是光栅化和光线追踪。
光栅化从计算机生成图形的第一天起就已经存在,计算机将场景中的所有对象分成三角形,计算它们在屏幕上的位置,并覆盖上一个像素网,然后根据材料和透明度决定每个像素的颜色。当您需要清楚地看到场景中的所有内容,并了解前面和后面的内容时,光栅化算法就十分有用。3D 软件中的视口使用光栅化来显示创建的几何体,然而当涉及到光照和阴影时,光栅化一般显示效果类似于“猜测”,这导致我们的结果看起来就不太真实了,所以还有许多额外的算法可以增加真实感;
光线追踪技术指的是创建物理上正确的图像,它模仿的是我们的大脑如何为我们构建图像的过程:光线撞击表面并从表面反射,具体取决于材料,它改变了光线的属性,所以当我们的眼睛捕捉到它时,它会被感知为具有特定的颜色。通常,光线追踪器的方向相反:光线从相机(我们的视点)射向物体,当光线撞击表面时,它会反弹(或者如果表面是透明的则穿过)并产生其他几条光线,这些新光线撞击其他表面并反弹等等,直到到达光源,然后最后一条光线采用此光源的属性并将此信息沿线返回,计算每个反弹点的颜色。
光线追踪是一种递归算法,导致一次完成大量计算,因此每次反弹产生的新光线数量有限,然而随着硬件技术的发展,光线追踪渲染器已经能够越来越好地创建与现实难以区分的视觉效果,所以也被广泛用于电影和建筑可视化。
(Corona Renderer 是一个光线追踪引擎,在渲染开始时,图像显得非常嘈杂,随着时间的推移,像素的颜色逐渐被计算出来,噪声消失.)
光线追踪和光栅化技术目前都用于计算机图形学,两者之间的选择来自于回答这个问题:你需要多快的结果?
三、实时与生产渲染
光线追踪需要如此强大的处理能力,即使是顶级处理器也无法快速执行。但是电影和 3D 卡通渲染逼真的图像又需要时间,所以这是在渲染农场的服务器集群上批量渲染完成的。这样、我们在单个处理器中需要几个月时间的渲染量,就可以在几小时之内轻松完成。当然,换做是单个图像,渲染速度就很快了(个人计算机仅需几分钟或几小时),具体时间取决于您计算机的 GPU 或 CPU。
而现如今的视频游戏和互动媒体中,没人愿意等待一张图片哪怕是几秒钟的时间,而舒适游戏的最低帧速率为每秒 60 帧,因此,光栅化渲染就成为了主要技术。为了确保游戏运行顺畅并且观感舒服,游戏开发者会尽可能优化模型、纹理和整体场景,大多数灯光和阴影都经过烘焙(预先计算并在渲染过程中使用),所以有些效果是伪造的、没有经过计算的,压缩版本的纹理用于小而远的物体。
总而言之,它可以高速生成逼真的图形,在过去的几年中,开发技术将光线追踪引入了游戏引擎,但仅用于计算光照效果,或许再过十年,所有现代游戏都将使用光线追踪渲染来玩了。
四、GPU 和 CPU 渲染
得益于现代 GPU 的强大性能,实时渲染已然成为可能,然而当没有严格的时间限制时,渲染工作是可以在 CPU 上完成的,传统上繁重的渲染是在 CPU 上完成的,它极大地受益于处理内核和线程的数量。CPU 使用 RAM 加载所有需要的资源,而 RAM 的频率会影响渲染时间,将几个更便宜、功能更弱的 CPU 连接在一起来渲染任务也很容易。
现代 GPU 由于拥有大量的内核和线程, 它们可以更快地完成相同的工作,他们还使用专门的内部 VRAM 来加载资产,这比传统 RAM 快得多。但GPU VRAM 无法扩展也是一个很大的局限性,对于一些资源要求很高的场景它无法处理,那这些场景就需要在 GPU 渲染之前先优化完毕,不过、尽管如此它还是比直接在 CPU 上渲染花费的时间更少,而且后续随着软硬件技术的发展,GPU 将会占据越来越多的市场份额。
(渲染引擎通常被开发为使用 GPU 或 CPU,但是、像 V-Ray 和 Cycles 这样的引擎是可以使用其中任何一个的.)
目前,GPU 比 CPU 成本更高一些,也没有几个渲染引擎支持将多个性能较低的 GPU 连接在一起使用,因为这样的网络无法统一显存(VRAM)。所以 CPU 在渲染农场中连接在一起工作时显得相对协调很多。此外,许多VFX和动画工作室已经将渲染时间纳入其工作流程,一般没有特别紧急的渲染任务要交付的话,使用 CPU 渲染都会更节省一点成本。
如果最后我们的计算机在 CG 渲染过程中碰到了无法超越的阻碍,我们也仍然可以通过选择云渲染来生成大型精美图像和动画。在Renderbus瑞云渲染,我们提供市场上最强大的 CPU 和 GPU 机器,可以轻松处理具有高分辨率图像的大场景或巨量渲染帧数的项目。Renderbus瑞云渲染就是一个只为您的3D渲染项目服务的云渲染平台!