I have a vertex shader that accepts the following attributes:
a_posCoord
: vertex positiona_texCoord
: texture coordinate (passed
A couple ideas:
1.) Bite the bullet and update the vertex buffer but only when alphas change.
2.) Break the list of quads into batches and only rebuild batches that change..
3.) Control the number of billboards and bind an array of alpha values to a uniform... In the alpha of the vertex data, or in some unused channel/additional channel, store the index of the alpha for that billboard, in your uniform array. at least that way you're potentially only uploading n alpha values.
4.) combine 2 and 3...
I am only taking a wild guess... I'd like to see if anyone else has good solutions!