1. A method of creating an image, the method comprising: receiving a request to render a polygon having a plurality of pixels, the polygon represented by a programmable graphics processing unit (GPU) fragment program, the programmable GPU program comprising a plurality of programmable GPU fragment programs; converting the programmable GPU program to a central processing unit (CPU) program; unrolling a loop in the CPU program such that the unrolled loop will process N of the plurality of pixels; executing, by a CPU, the unrolled loop a variable number of times; and rendering the N pixels in groups of L pixels, by executing, by the CPU, the unrolled loop L/N times.