File tree 1 file changed +5
-2
lines changed
1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -217,12 +217,15 @@ class EffectTransform {
217
217
dst [ 1 ] = ( dst [ 1 ] - skinUniforms . u_logicalBounds [ 1 ] ) /
218
218
( skinUniforms . u_logicalBounds [ 3 ] - skinUniforms . u_logicalBounds [ 1 ] ) ;
219
219
220
- if ( ( effects & ShaderManager . EFFECT_INFO . mosaic . mask ) !== 0 ) {
220
+ const pointInsideLogicalBounds = dst [ 0 ] >= 0 && dst [ 0 ] <= 1 && dst [ 1 ] >= 0 && dst [ 1 ] <= 1 ;
221
+
222
+ // Only apply mosaic and pixelate effects to points inside the "logical bounds".
223
+ if ( ( effects & ShaderManager . EFFECT_INFO . mosaic . mask ) !== 0 && pointInsideLogicalBounds ) {
221
224
// texcoord0 = fract(u_mosaic * texcoord0);
222
225
dst [ 0 ] = uniforms . u_mosaic * dst [ 0 ] % 1 ;
223
226
dst [ 1 ] = uniforms . u_mosaic * dst [ 1 ] % 1 ;
224
227
}
225
- if ( ( effects & ShaderManager . EFFECT_INFO . pixelate . mask ) !== 0 ) {
228
+ if ( ( effects & ShaderManager . EFFECT_INFO . pixelate . mask ) !== 0 && pointInsideLogicalBounds ) {
226
229
// vec2 pixelTexelSize = u_skinSize / u_pixelate;
227
230
const texelX = skinUniforms . u_skinSize [ 0 ] / uniforms . u_pixelate ;
228
231
const texelY = skinUniforms . u_skinSize [ 1 ] / uniforms . u_pixelate ;
You can’t perform that action at this time.
0 commit comments