E.g. by introducing indexed drawing where applicable.
Something like drawing 50 orc warriors/goblins, lurkers, warans, blood flys, wolves,... should incur a lot less performance hit than drawing 50 different NPCs with different armors, scale, color, ...
We should be able to use Indexed drawing and batching for the main skeletal mesh(es) and SRVs/StructuredBuffers to upload all mesh data, like Bone Transforms per Index, Fatness/Color/World Position data, etc.
We could also check if we can pre-load all used textures (for skeletals) into a "global" texture atlas (Texture2DArray), thus completely remove the need to load them on a case-by-case.
Currently the most inefficient usage of this is drawing the Shadow Map/Cascades which draw each and every skeletal mesh in proximity.
E.g. by introducing indexed drawing where applicable.
Something like drawing 50 orc warriors/goblins, lurkers, warans, blood flys, wolves,... should incur a lot less performance hit than drawing 50 different NPCs with different armors, scale, color, ...
We should be able to use Indexed drawing and batching for the main skeletal mesh(es) and SRVs/StructuredBuffers to upload all mesh data, like Bone Transforms per Index, Fatness/Color/World Position data, etc.
We could also check if we can pre-load all used textures (for skeletals) into a "global" texture atlas (Texture2DArray), thus completely remove the need to load them on a case-by-case.
Currently the most inefficient usage of this is drawing the Shadow Map/Cascades which draw each and every skeletal mesh in proximity.