A few questions about the Lightweight Render Pipeline

As a side project, I am working on a recreation of a very old BSP geometry based game. I have written a few custom vertex/fragment shaders which interpolate between lightmaps, use texture arrays and a bunch of other fancy things to render the world. The one downside is that with the old renderer, each light that reached an object was rendered in a different pass. The Lightweight Render Pipeline apparently changes this and renders it in one pass.

Obviously, I will only switch the this render pipeline if I am able to convert my shaders - they are vertex/fragment shaders not surface shaders (I hate how inflexible they are). It doesn’t look like there is an automatic way to do this - the automatic converter only fixes a handful of shaders from Unity.

So here are the questions:

  • Can I create a shader graph for a very simple diffuse shader and get the output in a vertex/fragment shader?

  • Is there a way to get the vertex/fragment source for the Standard (Simple Lighting) shader in the LRP?

Essentially I need to get a basic diffuse lit shader in the vertex/fragment form so I can read my custom logic.

Thank you for your time!

Right click on the master node, and select copy generated shader, or select the shader in the project view and click on show generated shader in the inspector.

On Unity’s GitHub:
https://github.com/Unity-Technologies/ScriptableRenderPipeline/blob/master/com.unity.render-pipelines.lightweight/Shaders/SimpleLit.shader