mirror of
https://github.com/photonstorm/phaser
synced 2025-02-25 20:07:08 +00:00
Added nested support to graphics rendering
This commit is contained in:
parent
2fbe068bf7
commit
3741b9ea6d
2 changed files with 41 additions and 9 deletions
|
@ -698,10 +698,18 @@ var FlatTintPipeline = new Class({
|
|||
*
|
||||
* @param {Phaser.GameObjects.Graphics} graphics - [description]
|
||||
* @param {Phaser.Cameras.Scene2D.Camera} camera - [description]
|
||||
* @param {Phaser.GameObjects.Components.TransformMatrix} parentTransformMatrix - [description]
|
||||
*/
|
||||
batchGraphics: function (graphics, camera)
|
||||
batchGraphics: function (graphics, camera, parentTransformMatrix)
|
||||
{
|
||||
if (graphics.commandBuffer.length <= 0) { return; }
|
||||
|
||||
var parentMatrix = null;
|
||||
|
||||
if (parentTransformMatrix !== undefined)
|
||||
{
|
||||
parentMatrix = parentTransformMatrix.matrix;
|
||||
}
|
||||
|
||||
this.renderer.setPipeline(this);
|
||||
|
||||
|
@ -750,12 +758,38 @@ var FlatTintPipeline = new Class({
|
|||
var cmd = cameraMatrix[3];
|
||||
var cme = cameraMatrix[4];
|
||||
var cmf = cameraMatrix[5];
|
||||
var mva = sra * cma + srb * cmc;
|
||||
var mvb = sra * cmb + srb * cmd;
|
||||
var mvc = src * cma + srd * cmc;
|
||||
var mvd = src * cmb + srd * cmd;
|
||||
var mve = sre * cma + srf * cmc + cme;
|
||||
var mvf = sre * cmb + srf * cmd + cmf;
|
||||
var mva, mvb, mvc, mvd, mve, mvf;
|
||||
|
||||
if (parentMatrix === null)
|
||||
{
|
||||
mva = sra * cma + srb * cmc;
|
||||
mvb = sra * cmb + srb * cmd;
|
||||
mvc = src * cma + srd * cmc;
|
||||
mvd = src * cmb + srd * cmd;
|
||||
mve = sre * cma + srf * cmc + cme;
|
||||
mvf = sre * cmb + srf * cmd + cmf;
|
||||
}
|
||||
else
|
||||
{
|
||||
var pma = parentMatrix[0];
|
||||
var pmb = parentMatrix[1];
|
||||
var pmc = parentMatrix[2];
|
||||
var pmd = parentMatrix[3];
|
||||
var pme = parentMatrix[4];
|
||||
var pmf = parentMatrix[5];
|
||||
var pca = cma * pma + cmb * pmc;
|
||||
var pcb = cma * pmb + cmb * pmd;
|
||||
var pcc = cmc * pma + cmd * pmc;
|
||||
var pcd = cmc * pmb + cmd * pmd;
|
||||
var pce = cme * pma + cmf * pmc + pme;
|
||||
var pcf = cme * pmb + cmf * pmd + pmf;
|
||||
mva = sra * pca + srb * pcc;
|
||||
mvb = sra * pcb + srb * pcd;
|
||||
mvc = src * pca + srd * pcc;
|
||||
mvd = src * pcb + srd * pcd;
|
||||
mve = sre * pca + srf * pcc + pce;
|
||||
mvf = sre * pcb + srf * pcd + pcf;
|
||||
}
|
||||
|
||||
var pathArrayIndex;
|
||||
var pathArrayLength;
|
||||
|
|
|
@ -377,7 +377,6 @@ var TextureTintPipeline = new Class({
|
|||
parentMatrix = parentTransformMatrix.matrix;
|
||||
}
|
||||
|
||||
|
||||
this.renderer.setPipeline(this);
|
||||
|
||||
var roundPixels = this.renderer.config.roundPixels;
|
||||
|
@ -1973,7 +1972,6 @@ var TextureTintPipeline = new Class({
|
|||
parentMatrix = parentTransformMatrix.matrix;
|
||||
}
|
||||
|
||||
|
||||
this.renderer.setPipeline(this);
|
||||
|
||||
if (this.vertexCount + 6 > this.vertexCapacity)
|
||||
|
|
Loading…
Add table
Reference in a new issue