|
@@ -175,10 +175,13 @@ uniform vec2 _texCoordMax;
|
|
|
in vec2 fragTexCoord[BLUR_SIZE];
|
|
in vec2 fragTexCoord[BLUR_SIZE];
|
|
|
out vec4 finalColor;
|
|
out vec4 finalColor;
|
|
|
|
|
|
|
|
-void main() {
|
|
|
|
|
|
|
+void main() {
|
|
|
vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
|
|
vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
|
|
|
for(int i = 0; i < BLUR_SIZE; i++)
|
|
for(int i = 0; i < BLUR_SIZE; i++)
|
|
|
- color += texture(_tex, clamp(fragTexCoord[i], _texCoordMin, _texCoordMax)) * _weights[abs(i - BLUR_NUM_WEIGHTS + 1)];
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ vec2 in_region = step(_texCoordMin, fragTexCoord[i]) * step(fragTexCoord[i], _texCoordMax);
|
|
|
|
|
+ color += texture(_tex, fragTexCoord[i]) * in_region.x * in_region.y * _weights[abs(i - BLUR_NUM_WEIGHTS + 1)];
|
|
|
|
|
+ }
|
|
|
finalColor = color;
|
|
finalColor = color;
|
|
|
}
|
|
}
|
|
|
)";
|
|
)";
|
|
@@ -192,7 +195,8 @@ in vec2 fragTexCoord;
|
|
|
out vec4 finalColor;
|
|
out vec4 finalColor;
|
|
|
|
|
|
|
|
void main() {
|
|
void main() {
|
|
|
- finalColor = texture(_tex, clamp(fragTexCoord, _texCoordMin, _texCoordMax)).a * _color;
|
|
|
|
|
|
|
+ vec2 in_region = step(_texCoordMin, fragTexCoord) * step(fragTexCoord, _texCoordMax);
|
|
|
|
|
+ finalColor = texture(_tex, fragTexCoord).a * in_region.x * in_region.y * _color;
|
|
|
}
|
|
}
|
|
|
)";
|
|
)";
|
|
|
|
|
|