Search Unity

No objects show up as Deferred or Legacy Deferred in Render Paths View

Discussion in 'General Graphics' started by JasperByrne, Apr 19, 2019.

  1. JasperByrne

    JasperByrne

    Joined:
    Jul 22, 2017
    Posts:
    7
    My camera setup is somewhat unusual, in that I used Forward for exteriors, and Legacy Deferred for interiors, and sometimes I also use Deferred for an additional camera, which the main camera is rendered onto a texture within. So I use all three render paths at one time or another.

    Previously most objects in interiors were mostly showing up as Legacy Deferred (green) in the interiors (mostly using Legacy/Transparent/Cutout/Diffuse), with some objects using the Standard Shader (Specular Setup) being the main ones which fell back to Forward rendering, along with alpha blended ones. As expected, this used to show mostly as green polygons in the Scene View's Render Paths setting, with some yellow ones.

    Now, however, no matter which shaders I use (except for Vertex Lit), all objects show up in yellow to indicate Forward Rendering. I'm not sure if this is a bug with the Render Paths view, or whether my objects are indeed all falling back to Forward rendering. The low frame rates I'm seeing in interiors seem to indicate this (as I have quite a lot of point lights.) This could be a bit of a show stopper for me unless it is just the case that the Scene View is mistaken.

    Is there any way I can check it? I've tried other shaders including the Standard one, and even using Deferred as opposed to Legacy Deferred (which still produces only yellow polygons in the Render Paths view). It seems that changing rendering mode on the main camera doesn't affect the Frame Debugger's output a great deal, nor the frame rate, so I'm leaning towards the fact that everything's being rendered Forward as the Render Paths view suggests, meaning a lot of lighting calculations no doubt, even though I only allow 2 pixel lights.

    I should note this occurs even when the secondary camera, which uses Deferred Shading, is inactive, as is the case most of the time.

    Am I fundamentally misunderstanding that multiple render paths are not allowed? I'm certain that I was getting a correct mix of Legacy Deferred and Forward rendering earlier in the project's development. I'm confused as to the Graphics settings' renderig path option - that makes it feel as if the whole project should indeed only use one path...

    edit: should mention this is with 2017.4 LTS build
     
  2. JasperByrne

    JasperByrne

    Joined:
    Jul 22, 2017
    Posts:
    7
    I just tested this with a blank scene, Graphics settings set to Legacy Deferred, a single camera also set to Legacy Deferred, and a single cube, textured with either Standard or Legacy Diffuse materials. As expected, the cube still shows up as yellow in the Render Paths view, indicating that it is falling back to Forward rendering.

    As far as I can tell, it's impossible to know whether this is how it is being rendered in the camera and the Render Path view is mistaken, or whether it is indeed falling back to Forward as the view suggests (is there something I should look for to indicate which of these is the case within the Frame Debugger?)

    Should I submit a bug report for this?

    edit: ok this is weird - when I disable HXVolumetricCamera script I'm using in the scene (but enable it in code once the game is run) the render paths now appear correct. The weird part is that I can't get that to happen in the test scene with just one cube and no HXVolumetricCamera - whatever I do seems to produce Forward rendering (except VertexLit shaders.) Not that I mind, as long as it works :D
     
    Last edited: Apr 20, 2019