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公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答本文探讨了室内设计课程线下学习的价值和优势,为有志于深入学习室内设计的学生提供了参考和建议。了解火星时代教育的新兴在线学习平台......
游戏特效培训学习班是为了满足游戏行业对专业特效人才的需求,通过系统的培训学习,帮助学员掌握游戏特效技术,提升职业素养和技能水平。
本文评价和推荐一门优质的UI设计课程,为学习者提供专业的UI设计培训,适合想要从事网页UI和前端开发的人士。
本文是一篇关于有经验的UE5设计培训的文章,为学习和提升UE5设计技能的人们提供相关的培训信息和建议。
想要学习3dmax的火星学习哪个学校好?本文介绍了一些值得考虑的选择。
本文介绍网络游戏模型培训班的重要性和益处,以及如何选择适合的培训班。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!