Hello everyone !
MadGoat SSAA & Resolution Scale is now 50% off as part of the Asset Store Spring Sale!
Hello everyone !
MadGoat SSAA & Resolution Scale is now 50% off as part of the Asset Store Spring Sale!
SSAA & Resolution Scale 2.0.8 is live on asset store!
Whats new in 2.0.8
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.
Do you think I may have missed anything or any suggestions about how could we get this fixedā¦?
Best wishes, Zi
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.
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.
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
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.
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
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
Woo! Super exciting! Canāt wait!
Hi @Raul_T ,
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:
Debug.Log("Dynamic res changed: " + dynamicResolutionChanged);
if(dynamicResolutionChanged && madGoatSSAA)
{
if(dynamicResolution)
{
Debug.Log("Dynamic resolution enabled, adaptive");
madGoatSSAA.SetAsAdaptive(0.5f, 1.5f, Filter.BICUBIC, 0.8f, 1f);
}
else
{
Debug.Log("Dynamic resolution disabled, fixed");
madGoatSSAA.SetAsScale(1f);
}
dynamicResolutionChanged = false;
}
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.
Hey!
Sounds like a bug with the API and Iāll have to look more into it to be sure what happens there. Iāll let you know as soon as I find anything
And for the other question, seems like youāre right. Iām shocked nobody (including me) ever noticed or reported this before. Iāll see what I can do about this.
Thanks for reporting!
No problem. If anyone faces this issue in the meantime as a workaround Iāve added two SSAA components to my camera, one adaptive and the other fixed. Now I just toggle the components enabled status depending on the checkbox state. This only works for me because I have set configurations, if the player is allowed to adjust target refresh rate / scaling limits it wonāt work for you.
Hello again!
The adaptive API issue is due to a line of code in the API methods that somehow went missing with some previous update and slipped through our pre-release tests. You can fix it by adding this to each SetAsAdaptive function in the SSAA scripts:
InternalRenderMode = RenderMode.AdaptiveResolution;
For example:
As for the vsync targeting issue, Iām working on something and Iāll get back to you soon
P.S. Iāll push a 2.0.9 patch with both fixes and some other fix of a postprocessingstack integration issue reported on discord ASAP
Thanks, just tested and this fixed the issue. Looking forward to the vsync update
I came up with something to support vsync target framerate, could you check this out?
Replacing the
protected IEnumerator UpdateAdaptiveRes() {...}
with the following in MadGoatSSAA.cs should do the trick:
protected IEnumerator UpdateAdaptiveRes() {
yield return new WaitForSeconds(UnityEngine.Random.Range(2, 5));
if (InternalRenderMode == RenderMode.AdaptiveResolution) {
var compFramerate = AdaptiveResTargetVsync ? Screen.currentResolution.refreshRate : AdaptiveResTargetFps;
if (PerfSampler.CurrentFps < compFramerate - 5) {
InternalRenderMultiplier = Mathf.Clamp(InternalRenderMultiplier - 0.1f, AdaptiveResMinMultiplier, AdaptiveResMaxMultiplier);
}
else if (PerfSampler.CurrentFps >= compFramerate + (AdaptiveResTargetVsync ? -1 : 10)) {
InternalRenderMultiplier = Mathf.Clamp(InternalRenderMultiplier + 0.1f, AdaptiveResMinMultiplier, AdaptiveResMaxMultiplier);
}
}
if (enabled) StartCoroutine(UpdateAdaptiveRes());
}
This will allow the plugin to supersample as long as the framerate matches the refreshrate. Will also be included in the 2.0.9 patch.
Hello there, Unity 2019 LTS, Iāve been experimenting with the asset and I got 2 questions:
Hello!
SSAA & Resolution Scale 2.0.9 is live on asset store!
Whats new in 2.0.9
SSAA & Resolution Scale 2.0.10 is live on asset store!
Whats new in 2.0.10
SSAA & Resolution Scale is now on sale at 50% off on asset store!
Check it out at LINK