在过去,计算机硬件的运算速度是不够快的,不能实时使用这些技术。CG制作都是需要在离线渲染的渲染农场里把一个个单帧渲染出来,然后在脱机播放。而大多数的所谓的实时图形都是依赖于另一种技术,光栅化。
实时计算长期以来都使用的是“光栅化”,这个技术是在二维屏幕上显示三维物体。
它的优点就是速度快,效果也还尽人如意。通过光栅化,可以从虚拟的三角形网格或多边形创建屏幕上的物体,也就是建模。在这个虚拟网格中,每个三角形的顶点与不同大小和形状的其他三角形的顶点相交。很多信息与每个顶点相关联,包括物体在空间中的位置,以及有关颜色,纹理及其“正常”的信息,这些信息用于确定物体表面的方式。
电脑然后将3D模型的三角形转换为2D屏幕上的像素或点。在三角定点的数据中为每个像素分配一个初始颜色值。在接下来就是像素的进一步处理过程或着色,其中包括场景中的光线如何撞击像素改变颜色,以及如何将一个或多个纹理应用在像素上,继而组合生成应用于像素上的最终颜色。
说起来可能感觉很简单,但这是一个相当密集型的计算过程。场景中有数百万个多边形用于所有物体模型,并且在4K的显示器上大约有800万个像素。这也意味着屏幕上显示的每一帧图像每秒需要刷新30到90次。
此外,内存缓冲区用于即将在屏幕上显示的预先渲染帧。深度或“Z缓冲区”用于存储像素的深度信息,以保证像素的x-y屏幕位置上最前面的物体显示在屏幕上。并且最前面物体后面的物体要保持隐藏状态。
这就是一直以来为什么实时渲染需要依靠强大GPU的原因。
光线追踪
然而光线追踪与之不同。 在现实世界中,我们看到的3D物体被光源照亮,并且光子在到达观察者的眼睛之前可以从一个物体反射到另一个物体;光线可能会被某些物体阻挡,产生阴影;或者光线会从一个物体反射另一个物体;还有就是折射,比如光线穿过透明或者半透明物体时。
光线追踪充分考虑了所有表面的材质,
实现了清晰或柔和的反射,
甚至可变反射表面应由
多种材料制成的磨损或以其他破损
光线追踪是现代电影产生或增强特殊效果的技术,它可以接近完美的模拟光线,阴影以及其他的一些效果,这就是为什么每部电影和大制作电视剧为每个特效镜头投入大量计算资源,以保证图形与现实无缝衔接的原因。无论我们从事CG流程中的哪个工作,都无非是想让最后生成的图像无限的接近摄像机拍摄的画面。那么这里包括两种情况一种是让电脑生成的效果与实拍画面无缝融合;二是动画电影通过光感和阴影尽可能的隐藏数字化的制造感。
光线追踪实现的AO(环境光遮蔽)
那么什么是光线追踪?其实光线追踪无时无刻不在。比如你看到的一个被光线照亮的物体。反过来,沿着你眼睛所看方向射出的光线与物体相互作用的路径,这就是光线追踪。当光线透射到物体表面时,通常会同时发生3件事,那就是光被吸收、反射和折射。特别是当光被折射到不同方向时,光线就会发生变化。无论怎样,光线总会经过一系列的衰减最后进入人的眼睛,光线追踪就是要计算出光线发出后经过一系列衰减再进入人眼时的情况。
■这个技术最早是1969年由IBM的阿瑟·阿佩尔首次描述的。
■第二次重大的技术突破是1979年的一篇论文中描述了如何改进着色显示的照明模型。
■到了20世纪80年代出现两篇论文为计算机图形革命奠定了基础,同时颠覆了电影制作的方式。
■1984年,卢卡斯影业的三位大神详细的介绍了光线追踪在电影制作中的一些技术,比如运动模糊,景深,半透明和模糊反射等等,也是那时才可以创建相机。
■两年后,也就是1986年,一个名为Jim Kajiya教授的论文将计算机图形生成方式映射到物理学上,从此才有了更好的表示光线在场景中散射的方式。
将这项研究与现代强大的GPU结合起来,就产生了现在足以与照片媲美写实的图像了。当然目前光线追踪整体的图形质量和性能会受到很多因素的影响。因为光线追踪的计算量实在太大了,所以一般都是用于视觉质感和真实感要求特别高的场景区域和物体,而场景其他部分则使用光栅化渲染。
它由在NVIDIAVolta体系架构GPU上运行的光线追踪引擎组成。旨在支持通过各种接口进行光线追踪。目前NVIDIA与微软合作,通过微软新的DirectXRaytracing(DXR)API支持全面的RTX技术。
在过去,我们在很多场合都演示过实时光线追踪,但只能在基本场景或低帧率下进行。 现在,正如前面的视频,NVIDIA RTX和Volta体系架构GPU的强大功能使得实时光线追踪能够以可播放的帧速率在高度精细视频游戏场景中实现。
Epic Games首席技术官Kim Libreri评论道:“NVIDIA RTX的可用性打开了实时光线追踪的大门。”
扫码关注犀牛云
了解更多资讯,欢迎致电犀牛云全国统一销售热线:400-075-8888