3.2.3 以前属于Shader部分,Shader部分不进行讲解。
这里只涉及Unity内部管线的设置问题。
3.2.3 向GPU发送灯光数据
在UniversalRenderPipeline.cs > RenderSingleCamera()
下调用函数renderer.Execute()
该函数走向ScriptableRenderer.cs>Execute()
函数,该函数调用了SetupLights()
函数
SetupLights()
函数为一个虚函数
具体实现在UniversalRenderer.cs>SetupLights()
中
该方法调用了m_ForwardLights实例下的_ForwardLights.Setup(context, ref renderingData);
方法
URP中关于前向渲染的灯光设置,即在ForwardLights.cs中
SetUp()
函数将来自于ref RenderingData renderingData
中的灯光数据发送到GPU。
其中,关键字【ShaderKeywordStrings.AdditionalLightsVertex】 在 UniversalRenderPipelineCore中定义
设置光源数据
设置主光源
设置额外点光源
Shader中的数据
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。