Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] MadGoat SSAA and Resolution Scale

Discussion in 'Assets and Asset Store' started by Raul_T, Mar 25, 2017.

  1. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    With the way SSAA (and supersampling in general) works it would make little sense to mask where the anti aliasing gets applied as the whole frame would still be rendered at higher res anyways. Also masking would require rendering the frame twice - once at native res and once supersampled - which would actually make performance worse.

    We've experimented with supersampling a region of the screen in the past (Similar to how some games used to render the edges of the screen at a lower res to save performance on consoles etc.). We got some results from it, but the way we implemented it was not really post processing friendly (most effects would need to be rewritten) and we ditched it.

    The feature itself is still in our backlog but not something we actively look into. Maybe in 2020 :)
     
  2. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Ah okay. If it works with motion blur too it's gonna look great! Btw I tried with both post processing stack motion blur and with the older 2017 standalone motion blur but SSAA just doesn't seem to like motion vectors.
    But man I finally have decent looking vegetation!
     
    Raul_T likes this.
  3. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,115
    I am a bit confused, I tried SSAA on HDRP 7.1.7 and got errors related to SSAAExtensionPostProcessingStack2.cs.

    Is HDRP not supported yet? or am I doing something wrong.
     
  4. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Are you by any chance still having the postprocessing stack v2 package installed into your project while using HDRP?
    Normally the ppv2 extension script only gets compiled if ppv2 is installed. Maybe you have leftovers of it in the project?

    Check your project settings under player tab and see if UNITY_POST_PROCESSING_STACK_V2 is still in the script define symbols. If it is, remove it and see if this fixes your issue. If its not that then it sounds like a bug and I'll have to look more into it after holidays.

    Anyways I'll add some extra checks for HDRP under this script to make sure it wont compile on HDRP even if ppv2 is installed. Probably in the next patch along with some other fixes.
     
    jjejj87 likes this.
  5. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,115
    Thank you! It is working now :)

    BTW, on another note, custom passes on HDRP don't show up when SSAA is enabled. Hope you can fix that on the next release.

    Thanks!
     
    Raul_T likes this.
  6. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Gonna look into it as soon as possible! Thanks for letting me know.
     
  7. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello Everyone! We have an announcement to make!
    For this unique occasion of saying goodbye to a fantastic year, we want to say thank you for fully supporting us in our projects! The MadGoat team is wishing you a Happy New Year and is preparing a GIVEAWAY! :D

    THE PRIZES
    We are giving away 5 licenses of each
    - MadGoat SSAA & Resolution Scale http://u3d.as/MBg
    - MadGoat Modular Houses http://u3d.as/1Fck
    - MadGoat Debugger & Benchmark http://u3d.as/jkL

    HOW TO PARTICIPATE
    Simply join our discord at https://discord.gg/THHE33v and submit your entry in our #giveaway channel!

     
  8. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,115
    MadGoat, any news on custom passes on HDRP?
    I've been looking for solutions but your SSAA seams to be the best, but the issue with custom passes is really killing me.
    Any help would be really appreciated.

    Thank!
     
  9. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello,

    I've looked into the issue but I can't seem to reproduce it. As long as you have custom passes enabled on both your HDRP settings and your camera render settings overrides, custom passes should work with no intervention regardless of SSAA being on or off (they execute before SSAA pass)

    Tested on latest 2019.3 with the asset store version of the SSAA (we have a new patch that is pending - 2.0.3 - which aims for better 2019.3 compatibility among other HDRP fixes but the version currently available on asset store should also work perfectly minus some errors at initial setup)



    P.S.: if your custom pass effects are pixel radius based you might want to adjust the radius dynamically via script based on your SSAA render scale. SSAA might negate your effects while downsampling if they deal with small radiuses (1px etc.) as there are more pixels fitted in the same physical screen resolution (similarly as it happens with HDRP's built in Bloom and SSAO)
     
    Last edited: Jan 28, 2020
  10. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SSAA & Resolution Scale 2.0.3 is live on asset store!
    - Compatibility Improvements for Unity 2019.3+
    - Compatibility Improvements for Editor No Domain Reload mode
    - Fixed issue causing SSAA to not compile when DXR enabled under HDRP
    - Fixed issue causing SSAA to go blackscreen after initial setup under HDRP on 2019.2+
    - Fixed issue causing SSAA to not compile when PostProcessingV2 was present in project with unsupported HDRP or URP versions
     
  11. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Important announcement for 2019.3 URP users

    An issue with SSAA and URP under 2019.3 where SSAA will not initialize correctly after plugin installation (and will result in a empty screen and console errors) has been reported and is currently investigated.

    In the meanwhile, if anyone is using 2019.3 with URP and is facing this issue, just reload your scene after applying the SSAA component to a camera for the first time and everything should start working again.

    A fix for this will be included in 2.0.4 along with other minor fixes.
     
    Last edited: Feb 4, 2020
  12. Jakub-Pilar

    Jakub-Pilar

    Joined:
    May 18, 2015
    Posts:
    48
    Hi, is MadGoat SSAA compatible with Beautify? I bought both and it is not working (when I turn on SSAA, Beautify is not working). Thanks
     
  13. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    MadGoat SSAA is built to support any post processing system, as stated in the documentation. Please check your email, I have replied to your support ticket with info on how to make it work correctly :)
     
  14. Unplug

    Unplug

    Joined:
    Aug 23, 2014
    Posts:
    256
    please share how to make it work. same problem here... it remove all beautify effect :(

    EDIT : saw that you need to copy all effec to child camera that is created. This also make me scared of performance if 3 camera are running instead of 1 :S
     
    Last edited: Feb 9, 2020
  15. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    hopeful and Unplug like this.
  16. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Just saw your edit. Only one camera renders your scene (the child _SSAA one). Other cameras don't render any geometry and their performance impact is marginal.

    As a side note, make sure to disable your post processing on the original camera after copying it to the _SSAA camera, otherwise it will get computed by the gpu twice and that can actually cause performance issues with complex post processing. With SSAA, the original camera is only used for displaying the supersampled render.
     
    hopeful and Unplug like this.
  17. Jakub-Pilar

    Jakub-Pilar

    Joined:
    May 18, 2015
    Posts:
    48
    It's working now, thanks, didn't read the manual :)
     
    Raul_T likes this.
  18. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SSAA & Resolution Scale 2.0.4 is live on asset store!

    Whats new in 2.0.4
    - Fixed issue causing SSAA to throw null reference exceptions when switching pipelines on Unity 2019
    - Fixed issue causing SSAA to throw null reference exceptions when upgrading shader files on Scriptable Pipelines
    - Fixed issue causing SSAA to throw errors on Universal RP when MSAA is enabled. (SSAA Script will disable MSAA on initialization for now)
    - Fixed issue causing SSAA to go blackscreen after initial setup under Universal RP on Unity2019.3
    - Removed SSAA_UI Camera feature completely. Worldspace UI is now handled by render camera to allow depth testing and better quality.

    The documentation will also be updated soon to reflect the changes (in regards to UI).
     
  19. Unplug

    Unplug

    Joined:
    Aug 23, 2014
    Posts:
    256
    work well, thanks !
     
    Raul_T likes this.
  20. Hypertectonic

    Hypertectonic

    Joined:
    Dec 16, 2016
    Posts:
    75
    Interested in this asset, but wondering how does it perform for VR in Oculus Quest. Is it usable?
     
  21. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello. While it does work (it runs with no error), I wouldn't recommend using our SSAA solution on mobile hardware, as it does multiple blit() operations on the screen buffer which would probably cripple most mobile GPUs.
     
  22. Jess_AA

    Jess_AA

    Joined:
    May 8, 2019
    Posts:
    38
    Hi,

    Trying to get this to work on LWRP 5.16.1. Have a fresh project, add the MadGoat Script to the main camera (I'm using MadGoat 2.0.4), assign the SSAA_URP_RenderPass to the custom renderer type, and...no geometry in the scene renders. I get these errors:
    Cannot create required material because shader is null which is coming from CoreUtils.cs
    and
    Missing . ScreenSpaceShadowResolvePass render pass will not execute. Check for missing reference in the renderer resources

    I've tried removing UNITY_POST_PROCESSING_STACK_V2 from Scripting Define Symbols but it gets automatically readded.
     
  23. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello.

    LWRP 5.16 is a bit old but should work, so it sounds like a bug. I will have to look into it later today or tomorrow.
     
  24. sera0506

    sera0506

    Joined:
    Apr 1, 2014
    Posts:
    7
    Hi !
    I wanna test it on Single-pass Instanced.
    Does it Support SPI?
     
  25. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SinglePass Instanced is not supported in the current version, only the regular SinglePass and MultiPass, but it will be added with the next version if there is demand for it :)
     
  26. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Seems like it was an issue with the RenderPass references while submitting the last version of SSAA, which broke the renderer scriptable object for LWRP.

    Can you try to revert your cameras as they were before adding SSAA, then locate the SSAA renderpass and add the SSAA feature to it?



    If the render feature is missing (none) press on the + button and add the SSAA render pass to it


    After you do this, you can setup SSAA as you normally would.

    It's odd that the feature went missing on the asset store package, since the issue is not present in our development projects. I guess something went wrong with serialization during packaging for asset store. Will make sure that this gets fixed in the 2.0.5 hotfix which will release soon.

    Let me know if this fixes the issue for you. If not, I would need a sample project to investigate further.
     
  27. sera0506

    sera0506

    Joined:
    Apr 1, 2014
    Posts:
    7
    Hi
    I made some modified by reference the Unity Single-pass Instanced Manual.
    Now MadGoat SSAA can work on both eyes.No issues found for the time being :)
    Wish will added with the next version. The draw calls by Single-pass instanced dropped by half!
    Thank you~
     
    Raul_T likes this.
  28. Jess_AA

    Jess_AA

    Joined:
    May 8, 2019
    Posts:
    38
    Thanks for this, I won't get a chance to look at this today but will look into it Monday!
     
  29. Jakub-Pilar

    Jakub-Pilar

    Joined:
    May 18, 2015
    Posts:
    48
    Hi,

    I am trying to compile project and got this error (I cant compile):

    Assets\X_Ostatni\MadGoat-Studio\MadGoat-SSAA\Scripts\MadGoatSSAA.cs(469,18): error CS0103: The name 'inspectorFirstTimeSetup' does not exist in the current context

    Do you know what is it please?

    Version 2.0.4

    Thanks,
    Jakub
     
    Raul_T likes this.
  30. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello Jakub,

    This is an issue that was already been reported and will be fixed in 2.0.5 which will release this week (apologies to everybody for the inconvenience, this one slipped in with the last update, along with some other minor issues, as we released it in a rush to fix some 2019.3 functionality breaking issues)

    In the meanwhile, to fix it, just replace line 469 with the following lines

    #if UNITY_EDITOR
    if (!inspectorFirstTimeSetup) return;
    #endif
     
    Jakub-Pilar likes this.
  31. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SSAA & Resolution Scale 2.0.5 is live on asset store!

    Whats new in 2.0.5

    - Fixed issue causing SSAA to create multiple non parented cameras on adding component - introduced with 2.0.4 (oops!)
    - Fixed issue causing SSAA to throw errors when destroying the gameobject or removing the component while enabled
    - Fixed issue causing SSAA to throw null reference exception for one frame after opening the project
    - Fixed issue causing blackscreen when application not playing
    - Fixed issue causing OnPreRender to not work correctly on SRP
    - Minor improvements to cinemachine support
    - Minor improvements to LWRP legacy support
    - Fixed missing render feature on LWRP
     
    Jakub-Pilar likes this.
  32. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, I have some announcements to make regarding MadGoat SSAA & Resolution Scale.

    1. We are moving the documentation to a github wiki!
    As everybody knows, our documentation was based on google docs in the past, but as it grown more and more complex it became harder to maintain as a rich text document. This wiki aims to better organize the documentation and to facilitate easy navigation between its topics. We have also added more information regarding compatibility, and a documentation for the scripting API.

    You can find it at: https://github.com/MadGoat-Studio/MadGoat-SSAA-Resolution-Scale/wiki

    *Links from the asset store and the asset package will also be updated to open the wiki instead of the old documentation shortly.

    2. Announcing MadGoat SSAA & Resolution Scale v2.1.0
    It's been a while since the last major update for our SSAA plugin, but finally we are getting close to a new version which brings a lot of new features.

    This is what we currently have planned for it:
    • New Feature - Support for URP 7.2.0+ camera stacking feature
    • New Feature - Support for rendering at fixed resolutions
    • New Feature - Support for temporal SSAA on Standard Pipeline
    • New Feature - Support for switching between non-vr and vr at runtime
    • New Feature - Support for VR SinglePass Instanced rendering
    • API improvements
    • Runtime improvements
    No fixed ETA for it but we hope to have it ready by the end of this spring. Also if there are any other suggestions or features that you would like to see, leave a comment and we would gladly look into them (for 2.1.0 or in the future) :)

    3. Possible increase in price
    This is something we've been thinking about recently, and it might or might not happen with the next update. We are considering this since we are putting a lot of work into maintaining the asset and offering support lately (especially now with Unity branching into 3 different render pipelines), which in turn takes from our worktime on other projects.
     
    Unplug and hopeful like this.
  33. madao223

    madao223

    Joined:
    Nov 11, 2013
    Posts:
    6
    Hello,
    I use latest version on Unity 2019.3 - I have issue where in editor InternalRenderCullingMask after play is OK,
    But when I build the game - in player Internal Render Culling Mask is changed to nothing - therefore camera shows nothing.
    How can i fix this?
     
  34. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hey, this was reporded before and is already fixed in 2.0.6 which is currently pending release. Fix should be live on asset store soon. Thanks!
     
  35. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SSAA & Resolution Scale 2.0.6 is live on asset store!

    Whats new in 2.0.6

    - Fixed issue causing SSAA to not render correctly under built-in pipeline when added to a new camera
    - Fixed issue causing PostProcessingStack v2 integration to not apply correctly on enable
    - Updated documentation links open the new wiki
     
    hopeful likes this.
  36. Username002

    Username002

    Joined:
    Dec 30, 2016
    Posts:
    5
    Hi guys, I'm having issues with a camera resized smaller via viewport rect to render in the middle of the screen (kind of a rear view mirror camera in a car scenario). Once I apply your effect script it forces the camera to render full screen. I'm using Unity 2018.4.14f1 built-in render pipeline. Would be great if you could look into that. Thank you!

    Otherwise I really like your asset, makes the look so much better. Checked a lot of other solutions and yours seems to be the best. Very grateful and thank you for all the work. Definitely will be recommending to my friends.
     
  37. MP-ul

    MP-ul

    Joined:
    Jan 25, 2014
    Posts:
    230
  38. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, we have looked into checkerboard rendering in the past but it's not something that we aim to support in the near future as it would probably be impossible to implement on our side on standard pipeline due to its locked nature, and would probably require pipeline modification/rewrite on URP and HDRP which is not something we want to mess with due to compatibility concerns.
     
  39. MP-ul

    MP-ul

    Joined:
    Jan 25, 2014
    Posts:
    230
    Damn, Thank you for the response though!. To bad unity is not helping with those things.
     
  40. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello again

    Sorry for bothering you with this, but is it possible that you share with me over a private message what you've modified for the SSAA to work with singlepass instanced?

    We've been working on updating the shaders for singlepass instanced lately but even after applying the extra code as documented by unity in the manual we still can't get SSAA VR to render to both eyes on our side. Have you modified anything else than the downsampling shaders?
     
  41. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello everyone !

    MadGoat SSAA & Resolution Scale is now 50% off as part of the Asset Store Spring Sale!
     
    knxrb and hopeful like this.
  42. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    SSAA & Resolution Scale 2.0.8 is live on asset store!

    Whats new in 2.0.8

    - Fixed issue causing SSAA to throw invalid screen resolution errors on initialization in HDRP
    - Minor fixes to ensure initial compatibility with HDRP 8.x.x
    - Minor fixes to ensure initial compatibility with URP 8.x.x
     
    Freznosis likes this.
  43. zisiang

    zisiang

    Joined:
    May 16, 2017
    Posts:
    6
    Hi, thank for your bringing us this amazing AA asset.

    Previous (some time 2 weeks ago), I was still able to download and install the MadGOat SSAA & Resolution Scale into my Unity project(s).

    Today, I encountered a new issue, as it can be seen on the screenshot, it says "Failed to import package with error: Couldn't decompress package". I have manually removed the downloaded package from my computer, and redownload it again, the situation is still occurring. For this test, I am using Unity2019.2.19f1 with HDRP setup.

    upload_2020-5-6_22-39-58.png

    Do you think I may have missed anything or any suggestions about how could we get this fixed..?

    Best wishes, Zi
     
  44. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Sorry for the inconvenience. Seems like the latest patch we pushed went corrupted during upload to asset store servers. We try to solve this as fast as possible.
     
  45. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    The issue should now be fixed!

    Thanks for bringing this to our attention and sorry once again for the inconvenience :)

    P.S. make sure to delete the old package from the asset store cache on your drive before downloading the new one to avoid issues.
     
  46. zisiang

    zisiang

    Joined:
    May 16, 2017
    Posts:
    6
    Hi Raul, thank you so much for fixing this - I will give it a try asap and see how does it go :)

    At the meantime, Unity2019.3.6f1 onwards officially supports HDRP for VR, do you think we can use MadGoat AA for it (SteamVR)?

    Cheers, Zi


     
  47. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    The SSAA VR script on its own should work on any SRP, however our custom image filters are not implemented on HDRP and even URP for VR (mostly due to how unstable VR and its API was on SRPs) so downsampling filtering will fall back to whatever the SRP uses internally to resize textures (iirc bilinear).

    This being said, the supersampling itself should work on VR, but filtering and postprocessing AA will be limited to pipeline defaults. If you find any issues with it and it doesn't work at all please let me know and we can figure this out.

    P.S. Thanks for letting me know about VR being marked as stable, I wasn't aware of this. Will definitely look into it.
     
  48. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    A small sneak peek of some awesome new features coming in 2.1.0

    - Partial TSSAA support for built-in pipeline (makes use of post processing stack v2 at the moment, a proprietary implementation will probably come in future versions)

    - Support for VR SinglePass Instanced rendering

    - Support for URP Camera Stacking (no sneak peek for this yet - under construction)
    - New sharpen feature - brings back a great amount of texture detail that gets lost in filtering and Post AA

    (open pictures in full size for comparison)

    - Greatly improved upsampling render quality by allowing for post processing AA and sharpening with resolution scales under 100%

    (open pictures in full size for comparison)

    - New operation mode for rendering at fixed resolutions - Useful for benchmarks etc.

    The big update should be dropping in the upcoming weeks if nothing bad comes up! Also don't hesitate to give us feedback or ideas :)

    -- Raul
     
    Last edited: May 12, 2020
    transat, Eugene-B and Jakub-Pilar like this.
  49. RobRab2000

    RobRab2000

    Joined:
    Nov 28, 2012
    Posts:
    29
    Woo! Super exciting! Can't wait!
     
    Raul_T likes this.
  50. Stormbreaker

    Stormbreaker

    Joined:
    Aug 15, 2012
    Posts:
    161
    Hi @Raul_MadGoat,

    I've been having some trouble with the API. In my game options I have a simple checkbox to enable or disable dynamic resolution scaling. When enabled the mode should be set to Adaptive with limits 0.5f - 1.5f. When disabled the resolution should be fixed at 100%. Here is the code I'm using:

    Code (CSharp):
    1.         Debug.Log("Dynamic res changed: " + dynamicResolutionChanged);
    2.         if(dynamicResolutionChanged && madGoatSSAA)
    3.         {
    4.             if(dynamicResolution)
    5.             {
    6.                 Debug.Log("Dynamic resolution enabled, adaptive");
    7.                 madGoatSSAA.SetAsAdaptive(0.5f, 1.5f, Filter.BICUBIC, 0.8f, 1f);
    8.  
    9.             }
    10.             else
    11.             {
    12.                 Debug.Log("Dynamic resolution disabled, fixed");
    13.                 madGoatSSAA.SetAsScale(1f);
    14.             }
    15.             dynamicResolutionChanged = false;
    16.         }
    This is the log output when my scene is first started with the SSAA component visible. As you can see the mode should be set to Adaptive, however nothing changes on the component and it remains in the default state.



    I then disabled dynamic resolution in my game options. This seemed to set the component correctly however I'm not sure why the operation mode changed to "Custom" rather than "Resolution Scale".



    I then re-enabled dynamic resolutions in my options and as you can see the mode was not set to adaptive however the filter was set.



    This doesn't seem right. Any idea what is going on here?

    EDIT: To add on an additional question, how does adaptive resolution with target 60 FPS decide to enter supersampling mode when V-Sync is enabled? As this locks the framerate to 60 I get the impression it will never supersample.
     
    Last edited: Jun 8, 2020