Feedback Wanted: Lightweight Render Pipeline

Are there any plans to fix the postprocessing for the LWRP with VR in 2018.3? I’ve already send a bug report and QA told me that there are not certain if the issue is also gonna be fixed for LWRP 4.x.

Submitted the bug for the transparent shader issue which it seems like it was fixed in 2019.1a11. Although now it seems like using regular Singe Pass Stereo (Not instanced) is causing the image to render upside down in that version. I just submitted a bug fix for that as well.

Also, not sure if it was reported already or mentioned in this post. But Unity Editor Preview windows like the Animation Preview doesn’t clear the camera so you get weird doubling effects in those previews.

Just wanted to provide the feedback that so far, changing to LWRP has gone fairly flawlessly. Really well done!

The only issue blocking me is the lack of Mixed Mode lighting (Shadowmasks in particular). That seems like a rather large feature to punt down the line! 19.1 is still alpha (much less beta, much less final, much less patched up), so planning on 19.2 likely puts this basic feature months out? Overall, really good work, the transition has been fairly painless, but Subtractive lighting really doesn’t cut it in most game scenarios!

Hi, I am trying to port a built-in surface shader that use custom lighting model to LWRP, and I am trying to stay within the LWRP framework and not modify default Lighting is possible, do I more or less need to rewrite the whole thing to work on the Emission alone?

Could you post a screenshot of your LWRP asset settings (shadows section) + your game screenshot? Shadow quality will depend on soft shadows + resolution + shadow volume size

That sounds like a bug. I haven’t seen this reported. Could you open a case? This way we will get back to you with updates.

Could you point me out to the issue so I can follow up on this one?

I’m glad it upgraded nicely for you. Baked Indirect will be available in 19.1. It’s planned to be done this week. Shadowmasks unfortunately will be only for 19.2+. We are taking the approach of developing LWRP from bottom-up in terms of features. Some features will be missing in LWRP but we’d rather focus on Q&A and performance and deliver a pipeline that has some missing features but it’s stable than rushing features in and risk quality.

1 Like

Postproccessing doesn’t work at all with VR and LWRP 4.x . I remember that this was already fixed in LWRP 3.x or LWRP 2.x. The Case Nr is 1105704.

Most likely you only need to do functions to initialize a SurfaceData and InputData to get a custom lighting model. Take a look at https://github.com/Unity-Technologies/ScriptableRenderPipeline/blob/master/com.unity.render-pipelines.lightweight/Shaders/LitForwardPass.hlsl

We plan to make it easier to customize light models, but this is a bigger discussion that also involves ShaderGraph. Meanwhile, we also welcome all kinds of feedback/suggestions regarding this. The easier/more flexible we can make it for you the better.

2 Likes

Thanks. I’ve asked around. As soon as I have more info I’ll get back to you.

1 Like

Hey guys,

We are giving a strong push to look at performance issues in LWRP. If you have a game/project that is performing worse in LWRP than Built-in please submit it as a bug. It will help us improve LWRP performance as most likely this will catch scenarios not caught by our performance tests.

1 Like

Are 4.x and 5.x mostly on par in term of performance at the moment?

(We are stuck with 4.x for the foreseeable future, but curious to know; Also I hope the cause for slow inspector repaint when emission is enabled has been identified, aka case 1105661)

Hey phil_lira, regarding performance / eventually ram leak / even crash, I’ve got this very problematic crash issue with LWRP (which I though initially to be about 2018.3 beta):
Feel free to take an eye on the case here https://discussions.unity.com/t/724058
(case 1108269)

Also, an other issue I’ve got with latest LWRP:
3984436--342877--upload_2018-12-11_17-44-49.png

Again, re-import the LWRP folder should fix your problem :slight_smile:

I don’t know why it kept happening with Unity 2018.3 beta/rc, but at least here a workaround.

1 Like

Considering the fact that’s been happening for more than 4 months, that i’ve been testing 10+ versions of LWRP and reimported the whole project even more times. I can confirm that didn’t fixed it at all ^^"

