Skip to content

Commit f3e0ae8

Browse files
committed
Fixed order of transformation for dynamic bitmap text
1 parent dbafd9a commit f3e0ae8

1 file changed

Lines changed: 21 additions & 15 deletions

File tree

src/renderer/webgl/pipelines/TextureTintPipeline.js

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,15 +1403,15 @@ var TextureTintPipeline = new Class({
14031403
var lastCharCode = 0;
14041404
var translateX = srcX + frame.x;
14051405
var translateY = srcY + frame.y;
1406-
var rotation = -bitmapText.rotation;
1406+
var rotation = bitmapText.rotation;
14071407
var scaleX = bitmapText.scaleX;
14081408
var scaleY = bitmapText.scaleY;
14091409
var letterSpacing = bitmapText.letterSpacing;
14101410
var sr = Math.sin(rotation);
14111411
var cr = Math.cos(rotation);
14121412
var sra = cr * scaleX;
1413-
var srb = -sr * scaleX;
1414-
var src = sr * scaleY;
1413+
var srb = sr * scaleX;
1414+
var src = -sr * scaleY;
14151415
var srd = cr * scaleY;
14161416
var sre = translateX;
14171417
var srf = translateY;
@@ -1434,12 +1434,17 @@ var TextureTintPipeline = new Class({
14341434
var pmd = parentMatrix[3];
14351435
var pme = parentMatrix[4];
14361436
var pmf = parentMatrix[5];
1437-
var pca = cma * pma + cmb * pmc;
1438-
var pcb = cma * pmb + cmb * pmd;
1439-
var pcc = cmc * pma + cmd * pmc;
1440-
var pcd = cmc * pmb + cmd * pmd;
1441-
var pce = cme * pma + cmf * pmc + pme;
1442-
var pcf = cme * pmb + cmf * pmd + pmf;
1437+
var cse = -cameraScrollX;
1438+
var csf = -cameraScrollY;
1439+
var pse = cse * cma + csf * cmc + cme;
1440+
var psf = cse * cmb + csf * cmd + cmf;
1441+
var pca = pma * cma + pmb * cmc;
1442+
var pcb = pma * cmb + pmb * cmd;
1443+
var pcc = pmc * cma + pmd * cmc;
1444+
var pcd = pmc * cmb + pmd * cmd;
1445+
var pce = pme * cma + pmf * cmc + pse;
1446+
var pcf = pme * cmb + pmf * cmd + psf;
1447+
14431448
mva = sra * pca + srb * pcc;
14441449
mvb = sra * pcb + srb * pcd;
14451450
mvc = src * pca + srd * pcc;
@@ -1449,6 +1454,9 @@ var TextureTintPipeline = new Class({
14491454
}
14501455
else
14511456
{
1457+
sre -= cameraScrollX;
1458+
srf -= cameraScrollY;
1459+
14521460
mva = sra * cma + srb * cmc;
14531461
mvb = sra * cmb + srb * cmd;
14541462
mvc = src * cma + srd * cmc;
@@ -1567,14 +1575,12 @@ var TextureTintPipeline = new Class({
15671575
y -= bitmapText.displayOriginY;
15681576
x *= scale;
15691577
y *= scale;
1570-
x -= cameraScrollX;
1571-
y -= cameraScrollY;
15721578

1573-
sr = Math.sin(-rotation);
1574-
cr = Math.cos(-rotation);
1579+
sr = Math.sin(rotation);
1580+
cr = Math.cos(rotation);
15751581
uta = cr * scale;
1576-
utb = -sr * scale;
1577-
utc = sr * scale;
1582+
utb = sr * scale;
1583+
utc = -sr * scale;
15781584
utd = cr * scale;
15791585
ute = x;
15801586
utf = y;

0 commit comments

Comments
 (0)