Deferred Rendering延迟渲染技术

延迟渲染技术是将着色计算延迟到深度测试之后进行处理的一种渲染方法。
其优势是将光源的数目和场景中物体的数目在复杂度层面上完全分开。能够在渲染成百上千光源的场景的同时保持很高的帧率。

在介绍延迟渲染之前我们首先需要提及的就是Forward Rendering,正向渲染是根据所有的光源照亮一个物体,之后再渲染下一个物体。其简单也容易实现。
延迟渲染的原理是:先将所有的物体都绘制到屏幕的缓冲空间(G_buffer)中,然后再逐光源对该缓冲进行着色,这样就避免了因为计算没有通过深度测试而被丢弃的片元而产生不必要的开销。总的来说就是先进行深度测试,之后再进行着色计算。
之前提到的G_Buffer,也就是几何缓冲区,他的作用是为了存储每个像素对应的位置,法线信息和漫反射颜色等等材质参数。
Deferred Rendering过程分析:
一、几何处理阶段:Geometry Pass
二、光照处理阶段:Lighting Pass:使用G_Buffer中存储的数据进行场景中的光照进行计算(光照的计算过程和之前是一样的,不同的是变量的获取是从G_Buffer,之前是从vertex函数中获取)。

延迟渲染的缺点:
1、内存开销大
2、对于透明物体的渲染存在问题
3、不支持抗锯齿功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值