《Unity3D ShaderLab开发实战详解》第5章 第一个被执行的Pass

渲染路径

  • 渲染路径:VertexLit、Forward、Defferred。
  • LightMode:Vertex、ForwardBase、ForwardAdd、PrepassBase、PrepassFinal、Always等。

不同渲染路径下Pass的执行情况

  • VertexLit路径:只执行光照模式为Vertex的Pass。
  • Forward路径:优先执行光照模式为Forward的Pass,如果没有就执行光照模式为Vertex的Pass。
  • Deferred路径:优先执行光照模式为Deferred的Pass,如果没有就优先执行光照模式为Forward的Pass,如果没有就执行光照模式为Vertex的Pass。

不同渲染路径下Always Pass的执行情况

  • 只有Always Pass:所有渲染路径下都执行Always Pass。
  • 只有Always Pass和Vertex Pass:所有渲染路径下都执行Always Pass和Vertex Pass。
  • 只有Always Pass和Forward Pass:
    • VertexLit路径:都不执行。
    • Forward路径:都执行。
    • Deferred路径:都执行。
  • 只有Always Pass和Deferred Pass:
    • VertexLit路径:都不执行。
    • Forward路径:都不执行。
    • Deferred路径:只执行Deferred Pass。
  • 只有Always Pass、Forward Pass和Deferred Pass:
    • VertexLit路径:都不执行。
    • Forward路径:只执行Always Pass和Forward Pass。
    • Deferred路径:
      • 新Deferred路径:都执行。
      • 老Deferred路径:只执行Deferred Pass。

可能因为代码版本问题有差异,容后详查。

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

猜你喜欢

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