This paper describes a software-based method for interactive transfer function modification. Our approach exploits the fact that, in general, a user will rarely want to modify the viewpoint and the transfer functions at the same time. In that spirit, we optimize the latter by first fixing the viewpoint and then storing a compressed list of samples along each ray. Then, each time the transfer function is modified, the algorithm traverses the compressed sample lists, decompressing the runs and compositing the newly colored samples along each ray until full opacity is reached. Since the expensive sample interpolation and shading is no longer necessary, we can obtain near-interactive framerates for a variety of datasets, while our RLE-based compression of linearly varying sample runs helps keep the storage complexity down, with little decompression overhead. Decompression cost is reduced by storing decompression results in an on-the-fly constructed 2D table.