diff --git a/src/core/settings.js b/src/core/settings.js index d75b058..9fa4f8f 100644 --- a/src/core/settings.js +++ b/src/core/settings.js @@ -214,9 +214,19 @@ * * @static * @constant - * @memberof PIXI + * @memberof PIXI.settings * @type {boolean} */ CAN_UPLOAD_SAME_BUFFER: canUploadSameBuffer(), + /** + * Default Mesh `canvasPadding`. + * + * @see PIXI.mesh.Mesh#canvasPadding + * @static + * @constant + * @memberof PIXI.settings + * @type {number} + */ + MESH_CANVAS_PADDING: 0, }; diff --git a/src/core/settings.js b/src/core/settings.js index d75b058..9fa4f8f 100644 --- a/src/core/settings.js +++ b/src/core/settings.js @@ -214,9 +214,19 @@ * * @static * @constant - * @memberof PIXI + * @memberof PIXI.settings * @type {boolean} */ CAN_UPLOAD_SAME_BUFFER: canUploadSameBuffer(), + /** + * Default Mesh `canvasPadding`. + * + * @see PIXI.mesh.Mesh#canvasPadding + * @static + * @constant + * @memberof PIXI.settings + * @type {number} + */ + MESH_CANVAS_PADDING: 0, }; diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 7006a3e..25659cf 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -92,7 +92,7 @@ * * @member {number} */ - this.canvasPadding = 0; + this.canvasPadding = core.settings.MESH_CANVAS_PADDING; /** * The way the Mesh should be drawn, can be any of the {@link PIXI.mesh.Mesh.DRAW_MODES} consts diff --git a/src/core/settings.js b/src/core/settings.js index d75b058..9fa4f8f 100644 --- a/src/core/settings.js +++ b/src/core/settings.js @@ -214,9 +214,19 @@ * * @static * @constant - * @memberof PIXI + * @memberof PIXI.settings * @type {boolean} */ CAN_UPLOAD_SAME_BUFFER: canUploadSameBuffer(), + /** + * Default Mesh `canvasPadding`. + * + * @see PIXI.mesh.Mesh#canvasPadding + * @static + * @constant + * @memberof PIXI.settings + * @type {number} + */ + MESH_CANVAS_PADDING: 0, }; diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 7006a3e..25659cf 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -92,7 +92,7 @@ * * @member {number} */ - this.canvasPadding = 0; + this.canvasPadding = core.settings.MESH_CANVAS_PADDING; /** * The way the Mesh should be drawn, can be any of the {@link PIXI.mesh.Mesh.DRAW_MODES} consts diff --git a/src/mesh/canvas/CanvasMeshRenderer.js b/src/mesh/canvas/CanvasMeshRenderer.js index fb9a700..6b65d4e 100644 --- a/src/mesh/canvas/CanvasMeshRenderer.js +++ b/src/mesh/canvas/CanvasMeshRenderer.js @@ -171,10 +171,12 @@ let y1 = vertices[index1 + 1]; let y2 = vertices[index2 + 1]; - if (mesh.canvasPadding > 0) + const canvasPadding = mesh.canvasPadding / this.renderer.resolution; + + if (canvasPadding > 0) { - const paddingX = mesh.canvasPadding / mesh.worldTransform.a; - const paddingY = mesh.canvasPadding / mesh.worldTransform.d; + const paddingX = canvasPadding / Math.abs(mesh.worldTransform.a); + const paddingY = canvasPadding / Math.abs(mesh.worldTransform.d); const centerX = (x0 + x1 + x2) / 3; const centerY = (y0 + y1 + y2) / 3;