计算机与艺术设计:实时渲染的趋势
实时计算机图形或实时渲染是计算机图形学的分支领域,研究制作与分析实时图像。该术语涵盖从应用程序图形用户界面(GUI)到实时图像分析的一切内容,但通常多指图形处理器(GPU)生成的互动三维计算机图形。其中一例是电子游戏,它能快速呈现不断变化的三维环境,营造运动的假象。计算机诞生时即能实时生成二维图像,例如简单的线条、图像和多边形。然而,对于传统冯·诺依曼结构的系统而言,快速绘制详细的三维对象任务艰巨。早期多用二维精灵图模仿三维图像,变通解决这一难题。如今诞生了各类渲染技术,比如光线跟踪和栅格化。计算机利用这些技术和先进的硬件,在接收用户输入之时,快速及时地渲染图像,为用户营造运动的假象。如此一来,用户能对呈现的图像做出实时反应,从而获得交互体验。
实时渲染分为以下两种:
网格渲染
顶点属性只包含位置和颜色,顶点运算只包括对顶点位置的简单变换、顶点的裁剪和投影,光栅化处理中对顶点颜色也只进行了简单的内插,像素运算则很简单——覆盖。第四代渲染技术产生了(2000年后)——可编程渲染。在第四代渲染技术中,图形开发人员可以对渲染管线中的顶点运算和像素运算分别进行编程处理了,而无须象以前那样套用一些固定函数。比如,对于点点渲染来说,我们不仅仅能简单套用SetTransform方法实现顶点位置的变换,更为灵活的是,可以通过编写程序,实现顶点位置的更为复杂的变换;在光照计算中,我们可以从最基本的光照模型出发,编写程序分别计算漫射、高光、折射、散射等,更重要的是,我们还可以将计算结果作为像素渲染程序的输入,以实现各种丰富的效果。
阴影渲染
顶点属性中增加了法向,用来进行光照计算。第二代渲染技术中引进了一个很重要的概念——深度,典型的应用就是深度缓冲。像素运算中增加了颜色混合技术。
实时渲染的本质就是图形数据的实时计算和输出。最典型的图形数据源是顶点。顶点包括了位置、法向、颜色、纹理坐标、顶点的权重等。
腾讯ISUX在《3DtoH5工作流应用手册 理论篇》一文的开头部分提出:为什么H5/Web实现的3D效果和C4D里渲染出来的差异那么大?
是因为实时渲染引擎(UE、Unity、three.js等)和离线渲染工具(Redshift、Octane、Vray等)是存在性质上的差异。
离线渲染(Redshift、Octane、Vray等)是基于真实光照环境来计算每颗像素的着色,而实时渲染(UE、Unity、three.js等)如果要实现这种效果需要耗费更多硬件基础和算力。
“所以离线渲染能力还是相对有限,但对于游戏或H5互动网站实际应用来说,流畅的互动体验优先级往往高于画面精细度,所以牺牲视觉保性能也是常见情况。”《3DtoH5工作流应用手册 理论篇》一文中指出。
简单来说,用户能够与3D的图形图像进行交互。
在网页中最常见的应用就是用户通过上下滑动浏览,有相应的3D效果展开在用户面前,能够流畅地实现倒退到上一楼层与切换到下一楼层。
随着相关产业对图形处理要求的不断提高,图形处理器朝着两个方向发展:更快的运算速度和更加自由的可编程性。
硬件速度的提高,也将不断催生出一些新的渲染技术,同时也使得一些在目前的硬件平台上难以实现的渲染技术变为可能。光照计算所需要的运算量很大,在目前还只能通过各种间接的途径模拟实现。可以预见,在下一代的实时渲染技术中,例如光线追踪、真阴影等技术或许将变为可能。
这些技术的实现,将使得图形渲染效果变得更为真实。高度真实是实时渲染技术未来发展的一大特征。硬件可编程度的提高,使得设计人员对硬件的控制将变得更为灵活和富有创造性。可编程将是未来渲染技术发展的又一大特征。 红移和OC不是实时渲染么? 红移和OC也是的,这篇文章在介绍是通过具体网格和阴影两种方式来实时渲染的。
页:
[1]