Hello . 大家好,今天给大家简单介绍一下引擎里面常见的渲染方式,我是木偶心没。
一个完整的项目制作的时候,开始之前都要优先确定到底使用什么方式来渲染光照,比如前向渲染或者延迟渲染。这样才能针对每一个渲染方式不同的特点来制作物件,以避免后续更改渲染方式造成效果上的差异。
接下来就简单解释一下一般在引擎里面的选择前向渲染Forward Rendering和延迟渲染Deferred Rendering。
1、光栅化
为了更好的理解渲染方式,我们需要了解一下光栅化。
我们现在能看到的所有图像都是由像素组成的,也就是所有的模型和材质光照等信息最终都会被绘制成为像素显示在屏幕上,而这个绘制在屏幕像素上的过程就叫做光栅化。而光栅化的目的就是找出一个几何单元(比如三角形)所覆盖的像素。
过程如下,首先读取三个顶点,然后将这三个顶点连为三角形。接下来判断像素们是否在三角形内,如果在就直接用像素着色器计算出来的颜色对它进行上色。不断地的循环,知道画完模型所有的三角形,我们就能看到我们模型的渲染效果了。
而一个三角形的颜色取什么可以有三种方法;
1)三个定点颜色取平均值
2)取某一个顶点的颜色
3)三个顶点颜色的渐变
具体用哪一种可根据实际情况进行选择。
而前向渲染和延迟渲染就是对模型上面的光照进行光栅化的过程。他们的不同之处也在于对光照渲染的顺序问题。
2、前向渲染Forward Rendering
前向渲染会对场景里每一个几何体进行光栅化,就需要对每一个几何体计算场景所有的灯光来得到他们正确的光影效果,
我们可以通过深度测试来舍弃被遮挡的或在相机的视椎体内不可见的几何对象来进行优化,也可以通过舍弃不在相机视椎体内的灯光来进一步优化。
所以,被剔除的这些几何体和一些不可见的灯光的计算是完全浪费的。同时因为每个几何体都需要计算所有的灯光,所以计算量非常大,即使是GPU也很难负担,所以如果选择使用前向渲染的话,场景中需要注意灯光的数量。
前向渲染的一个典型特征是一个几何体从传入显卡进行处理到最后屏幕显示图形的整个过程是不间断的,是一个线性的处理过程。
3、延迟渲染Deferred Rendering
从名字来看,延迟说明了Geometry到RenderTarget的处理过程不是连续的,在从GS输出的光栅化了的数据会输入到Geometry Buffer,也就是G-Buffer,在这里是不会计算光照的。
G-Buffer生成后,开始计算光照,实际上接下来的计算基本上全是G=Buffer中的图像合成过程,由此可见一个灯光的计算实际上只会对它覆盖的像素计算一次,所以灯光的渲染成本就大大降低了。
而且G-Buffer里包含的各通道信息同样可以在后期处理中使用,所以延迟渲染能够表现的后期效果更多。
延迟渲染的基本原理是通过MRT(multiple render targets)将几何体渲染到屏幕空间,渲染过程不包括光照,而深度缓冲,法向量缓冲以及颜色缓冲作为不同的缓冲区被写入,这些缓冲区能够提供足够的信息使片元着色器的每一个光源针对每一个像素完成光照计算。
知道了每一个像素的距离和它对应的法向量,我们就可以得到光源照射在该像素上的最终效果。
4、如何选择
虽然对比起来前向渲染更加消耗资源,而且延迟渲染能有更多效果,但是在实际项目中,需要根据目标平台以及各方面配置条件来进行选择。比如,一般在VR游戏里面就会使用前向渲染,因为延迟渲染生成的各个缓存很占用带宽,VR没法带动,所以需要使用前向渲染。但是因为前向灯光比较费,所以我们需要把灯光数量调低一些。
另外前向渲染可以使用MSAA多重采样抗锯齿来得到更好的抗锯齿效果;而延迟渲染就只能依赖临时抗锯齿TAA。而且延迟渲染也不能处理半透明物体。除此以外,延迟渲染对显卡也有一定的要求,必须支持MRT(Multiple Render Targets),Shader Mode3.0以上。
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答有关剪辑学习,网上有很多动辄几万甚至几十万阅读的高赞问答。可见近来对视频剪辑制作,以及对AI视频创作动心的人,还是蛮多的
很多人都知道3ds Max是一款强大的3D软件,但不少艺术家觉得,在动画方面,它似乎没那么出色。这并不是说3ds Max本身不......
你有没有想过游戏设计师和游戏程序员的区别是什么?因为有时他们被称为游戏工程师或软件工程师,而且你经常听到开发者、程序员、工程师......
创作《环太平洋》里的机甲特别复杂。这个过程得靠SGI的精细设计,还得小心地跟实景拍摄的画面融合在一起
你要相信,任何行业或领域,都是有一套学习方法的。找对方法,事半功倍。 今天就给大家分享以下平时做短视频时用得比较多的剪辑干货。
《英雄联盟》官宣新赛季打法:火了这么多年,这款游戏咋做出来的?
今天下午,夏尔天逸公司来火星举办专场人才招聘会,招聘游戏原画、3D模型、角色动画、游戏特效等岗位。该公司目前在职游戏制作人已经......