I mean, for the zwaitformultipleobjects crashes.
For the other issue, you’re probably right. Just realized you were probably talking about that other one.

By the way, does anyone has a single idea what that zwaitformultipleobjects crashes are ?

I’m noticing a lot of broken Editor views (preview, material thumbnail, ShaderGraph nodes) when running the game in LWRP and SPS VR.

I’ve isolated the problem to the LightweightRenderPipelineCore’s IsStereoEnabled, which does not take into account the other CameraTypes. I’ll be filing a bug.

Edit: I’ve submitted the bug report under case 1109009.

The fix is actually quite trivial:

            //bool isSceneViewCamera = camera.cameraType == CameraType.SceneView; // Wrong.
            bool isGameCamera = camera.cameraType == CameraType.Game || camera.cameraType == CameraType.VR;
            return  XRGraphics.enabled &&
                    isGameCamera &&
                    (camera.stereoTargetEye == StereoTargetEyeMask.Both);

This also fixes the issue where run-time Reflection Probes break in VR.

Ah I was referring only to your screenshot problem, the failed to open source file problem. For your actual issue you need to wait for a Unity team response. I have never seen it.

Hi, I am reporting yet another issue with LWRP that I believe is actually caused by Unity core bug, but since it’s pretty prevalent and I haven’t found an open issue for it, I decide to report here as well:

First check this short clip: e3l5c

What happened? Well, when implementing a Scriptable Render Pass, IBeforeCameraRender’s ExecuteBeforeCameraRender will pass a camera object that is supposed to be the main camera of game view for rendering.

Problem is, it wasn’t the main camera of game view, it was the main camera from scene view! (And it doesn’t always happen, entering play mode or toggling scene view effect can trigger it, at least on macOS with Intel GPU.)

Just to be sure, I added an extra field and reference the main camera instead, and now game view render correctly (of course, the scene view will then be broken): pszt5

I remember seeing this issue when watching Andy’s boat attack demo:

And I face a similar issue when using an asset store tool involving GPU instancing and LWRP: [RELEASED] GPU Instancer page-12#post-3951187

I don’t know what’s going on, so I open a case 1109127, hopefully someone can look into it.

Many thx.

1 Like

Hi there @phil_lira , wanted to post and share my impressions of the LWRP, as it stands in the latest LWRP from the git repo, with ARKit 2.0 Plugin and iOS/Metal. Some of this has to do with the Post Effects v2 pipeline- is there a different thread for that? Should I make a bug report of all these things/ how many of them are already known?

  1. FinalPass.shader, Line 119. Needs target 5.0 rather than 3.0 to compile. Sometimes i’ll get a build error, if i toggle FXAA off/on again sometimes it’ll build. I can overwrite FinalPass.shader to force it to build, but it’ll get re-written on Unity application load.

  2. This was a hard one to track down. When creating a custom Post effect using the Post effects v2 stack, the filename of the post FX need to match the class name of the
    PostProcessEffectSettings
    and not the
    PostProcessEffectRenderer,
    or the effect you created will get DELETED from the asset/scene on build or reload of unity- it essentially won’t serialize properly. If this isn’t a bug and by design, you should make a warning about class name not matching file name.

  3. I ported the same exact effect to the post effects v2 pipeline + LWRP, and compared it to the legacy pipeline.
    Post effects v2 pipeline, when built to iOS/ARKit and rendered to texture [EDIT: or when not rendered to texture. Tried it without, still has same issue], has a built-in latency, feels delayed. The same technique/scene works fine on legacy pipeline. This one in particular made me switch back to legacy. I can’t track down where the frame lag is coming from- it makes post effects seem to lag behind the opaque imagery by at least a frame.

[EDIT 2] : I think this is caused by the GPU doing too much work. I saw a similar delay in legacy/2018 if I worked the device too hard. So, the LWRP has some unmanageable mobile overhead, it would seem…

  1. IBeforeRender, good. IBeforeRender interface not existing before Unity2019a.x, bad. Timeline for backport to 2018?

  2. GetPassToEnqueue should be allowed to return null and handled gracefully in editor at least, no?