Compute shaders could in theory do this. However, there are a number of fundamental flaws here:
1. The bus between the GPU and the CPU would have to pass a TON of data, which would harm framerate.
2. The calculations would all be in floating-point math, which would cause desyncs between different cards (we use fixed-int math normally)
3. Overall this ties together more hardware components, not fewer, and it also only would work on pretty modern hardware, meaning that our supported group of customers is far lower.