Unity3D LWRP 学习笔记

配置文件

  • LightweightRenderPipelineAsset:LWRP配置文件(创建这个文件并拖动到图形设置上),负责创建并配置渲染管线(LightweightRenderPipeline)。
分类 配置项 说明
General RenderType Forward Renderer 默认渲染器
Custom 自定义渲染器(派生自默认渲染器)
Depth Texture 是否生成深度纹理
Opaque Texture 是否生成无透明物体渲染纹理
Opaque Downsampling None 开启Opaque Texture才能用
2x Bilinear
4x Box
4x Bilinear
Quality HDR true/false 是否开启HDR
MSAA disabled/2x/4x/8x 抗锯齿等级
Render Scale 1 渲染缩放比例
Lighting Main Light Disabled 关闭主光源
Per Pixel 开启像素主光源
Cast Shadows 主光源是否投射阴影
Shadow Resolution 2048 主光源阴影分辨率
Additional Lights Disabled 关闭次光源
Per Pixel 开启像素次光源
Per Object Limit 4 次光源最大数目
Cast Shadows 次光源是否投射阴影
Shadow Resolution 512 次光源阴影分辨率
Shadows Distance 50 阴影距离
Cascade No 关闭阴影级联等级
Two 二级级联阴影
Four 四级级联阴影
Depth Bias
Normal Bias
Soft Shadows 是否开启软阴影
Advanced SRP Batcher true 是否开启同Shader不同材质批次合并
Dynamic Batching false 是否开启动态合并
Mixed Lighting false 是否开启混合光源
Shader Variant Log Level disabled
Only Lightweight RP Shaders
All Shaders

渲染脚本

  • LightweightRenderPipeline:

    • 筛选场景中的物体。
    • 设置全局Shader变量。
    • 为每场景中的每一个Camera进行一次渲染。
    • 为每一个Camera初始化渲染数据(RenderingData、LightData、CameraData、ShadowData)。
    • 使用ForwardRenderer类的实例进行实际的渲染。
  • ForwardRenderer:

    • 初始化RenderPass。
    • 根据配置文件把需要的RenderPass放入渲染队列中。
    • 为渲染队列分若干块。
    • 按块执行RenderPass。
  • RenderPass:不同的类型会有不同的渲染过程。

Shader

  • Lit.shader:
    • ForwardPass:进行物体渲染,在其中使用了LightweightFragmentPBR(…)函数进行PBR材质的渲染。
    • DepthOnlyPass:进行深度渲染。
    • ShadowCasterPass:进行阴影渲染。

未完待续…

发布了41 篇原创文章 · 获赞 4 · 访问量 3900

猜你喜欢

转载自blog.csdn.net/weixin_42487874/article/details/103125753