3D particle effects gradient color multiplication.

Can be handy for 3D particles dynamic color modifications.
This is a pretty convoluted way of doing things :)

Would be faster with just

```
colors[0] = ...
colors[1] = ...
colors[2] = ...
```