@@ -89,17 +89,16 @@ var GeometryMask = new Class({
8989 // Force flushing before drawing to stencil buffer
9090 renderer . flush ( ) ;
9191
92- // if (renderer.maskStack.length === 0)
93- if ( renderer . maskCount === 0 )
92+ if ( renderer . maskStack . length === 0 )
9493 {
9594 gl . enable ( gl . STENCIL_TEST ) ;
9695 gl . clear ( gl . STENCIL_BUFFER_BIT ) ;
9796
98- // renderer.maskCount = 0;
97+ renderer . maskCount = 0 ;
9998 // renderer.maskReverse = true;
10099 }
101100
102- // renderer.maskStack.push({ mask: this, camera: camera });
101+ renderer . maskStack . push ( { mask : this . geometryMask , camera : camera } ) ;
103102
104103 var level = renderer . maskCount ;
105104
@@ -157,19 +156,18 @@ var GeometryMask = new Class({
157156 *
158157 * @param {Phaser.Renderer.WebGL.WebGLRenderer } renderer - The WebGL Renderer instance to draw flush.
159158 */
160- postRenderWebGL : function ( renderer , camera )
159+ postRenderWebGL : function ( renderer )
161160 {
162161 var gl = renderer . gl ;
163162
164163 // Force flush before disabling stencil test
165164 renderer . flush ( ) ;
166165
167- // renderer.maskStack.pop();
166+ renderer . maskStack . pop ( ) ;
168167
169168 renderer . maskCount -- ;
170169
171- // if (renderer.maskStack.length === 0)
172- if ( renderer . maskCount === 0 )
170+ if ( renderer . maskStack . length === 0 )
173171 {
174172 gl . disable ( gl . STENCIL_TEST ) ;
175173 }
@@ -190,7 +188,9 @@ var GeometryMask = new Class({
190188 gl . stencilOp ( gl . KEEP , gl . KEEP , gl . DECR ) ;
191189 // }
192190
193- var geometryMask = this . geometryMask ;
191+ var prev = renderer . maskStack [ renderer . maskStack . length - 1 ] ;
192+ var geometryMask = prev . mask ;
193+ var camera = prev . camera ;
194194
195195 geometryMask . renderWebGL ( renderer , geometryMask , 0 , camera ) ;
196196
0 commit comments