|
@@ -1594,5 +1594,14 @@ void main()
|
|
|
|
|
|
|
|
**不支持混色**:延迟渲染的光照阶段是全屏后处理,无法像正向渲染那样按深度排序透明物体,因为G-Buffer每个像素只能存储一个表面的数据,深度测试后,只有最靠近相机的表面被保留
|
|
**不支持混色**:延迟渲染的光照阶段是全屏后处理,无法像正向渲染那样按深度排序透明物体,因为G-Buffer每个像素只能存储一个表面的数据,深度测试后,只有最靠近相机的表面被保留
|
|
|
|
|
|
|
|
-**不支持 MSAA**:最简单的 4倍 MSAA 需要 4倍的 G-Buffer 数据,显存压力更大。
|
|
|
|
|
|
|
+**不支持 MSAA**:最简单的 4倍 MSAA 需要 4倍的 G-Buffer 数据,显存压力更大;G-Buffer 存储的是几何信息(位置、法线、材质等),MSAA计算的对象是颜色;使用 MSAA 一个像素格对应的采样点可能对应不同的物体,无法共享几何数据
|
|
|
|
|
+
|
|
|
|
|
+#### 延迟渲染和前向渲染结合
|
|
|
|
|
+
|
|
|
|
|
+如果想要渲染光源在场景中,使用延迟渲染是做不到的
|
|
|
|
|
+
|
|
|
|
|
+- G-Buffer 中只存储了场景物体的几何信息,不包含光源本身的几何信息
|
|
|
|
|
+- 光源立方体需要自己的深度计算,与场景深度缓冲冲突
|
|
|
|
|
+- 延迟渲染的光照阶段输出的是光照结果,而不是光源的几何表示
|
|
|
|
|
+
|
|
|
|
|
|