Search Unity

Feedback Allow for full-res bloom in 2019.3 URP post processing

Discussion in 'Universal Render Pipeline' started by powersupersport, Jan 6, 2020.

  1. powersupersport

    powersupersport

    Joined:
    Aug 31, 2015
    Posts:
    13
    I have recently decided to upgrade from Unity 2019.2 to 2019.3. The first thing I noticed was that the URP no longer supports the Post Processing Stack v2 (for performance reasons obviously). So, I replicated each and every effect in the new integrated post processing for URP.

    Everything looked exactly the same with the exception of the bloom effect. It just looked straight up bad, like a compressed JPEG. My game depends on lots of emissive highlights, therefore it depends on good looking bloom effect. Enabling the High Quality Filtering option just blurred the result and made it look even more like a compressed JPEG.

    What I did is I went through the bloom shader, then the core shader, didn't find anything that fixes the problem (keep in mind I have very little knowledge of shaders). Then I went into the pipeline code...

    And voila. Found it! The bloom setup halves the source texture by default.

    (The script is located at: Packages/Universal RP/Runtime/Passes/PostProcessPass.cs)
    BloomSetupCode.JPG

    I fixed the problem by removing the binary shift part (equivalent to division by 2 I assume) and the bloom was instantly back to how it looked in PPv2.

    Here's a comparison between the two in my game:

    Half-res:
    HalfRes.PNG
    Full-res:
    FullRes.PNG

    The full res doesn't even need the High Quality Filtering option as it looks just fine (but it makes it even better if toggled on).

    My fix however definitely doesn't solve everything as there is clearly noticeable difference in the bloom scatter (or soft knee). And in addition, my changes were reset on the next project load as Unity probably has some package integrity checking. My only option is to copy the package in the assets every time there's an update and apply the change.

    There is an obvious and understandable reason to why the resolution might've been halved. It's performance. However, I don't see any alternative. Yes, it's optimized for mobile, but it should still offer at least reasonable quality for PC as well. Switching to HDRP will lock my game out of a lot of players (requires high-end hardware), and I am definitely not going back to the default RP (I need that Shader Graph).

    Could there be added an option for the bloom resolution? If not, what are my alternatives?
     
    SolarFalcon and Lars-Steenhoff like this.
  2. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    It would have been better just to give us options and don't think we cannot handle them.
     
  3. sbstn_hn

    sbstn_hn

    Unity Technologies

    Joined:
    Mar 7, 2019
    Posts:
    1
    Hi powersupersport,
    this thread might be interesting for you:
    https://forum.unity.com/threads/post-processing-and-urp-the-plan.795456/#post-5341926

    tl;dr: PostProcessing v2 will be revived for Unity 2019.3 and 2019.4LTS, due to public demand. This might be an option if you are aiming to release on 2019.x.
    2020.X will only support v3 but will support custom post effects.

    I see two options:
    1) stick to PPv2 and 2019.x
    2) upgrade to PPv3 with 2020.1 later, with a possible custom implementation of a bloom effect.
     
    phil_lira and powersupersport like this.
  4. powersupersport

    powersupersport

    Joined:
    Aug 31, 2015
    Posts:
    13
    So, by what I read, Unity 2019.3 (when fully released) will support PPv2 for URP (right now it doesn't)? That would be really awesome and just fine for my project right now. And I'll just port to PPv3 in 2020.x (if the URP default doesn't suit my needs).

    Thank you very much for the response!
     
    phil_lira likes this.
  5. SolarFalcon

    SolarFalcon

    Joined:
    Nov 28, 2015
    Posts:
    170
    Ok, so for clarification, PostProcessing V2 will only be supported when 2019.3 comes out of beta? Cause it's not working right now so I assume that's what was meant.
     
  6. phil_lira

    phil_lira

    Unity Technologies

    Joined:
    Dec 17, 2014
    Posts:
    584
    Ppv2 support is coming with URP package 7.2.0.
     
    powersupersport and SolarFalcon like this.
  7. SolarFalcon

    SolarFalcon

    Joined:
    Nov 28, 2015
    Posts:
    170
    I see, thanks.