Add octohedral_encoding.fxc
Add skinning_cs.shader
Try and use animated vertex cache when D_CS_VERTEX_ANIMATION is enabled
Store vb size offsets in rendermesh
Create GPU buffers for skinned vertex cache and vertex cache offsets
Dispatch requested vertex cache updates
Animatables requests vertex cache updates
Compile shaders
Make sure both buffers are destroyed
Add SV_VertexID to VS_INPUT, this can be used for indexing vertex cache instead of using D_MORPH nVertexIndex
Don't call CalculateInstancingObjectToWorldMatrix when using D_CS_VERTEX_ANIMATION, it's already calculated in the cache
Decode cached vertex normals and tangents
Compute morphs, normals and tangents in skinning compute shader
Define MORPH_TEXTURE_ATLAS_WIDTH as g_nMorphTextureAtlasWidth when in compute
Fix incorrect offset to CalculateMorphSubrectData
Don't run morph code when using vertex cache
Compile shaders
Use remaining bytes in extra shader data to hold base vertex cache offset, add another vertex id lookup buffer relative to meshes vertex buffer size offsets - this allows correct indexing into cached vertices while remaining backwards compatible
Compile shaders
Resize vertex cache buffer when out of space
Use descriptor set for vertex cache so that it doesn't need to be set with an attribute (which would be set too early if resize is needed)
Compile shaders
Fix decompressing normals in skinning compute shader
Add back vertex cache request batching now we know everything works