Description
Preprocess vertex animation - Setup pre-skinning pipeline for vegetation and character vertices, such that we can use a single vertex shader when actually rendering the geometry.
The reason why this won't work at the moment is because read write buffers have certain alignment rules, and our vertex buffers doesn't align with that, resulting in a padded mapping between a vertex and a GLSL storage buffer element. What this means, in essence, is that a vertex can't be correctly read from the input buffer, neither could an output vertex be correctly written, resulting in this being impractical. If we end up making our vertex layouts more properly align with 16 bytes per element, we can solve this issue and allow preskinning.
Another bad side of preskinning is that, we would need to basically run one dispatch per character, whether or not it's visible, resulting in a lot of work.
Transform feedbacks are also out of the question due to their performance issues.