Launch draw call if buffer limits reached

Note that this solution is a temporal patch, not properly tested and
prone to fail, specially if matrix are pushed into the stack...
This commit is contained in:
Ray 2018-01-07 23:54:11 +01:00
parent e4be917d1b
commit 4dcc02ff1e

View File

@ -644,6 +644,14 @@ void rlEnd(void)
// as well as depth buffer bit-depth (16bit or 24bit or 32bit)
// Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits)
currentDepth += (1.0f/20000.0f);
// TODO: Verify internal buffers limits
// NOTE: Before launching draw, verify no matrix are left in the stack!
// NOTE: Probably a lines/triangles margin should be left, rlEnd could be called
// after an undetermined number of triangles buffered (check shapes::DrawPoly())
if ((lines.vCounter/2 >= MAX_LINES_BATCH - 2) ||
(triangles.vCounter/3 >= MAX_TRIANGLES_BATCH - 16) ||
(quads.vCounter/4 >= MAX_QUADS_BATCH - 2)) rlglDraw();
}
// Define one vertex (position)