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 @@ -138,12 +138,15 @@ class EffectTransform {
138
138
dst [ 1 ] = ( dst [ 1 ] - skinUniforms . u_logicalBounds [ 1 ] ) /
139
139
( skinUniforms . u_logicalBounds [ 3 ] - skinUniforms . u_logicalBounds [ 1 ] ) ;
140
140
141
- if ( ( effects & ShaderManager . EFFECT_INFO . mosaic . mask ) !== 0 ) {
141
+ const pointInsideLogicalBounds = dst [ 0 ] >= 0 && dst [ 0 ] <= 1 && dst [ 1 ] >= 0 && dst [ 1 ] <= 1 ;
142
+
143
+ // Only apply mosaic and pixelate effects to points inside the "logical bounds".
144
+ if ( ( effects & ShaderManager . EFFECT_INFO . mosaic . mask ) !== 0 && pointInsideLogicalBounds ) {
142
145
// texcoord0 = fract(u_mosaic * texcoord0);
143
146
dst [ 0 ] = uniforms . u_mosaic * dst [ 0 ] % 1 ;
144
147
dst [ 1 ] = uniforms . u_mosaic * dst [ 1 ] % 1 ;
145
148
}
146
- if ( ( effects & ShaderManager . EFFECT_INFO . pixelate . mask ) !== 0 ) {
149
+ if ( ( effects & ShaderManager . EFFECT_INFO . pixelate . mask ) !== 0 && pointInsideLogicalBounds ) {
147
150
// vec2 pixelTexelSize = u_skinSize / u_pixelate;
148
151
const texelX = skinUniforms . u_skinSize [ 0 ] / uniforms . u_pixelate ;
149
152
const texelY = skinUniforms . u_skinSize [ 1 ] / uniforms . u_pixelate ;
You can’t perform that action at this time.
0 commit comments