Add support for QUADS and QUAD_STRIP in WebGL mode #5768
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #4401
Changes:
This handles the
QUADS
andQUAD_STRIP
shape modes in the WebGL renderer.WebGL 1 doesn't support those two modes, so they have to be drawn using other modes. I've converted
QUADS
toTRIANGLES
andQUAD_STRIP
toTRIANGLE_STRIP
.Turning
QUADS
into triangles requires some vertices to be duplicated:vertex()
that, on the fourth vertex of each quad, duplicates two vertices so that, when the final vertex is added, two complete triangles have been added to the bufferTurning
QUAD_STRIP
intoTRIANGLE_STRIP
is simpler:Screenshots of the change:
I've added a manual test comparing, from left to right,

TRIANGLE_STRIP
,QUADS
, andQUAD_STRIP
modes for the same vertex data. I've added random fill colors to each vertex to make sure they get duplicated correctly.PR Checklist
npm run lint
passes