摘要:
上节我们学习了LitShader大致是怎样的起作用的,留下了PBR相关的疑问,这节我们来解答一下URP下的PBR究竟做了什么优化。 要知道做了什么优化,就必须知道原来的PBR是什么样子。 Unity原来的Standard是这样写的: half4 BRDF1_Unity_PBS (half3 diff 阅读全文
摘要:
这节我们来看一下URP下的LitShader。LitShader也是基于物理渲染的,很多方法和属性看过默认管线PBR代码的应该都会很熟悉,我们现在再过一遍,加深一下印象,同时疏通一下以前可能没有掌握的地方。 先看Shader的Properties: // Specular vs Metallic w 阅读全文
摘要:
上次我们了解了URP大致的框架,接下来看看每个Pass都是做什么的,先看DrawObjectPass: 从截图中我们可以看到这个Pass主要用于渲染不透明物体和半透明物体(ForwardPath)。 首先我们看一下这个Pass的构造: public DrawObjectsPass( string p 阅读全文
摘要:
上一章讲到了URP的RenderSingleCamera函数的Renderer之前,这次我们继续,开始了解Unity封装的ForwardRenderer是个什么神秘物体。 为了方便,先把上次讲到的方法贴在这里: 1 public static void RenderSingleCamera(Scri 阅读全文
摘要:
上一节我们知道了SRP的作用和基本用法,现在来看一下我们的主角--URP是个怎样的管线把! Unity2019.3及之后的版本才能看到URP这个package,前身是LWRP,可以创建默认管线项目然后手动导入,或者直接创建URP项目。导入之后我们开始分析URP的代码: 回到我们最开始学习SRP时的感 阅读全文
摘要:
学习URP之前首先要知道SRP是什么。 SRP(Scriptable Render Pipeline)是Unity向开发者提供的用来组织渲染数据和自定义提交渲染方案的接口,用户可以灵活的根据需求选择自己的渲染信息组织和提交方案。 而URP就是Unity官方在SRP的基础上实现好的一套方案。 我们先来 阅读全文