FlameDuck #1 Build your sprite from seperate (greyscale) images. That way you can change the colors quickly in realtime using the 3D hardware (SetColor), rather than slowly (ReadPixel / WritePixel) using the CPU.