Skip to content

Commit 964e5a2

Browse files
committed
Not sure we need the stack at all - commenting out for now
1 parent 1f9aec5 commit 964e5a2

1 file changed

Lines changed: 60 additions & 58 deletions

File tree

src/display/mask/GeometryMask.js

Lines changed: 60 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -89,31 +89,32 @@ var GeometryMask = new Class({
8989
// Force flushing before drawing to stencil buffer
9090
renderer.flush();
9191

92-
if (renderer.maskStack.length === 0)
92+
// if (renderer.maskStack.length === 0)
93+
if (renderer.maskCount === 0)
9394
{
9495
gl.enable(gl.STENCIL_TEST);
9596
gl.clear(gl.STENCIL_BUFFER_BIT);
9697

97-
renderer.maskCount = 0;
98-
renderer.maskReverse = true;
98+
// renderer.maskCount = 0;
99+
// renderer.maskReverse = true;
99100
}
100101

101-
renderer.maskStack.push({ mask: this, camera: camera });
102+
// renderer.maskStack.push({ mask: this, camera: camera });
102103

103104
var level = renderer.maskCount;
104105

105106
gl.colorMask(false, false, false, false);
106107

107-
if (!renderer.maskReverse)
108-
{
109-
gl.stencilFunc(gl.EQUAL, 0xFF - level, 0xFF);
110-
gl.stencilOp(gl.KEEP, gl.KEEP, gl.DECR);
111-
}
112-
else
113-
{
108+
// if (!renderer.maskReverse)
109+
// {
110+
// gl.stencilFunc(gl.EQUAL, 0xFF - level, 0xFF);
111+
// gl.stencilOp(gl.KEEP, gl.KEEP, gl.DECR);
112+
// }
113+
// else
114+
// {
114115
gl.stencilFunc(gl.EQUAL, level, 0xFF);
115116
gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR);
116-
}
117+
// }
117118

118119
// Write stencil buffer
119120
geometryMask.renderWebGL(renderer, geometryMask, 0, camera);
@@ -123,25 +124,25 @@ var GeometryMask = new Class({
123124
// Use stencil buffer to affect next rendering object
124125
gl.colorMask(true, true, true, true);
125126

126-
if (!renderer.maskReverse)
127-
{
128-
if (this.invertAlpha)
129-
{
130-
gl.stencilFunc(gl.NOTEQUAL, 0xFF - (level + 1), 0xFF);
131-
}
132-
else
133-
{
134-
gl.stencilFunc(gl.EQUAL, 0xFF - (level + 1), 0xFF);
135-
}
136-
}
137-
else if (this.invertAlpha)
138-
{
139-
gl.stencilFunc(gl.NOTEQUAL, level + 1, 0xFF);
140-
}
141-
else
142-
{
127+
// if (!renderer.maskReverse)
128+
// {
129+
// if (this.invertAlpha)
130+
// {
131+
// gl.stencilFunc(gl.NOTEQUAL, 0xFF - (level + 1), 0xFF);
132+
// }
133+
// else
134+
// {
135+
// gl.stencilFunc(gl.EQUAL, 0xFF - (level + 1), 0xFF);
136+
// }
137+
// }
138+
// else if (this.invertAlpha)
139+
// {
140+
// gl.stencilFunc(gl.NOTEQUAL, level + 1, 0xFF);
141+
// }
142+
// else
143+
// {
143144
gl.stencilFunc(gl.EQUAL, level + 1, 0xFF);
144-
}
145+
// }
145146

146147
gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);
147148

@@ -163,11 +164,12 @@ var GeometryMask = new Class({
163164
// Force flush before disabling stencil test
164165
renderer.flush();
165166

166-
renderer.maskStack.pop();
167+
// renderer.maskStack.pop();
167168

168169
renderer.maskCount--;
169170

170-
if (renderer.maskStack.length === 0)
171+
// if (renderer.maskStack.length === 0)
172+
if (renderer.maskCount === 0)
171173
{
172174
gl.disable(gl.STENCIL_TEST);
173175
}
@@ -177,42 +179,42 @@ var GeometryMask = new Class({
177179

178180
gl.colorMask(false, false, false, false);
179181

180-
if (!renderer.maskReverse)
181-
{
182-
gl.stencilFunc(gl.EQUAL, 0xFF - (level + 1), 0xFF);
183-
gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR);
184-
}
185-
else
186-
{
182+
// if (!renderer.maskReverse)
183+
// {
184+
// gl.stencilFunc(gl.EQUAL, 0xFF - (level + 1), 0xFF);
185+
// gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR);
186+
// }
187+
// else
188+
// {
187189
gl.stencilFunc(gl.EQUAL, level + 1, 0xFF);
188190
gl.stencilOp(gl.KEEP, gl.KEEP, gl.DECR);
189-
}
191+
// }
190192

191193
var geometryMask = this.geometryMask;
192194

193195
geometryMask.renderWebGL(renderer, geometryMask, 0, camera);
194196

195197
renderer.flush();
196198

197-
if (!renderer.maskReverse)
198-
{
199-
if (this.invertAlpha)
200-
{
201-
gl.stencilFunc(gl.NOTEQUAL, 0xFF - (level), 0xFF);
202-
}
203-
else
204-
{
205-
gl.stencilFunc(gl.EQUAL, 0xFF - (level), 0xFF);
206-
}
207-
}
208-
else if (this.invertAlpha)
209-
{
210-
gl.stencilFunc(gl.NOTEQUAL, level, 0xFF);
211-
}
212-
else
213-
{
199+
// if (!renderer.maskReverse)
200+
// {
201+
// if (this.invertAlpha)
202+
// {
203+
// gl.stencilFunc(gl.NOTEQUAL, 0xFF - (level), 0xFF);
204+
// }
205+
// else
206+
// {
207+
// gl.stencilFunc(gl.EQUAL, 0xFF - (level), 0xFF);
208+
// }
209+
// }
210+
// else if (this.invertAlpha)
211+
// {
212+
// gl.stencilFunc(gl.NOTEQUAL, level, 0xFF);
213+
// }
214+
// else
215+
// {
214216
gl.stencilFunc(gl.EQUAL, level, 0xFF);
215-
}
217+
// }
216218

217219
gl.colorMask(true, true, true, true);
218220
gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);

0 commit comments

Comments
 (0)