diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/src/pixi/core/Matrix.js b/src/pixi/core/Matrix.js
index 63b8347..780fcd6 100644
--- a/src/pixi/core/Matrix.js
+++ b/src/pixi/core/Matrix.js
@@ -31,6 +31,23 @@
return matrix;
}
+
+PIXI.mat3.identity = function(matrix)
+{
+ matrix[0] = 1;
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = 0;
+ matrix[4] = 1;
+ matrix[5] = 0;
+ matrix[6] = 0;
+ matrix[7] = 0;
+ matrix[8] = 1;
+
+ return matrix;
+}
+
+
PIXI.mat4 = {};
PIXI.mat4.create = function()
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/src/pixi/core/Matrix.js b/src/pixi/core/Matrix.js
index 63b8347..780fcd6 100644
--- a/src/pixi/core/Matrix.js
+++ b/src/pixi/core/Matrix.js
@@ -31,6 +31,23 @@
return matrix;
}
+
+PIXI.mat3.identity = function(matrix)
+{
+ matrix[0] = 1;
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = 0;
+ matrix[4] = 1;
+ matrix[5] = 0;
+ matrix[6] = 0;
+ matrix[7] = 0;
+ matrix[8] = 1;
+
+ return matrix;
+}
+
+
PIXI.mat4 = {};
PIXI.mat4.create = function()
diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js
index 1a879f9..bfb5369 100644
--- a/src/pixi/display/DisplayObjectContainer.js
+++ b/src/pixi/display/DisplayObjectContainer.js
@@ -216,7 +216,6 @@
this.__renderGroup.addDisplayObjectAndChildren(child);
}
- console.log(this.children)
}
else
{
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/src/pixi/core/Matrix.js b/src/pixi/core/Matrix.js
index 63b8347..780fcd6 100644
--- a/src/pixi/core/Matrix.js
+++ b/src/pixi/core/Matrix.js
@@ -31,6 +31,23 @@
return matrix;
}
+
+PIXI.mat3.identity = function(matrix)
+{
+ matrix[0] = 1;
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = 0;
+ matrix[4] = 1;
+ matrix[5] = 0;
+ matrix[6] = 0;
+ matrix[7] = 0;
+ matrix[8] = 1;
+
+ return matrix;
+}
+
+
PIXI.mat4 = {};
PIXI.mat4.create = function()
diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js
index 1a879f9..bfb5369 100644
--- a/src/pixi/display/DisplayObjectContainer.js
+++ b/src/pixi/display/DisplayObjectContainer.js
@@ -216,7 +216,6 @@
this.__renderGroup.addDisplayObjectAndChildren(child);
}
- console.log(this.children)
}
else
{
diff --git a/src/pixi/renderers/canvas/CanvasRenderer.js b/src/pixi/renderers/canvas/CanvasRenderer.js
index 15044ee..5bdffc5 100644
--- a/src/pixi/renderers/canvas/CanvasRenderer.js
+++ b/src/pixi/renderers/canvas/CanvasRenderer.js
@@ -105,6 +105,8 @@
{
PIXI.Texture.frameUpdates = [];
}
+
+
}
/**
@@ -229,6 +231,8 @@
}
while(displayObject != testObject)
+
+
}
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/src/pixi/core/Matrix.js b/src/pixi/core/Matrix.js
index 63b8347..780fcd6 100644
--- a/src/pixi/core/Matrix.js
+++ b/src/pixi/core/Matrix.js
@@ -31,6 +31,23 @@
return matrix;
}
+
+PIXI.mat3.identity = function(matrix)
+{
+ matrix[0] = 1;
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = 0;
+ matrix[4] = 1;
+ matrix[5] = 0;
+ matrix[6] = 0;
+ matrix[7] = 0;
+ matrix[8] = 1;
+
+ return matrix;
+}
+
+
PIXI.mat4 = {};
PIXI.mat4.create = function()
diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js
index 1a879f9..bfb5369 100644
--- a/src/pixi/display/DisplayObjectContainer.js
+++ b/src/pixi/display/DisplayObjectContainer.js
@@ -216,7 +216,6 @@
this.__renderGroup.addDisplayObjectAndChildren(child);
}
- console.log(this.children)
}
else
{
diff --git a/src/pixi/renderers/canvas/CanvasRenderer.js b/src/pixi/renderers/canvas/CanvasRenderer.js
index 15044ee..5bdffc5 100644
--- a/src/pixi/renderers/canvas/CanvasRenderer.js
+++ b/src/pixi/renderers/canvas/CanvasRenderer.js
@@ -105,6 +105,8 @@
{
PIXI.Texture.frameUpdates = [];
}
+
+
}
/**
@@ -229,6 +231,8 @@
}
while(displayObject != testObject)
+
+
}
diff --git a/src/pixi/renderers/webgl/WebGLRenderGroup.js b/src/pixi/renderers/webgl/WebGLRenderGroup.js
index 6094829..2b58500 100644
--- a/src/pixi/renderers/webgl/WebGLRenderGroup.js
+++ b/src/pixi/renderers/webgl/WebGLRenderGroup.js
@@ -284,6 +284,9 @@
/*
* for now only masks are supported..
*/
+
+ var gl = PIXI.gl;
+
if(renderable.open)
{
gl.enable(gl.STENCIL_TEST);
@@ -293,8 +296,9 @@
gl.stencilOp(gl.KEEP,gl.KEEP,gl.REPLACE);
PIXI.WebGLGraphics.renderGraphics(renderable.mask, projection);
-
- gl.colorMask(true, true, true, false);
+
+ // we know this is a render texture so enable alpha too..
+ gl.colorMask(true, true, true, true);
gl.stencilFunc(gl.NOTEQUAL,0,0xff);
gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP);
}
diff --git a/examples/example 14 - Masking/index double mask.html b/examples/example 14 - Masking/index double mask.html
new file mode 100644
index 0000000..f7ae8df
--- /dev/null
+++ b/examples/example 14 - Masking/index double mask.html
@@ -0,0 +1,121 @@
+
+
+
+ pixi.js example 14 - Masking
+
+
+
+
+
+
+
+
+
diff --git a/src/pixi/InteractionManager.js b/src/pixi/InteractionManager.js
index 4f30464..c150102 100644
--- a/src/pixi/InteractionManager.js
+++ b/src/pixi/InteractionManager.js
@@ -433,7 +433,6 @@
for (var i=0; i < changedTouches.length; i++)
{
-
var touchEvent = changedTouches[i];
var touchData = this.touchs[touchEvent.identifier];
var up = false;
diff --git a/src/pixi/core/Matrix.js b/src/pixi/core/Matrix.js
index 63b8347..780fcd6 100644
--- a/src/pixi/core/Matrix.js
+++ b/src/pixi/core/Matrix.js
@@ -31,6 +31,23 @@
return matrix;
}
+
+PIXI.mat3.identity = function(matrix)
+{
+ matrix[0] = 1;
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = 0;
+ matrix[4] = 1;
+ matrix[5] = 0;
+ matrix[6] = 0;
+ matrix[7] = 0;
+ matrix[8] = 1;
+
+ return matrix;
+}
+
+
PIXI.mat4 = {};
PIXI.mat4.create = function()
diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js
index 1a879f9..bfb5369 100644
--- a/src/pixi/display/DisplayObjectContainer.js
+++ b/src/pixi/display/DisplayObjectContainer.js
@@ -216,7 +216,6 @@
this.__renderGroup.addDisplayObjectAndChildren(child);
}
- console.log(this.children)
}
else
{
diff --git a/src/pixi/renderers/canvas/CanvasRenderer.js b/src/pixi/renderers/canvas/CanvasRenderer.js
index 15044ee..5bdffc5 100644
--- a/src/pixi/renderers/canvas/CanvasRenderer.js
+++ b/src/pixi/renderers/canvas/CanvasRenderer.js
@@ -105,6 +105,8 @@
{
PIXI.Texture.frameUpdates = [];
}
+
+
}
/**
@@ -229,6 +231,8 @@
}
while(displayObject != testObject)
+
+
}
diff --git a/src/pixi/renderers/webgl/WebGLRenderGroup.js b/src/pixi/renderers/webgl/WebGLRenderGroup.js
index 6094829..2b58500 100644
--- a/src/pixi/renderers/webgl/WebGLRenderGroup.js
+++ b/src/pixi/renderers/webgl/WebGLRenderGroup.js
@@ -284,6 +284,9 @@
/*
* for now only masks are supported..
*/
+
+ var gl = PIXI.gl;
+
if(renderable.open)
{
gl.enable(gl.STENCIL_TEST);
@@ -293,8 +296,9 @@
gl.stencilOp(gl.KEEP,gl.KEEP,gl.REPLACE);
PIXI.WebGLGraphics.renderGraphics(renderable.mask, projection);
-
- gl.colorMask(true, true, true, false);
+
+ // we know this is a render texture so enable alpha too..
+ gl.colorMask(true, true, true, true);
gl.stencilFunc(gl.NOTEQUAL,0,0xff);
gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP);
}
diff --git a/src/pixi/textures/RenderTexture.js b/src/pixi/textures/RenderTexture.js
index f20f2a9..69ddf24 100644
--- a/src/pixi/textures/RenderTexture.js
+++ b/src/pixi/textures/RenderTexture.js
@@ -97,6 +97,30 @@
// set the correct render function..
this.render = this.renderWebGL;
+
+
+}
+
+
+PIXI.RenderTexture.prototype.resize = function(width, height)
+{
+ this.width = width;
+ this.height = height;
+
+ this.projection = new PIXI.Point(this.width/2 , this.height/2);
+
+ if(PIXI.gl)
+ {
+ var gl = PIXI.gl;
+ gl.bindTexture(gl.TEXTURE_2D, this.baseTexture._glTexture);
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, this.width, this.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
+ }
+ else
+ {
+ this.frame.width = this.width
+ this.frame.height = this.height;
+ this.renderer.resize(this.width, this.height);
+ }
}
PIXI.RenderTexture.prototype.initCanvas = function()
@@ -115,7 +139,7 @@
* @param displayObject {DisplayObject}
* @param clear {Boolean} If true the texture will be cleared before the displayObject is drawn
*/
-PIXI.RenderTexture.prototype.renderWebGL = function(displayObject, clear)
+PIXI.RenderTexture.prototype.renderWebGL = function(displayObject, position, clear)
{
var gl = PIXI.gl;
@@ -141,6 +165,12 @@
displayObject.worldTransform[4] = -1;
displayObject.worldTransform[5] = this.projection.y * 2;
+ if(position)
+ {
+ displayObject.worldTransform[2] = position.x;
+ displayObject.worldTransform[5] -= position.y;
+ }
+
for(var i=0,j=children.length; i