Description
Created by: codeanticode
Performance was quite good with GLModel (from the GLGraphics library) in certain instances where PShape still struggles (for example when modifying the coordinates of many vertices at once), because GLModel used a technique called buffer object streaming. This technique allows one to write data directly into a regular Java buffer, which internally is mapped to video memory. This relies on the function glMapBufferRange, which was available only on desktop, not on mobile (OpenGL ES), back when the OpenGL renderer in Processing 2 & 3 was implemented it. In order to keep code parity between desktop and mobile versions of the OpenGL renderer Processing, buffer streaming was not used in PShapeOpenGL. It turns out that glMapBufferRange eventually became available in OpenGL ES 3.0. So it could be possible to re-implement buffer streaming to improve PShape performance, perhaps in combination with other PShape enhancements such as this one processing/processing#2280, for both Processing 4 and new versions of the Android mode. [to be tagged as proposed enhancement]