osci-render/Source/visualiser/WideBlurFragmentShader.glsl

80 wiersze
5.5 KiB
Plaintext
Czysty Zwykły widok Historia

std::string wideBlurFragmentShader = R"(
uniform sampler2D uTexture0;
uniform vec2 uOffset;
varying vec2 vTexCoord;
void main() {
vec4 sum = vec4(0.0);
sum += texture2D(uTexture0, vTexCoord + uOffset * -32) * 7.936396739629738e-9;
sum += texture2D(uTexture0, vTexCoord + uOffset * -31) * 2.1238899047869243e-8;
sum += texture2D(uTexture0, vTexCoord + uOffset * -30) * 5.5089512435892845e-8;
sum += texture2D(uTexture0, vTexCoord + uOffset * -29) * 1.3849501900610678e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * -28) * 3.37464176550827e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * -27) * 7.969838069860066e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * -26) * 0.0000018243141024985921;
sum += texture2D(uTexture0, vTexCoord + uOffset * -25) * 0.000004047417737721991;
sum += texture2D(uTexture0, vTexCoord + uOffset * -24) * 0.000008703315823121481;
sum += texture2D(uTexture0, vTexCoord + uOffset * -23) * 0.000018139267838241068;
sum += texture2D(uTexture0, vTexCoord + uOffset * -22) * 0.00003664232826522744;
sum += texture2D(uTexture0, vTexCoord + uOffset * -21) * 0.0000717421959978491;
sum += texture2D(uTexture0, vTexCoord + uOffset * -20) * 0.00013614276559291948;
sum += texture2D(uTexture0, vTexCoord + uOffset * -19) * 0.00025040486855393973;
sum += texture2D(uTexture0, vTexCoord + uOffset * -18) * 0.00044639494279724747;
sum += texture2D(uTexture0, vTexCoord + uOffset * -17) * 0.00077130129517095;
sum += texture2D(uTexture0, vTexCoord + uOffset * -16) * 0.0012916865959769006;
sum += texture2D(uTexture0, vTexCoord + uOffset * -15) * 0.0020966142949301195;
sum += texture2D(uTexture0, vTexCoord + uOffset * -14) * 0.003298437274607801;
sum += texture2D(uTexture0, vTexCoord + uOffset * -13) * 0.005029516233086111;
sum += texture2D(uTexture0, vTexCoord + uOffset * -12) * 0.007433143141769405;
sum += texture2D(uTexture0, vTexCoord + uOffset * -11) * 0.010647485948997013;
sum += texture2D(uTexture0, vTexCoord + uOffset * -10) * 0.014782570282805454;
sum += texture2D(uTexture0, vTexCoord + uOffset * -9) * 0.019892122581030056;
sum += texture2D(uTexture0, vTexCoord + uOffset * -8) * 0.02594421881668063;
sum += texture2D(uTexture0, vTexCoord + uOffset * -7) * 0.03279656561871859;
sum += texture2D(uTexture0, vTexCoord + uOffset * -6) * 0.040183192177668754;
sum += texture2D(uTexture0, vTexCoord + uOffset * -5) * 0.04771872140419803;
sum += texture2D(uTexture0, vTexCoord + uOffset * -4) * 0.05492391166591576;
sum += texture2D(uTexture0, vTexCoord + uOffset * -3) * 0.06127205113483162;
sum += texture2D(uTexture0, vTexCoord + uOffset * -2) * 0.06625088366795348;
sum += texture2D(uTexture0, vTexCoord + uOffset * -1) * 0.06943032995966593;
sum += texture2D(uTexture0, vTexCoord + uOffset * 0) * 0.07052369856294818;
sum += texture2D(uTexture0, vTexCoord + uOffset * 1) * 0.06943032995966593;
sum += texture2D(uTexture0, vTexCoord + uOffset * 2) * 0.06625088366795348;
sum += texture2D(uTexture0, vTexCoord + uOffset * 3) * 0.06127205113483162;
sum += texture2D(uTexture0, vTexCoord + uOffset * 4) * 0.05492391166591576;
sum += texture2D(uTexture0, vTexCoord + uOffset * 5) * 0.04771872140419803;
sum += texture2D(uTexture0, vTexCoord + uOffset * 6) * 0.040183192177668754;
sum += texture2D(uTexture0, vTexCoord + uOffset * 7) * 0.03279656561871859;
sum += texture2D(uTexture0, vTexCoord + uOffset * 8) * 0.02594421881668063;
sum += texture2D(uTexture0, vTexCoord + uOffset * 9) * 0.019892122581030056;
sum += texture2D(uTexture0, vTexCoord + uOffset * 10) * 0.014782570282805454;
sum += texture2D(uTexture0, vTexCoord + uOffset * 11) * 0.010647485948997013;
sum += texture2D(uTexture0, vTexCoord + uOffset * 12) * 0.007433143141769405;
sum += texture2D(uTexture0, vTexCoord + uOffset * 13) * 0.005029516233086111;
sum += texture2D(uTexture0, vTexCoord + uOffset * 14) * 0.003298437274607801;
sum += texture2D(uTexture0, vTexCoord + uOffset * 15) * 0.0020966142949301195;
sum += texture2D(uTexture0, vTexCoord + uOffset * 16) * 0.0012916865959769006;
sum += texture2D(uTexture0, vTexCoord + uOffset * 17) * 0.00077130129517095;
sum += texture2D(uTexture0, vTexCoord + uOffset * 18) * 0.00044639494279724747;
sum += texture2D(uTexture0, vTexCoord + uOffset * 19) * 0.00025040486855393973;
sum += texture2D(uTexture0, vTexCoord + uOffset * 20) * 0.00013614276559291948;
sum += texture2D(uTexture0, vTexCoord + uOffset * 21) * 0.0000717421959978491;
sum += texture2D(uTexture0, vTexCoord + uOffset * 22) * 0.00003664232826522744;
sum += texture2D(uTexture0, vTexCoord + uOffset * 23) * 0.000018139267838241068;
sum += texture2D(uTexture0, vTexCoord + uOffset * 24) * 0.000008703315823121481;
sum += texture2D(uTexture0, vTexCoord + uOffset * 25) * 0.000004047417737721991;
sum += texture2D(uTexture0, vTexCoord + uOffset * 26) * 0.0000018243141024985921;
sum += texture2D(uTexture0, vTexCoord + uOffset * 27) * 7.969838069860066e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * 28) * 3.37464176550827e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * 29) * 1.3849501900610678e-7;
sum += texture2D(uTexture0, vTexCoord + uOffset * 30) * 5.5089512435892845e-8;
sum += texture2D(uTexture0, vTexCoord + uOffset * 31) * 2.1238899047869243e-8;
sum += texture2D(uTexture0, vTexCoord + uOffset * 32) * 7.936396739629738e-9;
gl_FragColor = sum;
}
)";