unity-shader-可编程渲染管线
Scriptable Render Pipeline, 可编程渲染管线, 也就是可以自定义绘制的顺序
前篇
- 官方资料
- Scriptable Render Pipeline Overview - https://blogs.unity3d.com/cn/2018/01/31/srp-overview/
- 视频介绍 - https://www.youtube.com/watch?v=2wUPgl7upnU
- 仓库 - https://github.com/Unity-Technologies/ScriptableRenderPipeline
- 开发自定义ScriptableRenderPipeline,将DrawCall降低180倍 - https://zhuanlan.zhihu.com/p/38623208
- 优化Scriptable Rendering Pipeline的绘制提交 - https://zhuanlan.zhihu.com/p/66202555
- 别人的测试仓库 (日文) - https://github.com/wotakuro/CustomScriptRenderPipelineTest
说明
这篇文章 开发自定义ScriptableRenderPipeline,将DrawCall降低180倍 已经说明很清楚了, 他也是使用 CustomScriptRenderPipelineTest 测试仓库跑. 可以 clone 下来跑一下.
我用 unity2018.3.11f1 跑有个api变更报错, EndGraphicsJobsLate
改为 EndGraphicsJobsAfterScriptUpdate
即可
这里看切换 默认管线 和 自定义管线
核心代码在 MyScriptableRenderPipeline.cs 中
默认管线
人物 与 假阴影 交替渲染, 导致一个人物就有2个批次
自定义管线
将 所有的人物 先绘制, 然后再 所有的阴影 绘制. 这样只要人物使用的相同的材质球, 都可能在同一批次绘制完成.