GPU skinning – ShiVa Engine

GPU skinning

CPU-only skinning is always slower than GPU-accelerated skinning. A message like this …

[+ Warning] {Rendering} Detected 75 skeleton joints for subset 0 of mesh 'character', skinning will be performed on the CPU

essentially tells you that your model has too many bones to be rendered at full speed. These are the limits per platform:
– Mobiles: If joint count (per subset) is > 18: skinning on NEON coprocessor if available (x2 performance compared to pure CPU)
– Mobiles: If joint count (per subset) is < or = 18 and OpenGLES 2.0 active: skinning on GPU (x4 performance compared to pure CPU) 18 is also the limit for Adobe Flash. On consoles (XBox 360/PS3), the joint limit for GPU-accelerated skinning is 60 instead of 18. On desktop PCs (OpenGL and DX11), the joint limit for GPU-accelerated skinning is 64. 64 is also the limit on Windows Phone 7 and 8. If your models exceed the joint limit, It is better to split the skinned geometry into segments to stay under the limit. It is not required to keep the total number of joints of the entire model below the limit. A Character model for instance can be split into legs - torso - arms - head. Keep the joint count under the limit per segment to get the x2/x4 speed gain.




Need more answers?

  • slackBanner