Specify range of vertices to render

Hi,

I was wondering if there is a way of limiting the number of vertices rendered in a mesh without using things like geometry shaders.

Say if you had 100 vertices in your mesh, in OpenGL you could just do:

glDrawArrays(GL_TRIANGLES, 0, 50);

to render the first 50.

The reason I want to do this is so I can have the mesh slowly build up on screen by changing the vertex range, it could be a cool effect.

Any ideas on how to do this C# unity side? I looked through the docs to do with meshes, but couldn’t find a way. Oh and reuploading the vertex data every frame is just simply too expensive. This has to work on mobile too.

Thanks!

I am not sure about this,
if you save a 0~1 range ID per vertex in another texture coordinate.
maybe you can clip pixel rendering according to this ID in fragment shader.
if ID <= 0.5 , clip() that fragment, then approximately the first 50 vertices will be render