What problem does this solve or what need does it fill?
Currently Skinning is recomputed in many passes (prepass, main pass, shadow passes, etc...).
What solution would you like?
Utilize compute shader skinning where skinning is done beforehand in a compute shader which writes out skinned vertices to a buffer. There are a few advantages to doing this:
Skinning is only computed once for all passes
Results in fewer shader permutations since vertex shaders are not specialized on skinning.
The previous skinned vertex buffers can be kept around for computing the velocity pass (used in TAA, motion blur, etc...)
The use of compute shaders means that WebGL would require a separate skinning implementation.
What problem does this solve or what need does it fill?
Currently Skinning is recomputed in many passes (prepass, main pass, shadow passes, etc...).
What solution would you like?
Utilize compute shader skinning where skinning is done beforehand in a compute shader which writes out skinned vertices to a buffer. There are a few advantages to doing this:
The use of compute shaders means that WebGL would require a separate skinning implementation.
Additional context
Article about wicked engine's implementation: https://wickedengine.net/2017/09/09/skinning-in-compute-shader/ Doom Eternal uses this: https://simoncoenen.com/blog/programming/graphics/DoomEternalStudy