I would like to use
glBufferStorage to load data once into the vertex buffer. However sometimes I want to pass non-interleaved data from separate arrays like shown below.
glBufferStorage(GL_ARRAY_BUFFER, sizeVerts+sizeUVs, 0, 0); glBufferSubData(GL_ARRAY_BUFFER, 0, sizeVerts, verts.data()); glBufferSubData(GL_ARRAY_BUFFER, sizeVerts, sizeUVs, uvs.data());
Because of this I have to specify
GL_DYNAMIC_STORAGE_BIT flag, despite loading the data once, and thus use a less performant alternative.
Are there any workarounds to this problem?
Or does using
GL_DYNAMIC_STORAGE_BIT not lead to a significant performance hit, and should I just use it despite loading data once?