mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
Fixes our post processing shaders so they work under OpenGL ES 3.0
Most of our shaders relied on implicit int->float conversions. This fixes the assumption that this is allowed
This commit is contained in:
@ -13,31 +13,31 @@ void main()
|
||||
vec2 pos = uv0 + float2(0.3, 0.3) * resolution.zw;
|
||||
float2 radius1 = 1.3 * resolution.zw;
|
||||
bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(-2.5, 0) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(0, 2.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(2.5, 0) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(0, -2.5) * radius1);
|
||||
bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius1);
|
||||
|
||||
float2 radius2 = 4.6 * resolution.zw;
|
||||
bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(-2.5, 0) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(0, 2.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(2.5, 0) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(0, -2.5) * radius2);
|
||||
bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius2);
|
||||
|
||||
bloom_sum *= 0.07;
|
||||
bloom_sum -= float4(0.3, 0.3, 0.3, 0.3);
|
||||
bloom_sum = max(bloom_sum, float4(0,0,0,0));
|
||||
bloom_sum = max(bloom_sum, float4(0.0, 0.0, 0.0, 0.0));
|
||||
|
||||
float2 vpos = (uv0 - float2(.5, .5)) * 2;
|
||||
float2 vpos = (uv0 - float2(0.5, 0.5)) * 2.0;
|
||||
float dist = (dot(vpos, vpos));
|
||||
dist = 1 - 0.4*dist;
|
||||
dist = 1.0 - 0.4*dist;
|
||||
|
||||
ocol0 = (c_center * 0.7 + bloom_sum) * dist;
|
||||
}
|
||||
|
Reference in New Issue
Block a user