YACA request: option to apply evenly across screen

  • phexitol
  • Topic Author
More
9 years 8 months ago #1 by phexitol YACA request: option to apply evenly across screen was created by phexitol
I love the visual effect of YACA, but what I don't like is how it's stronger in the corners/edges. I would like to apply it at a fairly low amount across the entire screen, but the curve slider only allows a minimum of 0.5.

Please Log in or Create an account to join the conversation.

  • Marty McFly
More
9 years 8 months ago #2 by Marty McFly Replied by Marty McFly on topic YACA request: option to apply evenly across screen
That's radially not possible. The chroma shift is caused by a stretching of the image in different directions. But the center never moves. Logically the areas near the screen center move the least. If I shift everything in the screen outside with the same amount, there would be a "hole" in the screen center.

Please Log in or Create an account to join the conversation.

  • phexitol
  • Topic Author
More
9 years 8 months ago #3 by phexitol Replied by phexitol on topic YACA request: option to apply evenly across screen
Yeah, I actually got to thinking about that after I posted. As an aside, how bad would it look if the curve was able to be set to 0.1? I guess what I really want would be similar to what another poster has requested in another thread: a slight overall gaussian blur/softening effect. One of the main things that kills realism in games is the very thing that seems to make them look so much better as hardware progresses: the sharpness of everything. The FXAA and SMAA can only go so far, and HQ4X doesn't help with highly detailed games like GTA V.

Please Log in or Create an account to join the conversation.

  • brussell
More
9 years 8 months ago - 9 years 8 months ago #4 by brussell Replied by brussell on topic YACA request: option to apply evenly across screen
I've tried to achieve some blur on the whole image recently. I still use an edited version of MasterEffect, so some conversion is necessary if you want to try the following code with the framework. It's based on GaussBlur22, but I've simplified the code for performance reasons. While the qualtiy is lower than that of GaussBlur22, it gives good results when the multiplier isn't set too high.
#define USE_BLUR        1 //[0 or 1] 

...

#define BlurMult        1 //[0.0 to 1.5] Multiplicator of Blur 

...

float4 Blur(float2 coord, sampler tex, float mult, bool isBlurVert)
{
        float2 axis = (isBlurVert) ? float2(0, 1) : float2(1, 0);

        float4 sum = 0.333*(tex2Dlod(tex, float4(coord.xy + axis.xy * -1.0 * PixelSize * mult,0,0))
                   + tex2Dlod(tex, float4(coord.xy,0,0))
                   + tex2Dlod(tex, float4(coord.xy + axis.xy * 1.0 * PixelSize * mult,0,0)));

        return sum;
}

float4 PS_BlurH(VS_OUTPUT_POST IN) : COLOR
{
        return Blur(IN.txcoord.xy, SamplerLDR, BlurMult, 0);
}

float4 PS_BlurV(VS_OUTPUT_POST IN) : COLOR
{
        return Blur(IN.txcoord.xy, SamplerLDR, BlurMult, 1);
}

...

technique MasterEffect < bool enabled = 1; toggle = MASTEREFFECT_TOGGLEKEY; >
{

...

#if(USE_BLUR == 1)
        pass BlurH
        {
                VertexShader = VS_MasterEffect;
                PixelShader = PS_BlurH; 
                
        }
        pass BlurV
        {
                VertexShader = VS_MasterEffect;
                PixelShader = PS_BlurV; 
                
        }
#endif

...

}
Credits: MartyMcFly
Last edit: 9 years 8 months ago by brussell.

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.