diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 8def258..43ccd2c 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -158,14 +158,15 @@ var context = renderer.context; var transform = this.worldTransform; + var res = renderer.resolution; if (renderer.roundPixels) { - context.setTransform(transform.a, transform.b, transform.c, transform.d, transform.tx | 0, transform.ty | 0); + context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, (transform.tx * res) | 0, (transform.ty * res) | 0); } else { - context.setTransform(transform.a, transform.b, transform.c, transform.d, transform.tx, transform.ty); + context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } if (this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH) @@ -238,16 +239,16 @@ */ Mesh.prototype._renderCanvasDrawTriangle = function (context, vertices, uvs, index0, index1, index2) { - var textureSource = this._texture.baseTexture.source; - var textureWidth = this._texture.baseTexture.width; - var textureHeight = this._texture.baseTexture.height; - var resolution = this._texture.baseTexture.resolution; + var base = this._texture.baseTexture; + var textureSource = base.source; + var textureWidth = base.width; + var textureHeight = base.height; var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * textureWidth, u1 = uvs[index1] * textureWidth, u2 = uvs[index2] * textureWidth; - var v0 = uvs[index0 + 1] * textureHeight, v1 = uvs[index1 + 1] * textureHeight, v2 = uvs[index2 + 1] * textureHeight; + var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { @@ -305,7 +306,7 @@ deltaB / delta, deltaE / delta, deltaC / delta, deltaF / delta); - context.drawImage(textureSource, 0, 0, textureWidth * resolution, textureHeight * resolution, 0, 0, textureWidth, textureHeight); + context.drawImage(textureSource, 0, 0, textureWidth * base.resolution, textureHeight * base.resolution, 0, 0, textureWidth, textureHeight); context.restore(); };