Unity 内置渲染管线中的延迟着色渲染路径
demi 在 周三, 02/12/2025 - 09:59 提交
本文将详细介绍 Unity 内置渲染管线中的延迟着色渲染路径。
本文将详细介绍 Unity 内置渲染管线中的延迟着色渲染路径。
本文旨在深入解析前向渲染与延迟渲染的工作原理、特点、优势以及适用场景,为游戏开发者提供更全面的技术参考。
延迟渲染大幅度地改变了我们渲染物体的方式。
延迟渲染(Deferred Rendering)大幅度地改变了我们渲染物体的方式。
传统的渲染方式下所做的光照计算流程称为前向渲染。这是一种十分直接的方式,在顶点着色器中对所有待渲染对象的顶点进行一系列的变换,这些变换通常是将顶点的法线和位置变换到裁剪空间。
Source Link
Forward Rendering & Deferred Rendering
https://gamedevelopment.tutsplus.com/articles/forward-rendering-vs-defer...
Deferred Rendering && Forward Rendering
什么是前向渲染(Forward Rendering)?
延迟渲染:将光照计算从观察空间延迟到屏幕空间。先迅速生成不含光照的场景,并将所有用于光照计算的信息存储在几何缓冲(G buffer)中,如深度、表面法向量、颜色、PRT系数等。完成场景渲染后用几何缓冲的信息计算光照和着色。这样更高效。
在Imagination,随着我们将自己世界一流的、曾经运行于你的电视游戏机或个人计算机中的图形技术转向移动设备,能效一直是我们推进产品路线图和十多年来向客户交付技术时做出的几乎每一个决定中最优先考虑的因素。
当使用 Deferred Lighting,那么作用在物体上的光照数量将没有限制。所有的光照都被逐像素的评估,这意味着所有的光照都能对法向贴图正确响应,等等。此外,所有的光源都有 cookies 和 shadows。
延迟渲染:先将摄像机空间的点光栅化转化成屏幕坐标后再进行处理。这样就能减少处理的次数,从而提高效率,既然把处理流程放在了后面,那么处理所需要的参数也必须带到后面的流程。这里使用MRT(multi target render)就很重要,RT占用的显存越大,对显卡的的带宽要求也就越高。