How would YOU make the pixels fade without using delay? You have to get rid of the for loops, and call the function once for every value that you want the LEDs to take on. That means that the function itself won't handle the fading. The function, probably loop(), will handle the fading. The now-misnamed function will simply set all the pixels to the same color value, and make them all show the set color at the same time.