Skip to content

Commit efc0b00

Browse files
authored
Fix flxstrip color-not reset causing not rendering for batches sharing the same shader. (#3220)
1 parent 9954eb5 commit efc0b00

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

flixel/graphics/tile/FlxDrawTrianglesItem.hx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ class FlxDrawTrianglesItem extends FlxDrawBaseItem<FlxDrawTrianglesItem>
7070
shader.colorMultiplier.value = colorMultipliers;
7171
shader.colorOffset.value = colorOffsets;
7272
}
73+
else
74+
{
75+
shader.colorMultiplier.value = null;
76+
shader.colorOffset.value = null;
77+
}
7378

7479
setParameterValue(shader.hasTransform, true);
7580
setParameterValue(shader.hasColorTransform, colored || hasColorOffsets);
@@ -175,6 +180,7 @@ class FlxDrawTrianglesItem extends FlxDrawBaseItem<FlxDrawTrianglesItem>
175180
i += 2;
176181
}
177182

183+
var indicesLength:Int = indices.length;
178184
if (!cameraBounds.overlaps(bounds))
179185
{
180186
this.vertices.splice(this.vertices.length - verticesLength, verticesLength);
@@ -187,7 +193,6 @@ class FlxDrawTrianglesItem extends FlxDrawBaseItem<FlxDrawTrianglesItem>
187193
this.uvtData[prevUVTDataLength + i] = uvtData[i];
188194
}
189195

190-
var indicesLength:Int = indices.length;
191196
for (i in 0...indicesLength)
192197
{
193198
this.indices[prevIndicesLength + i] = indices[i] + prevNumberOfVertices;
@@ -211,11 +216,9 @@ class FlxDrawTrianglesItem extends FlxDrawBaseItem<FlxDrawTrianglesItem>
211216
cameraBounds.putWeak();
212217

213218
#if !flash
214-
for (_ in 0...numTriangles)
219+
for (_ in 0...indicesLength)
215220
{
216221
alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
217-
alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
218-
alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
219222
}
220223

221224
if (colored || hasColorOffsets)
@@ -226,7 +229,7 @@ class FlxDrawTrianglesItem extends FlxDrawBaseItem<FlxDrawTrianglesItem>
226229
if (colorOffsets == null)
227230
colorOffsets = [];
228231

229-
for (_ in 0...(numTriangles * 3))
232+
for (_ in 0...indicesLength)
230233
{
231234
if(transform != null)
232235
{

0 commit comments

Comments
 (0)