kopia lustrzana https://github.com/jameshball/osci-render
80 wiersze
5.5 KiB
Plaintext
80 wiersze
5.5 KiB
Plaintext
![]() |
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;
|
||
|
}
|
||
|
|
||
|
)";
|