《Unity Shader》9.4.3 使用帧调试器查看阴影绘制过程

首先,我们需要在Window -> Frame Debugger中打开帧调试器。

点击 Window-analysis-frame debugger,点击 enable

图9.20中可以看出,绘制该场景共需要花费20个渲染事件。这些渲染事件可以分为4个部分:UpdateDepthTexture,即更新摄像机的深度纹理;RenderShadowmap,即渲染得到平行光的阴影映射纹理;CollectShadows,即根据深度纹理和阴影映射纹理得到屏幕空间的阴影图;最后绘制渲染结果。

我的只有15个

我猜是 draw dynamic 是 draw plane 和 plane(1)

我们首先来看第一个部分:更新摄像机的深度纹理,这是前4个渲染事件的工作。

Unity调用了Shader: Unity Shader Book/Chapter9 Shadow pass #3来更新深度纹理

尽管Chapter9-Shadow中只定义了两个Pass,但正如我们之前所说,Unity会在它的Fallback中找到第三个Pass,即LightMode为ShadowCaster的Pass来更新摄像机的深度纹理

在第二个部分,即渲染得到平行光的阴影映射纹理的过程中,Unity也是调用了这个Pass来得到光源的阴影映射纹理。

第三个部分中,Unity会根据之前两步的结果得到屏幕空间的阴影图,如图9.22所示。

在最后一个部分中,如果物体所使用的Shader包含了对这张阴影图的采样就会得到阴影效果。图9.23给出了这个部分Unity是如何一步步绘制出有阴影的画面效果的。

相关推荐
南無忘码至尊3 小时前
Unity学习90天-第2天-认识Unity生命周期函数并用 Update 控制物体移动,FixedUpdate 控制物理
学习·unity·游戏引擎
小林up6 小时前
【Unity URP源码阅读1】ColorGradingLUT
unity·游戏引擎
风酥糖9 小时前
Godot游戏练习01-第27节-升级选项选择生效
游戏·游戏引擎·godot
郝学胜-神的一滴10 小时前
[简化版 GAMES 101] 计算机图形学 04:二维变换上
c++·算法·unity·godot·图形渲染·unreal engine·cesium
南無忘码至尊11 小时前
Unity学习90天-第2天-认识键盘 / 鼠标输入(PC)并实现WASD 移动,鼠标控制物体转向
学习·unity·c#·游戏开发
星夜泊客11 小时前
unity 海底海洋资源OceanEnviromentPackUrp材质丢失修正
unity·游戏引擎·材质
weixin_4242946712 小时前
Unity 的Button Animator
unity·游戏引擎
UQ_rookie12 小时前
【Unity3D】在URP渲染管线下使用liltoon插件出现粉色无法渲染情况的解决方案
unity·游戏引擎·shader·urp·着色器·vrchat·liltoon
aqiu~1 天前
VSCode编辑器用于Unity项目
vscode·unity
小贺儿开发1 天前
Unity3D 心理沙盘互动演示
unity·ai·pdf·人机交互·工具·互动·心理沙盘