My preferred approach when I want a nice fluffy carpet is a multilayered approach.
By having several slices, and using a heightmap to cut away from each layer with an alpha map, you can get a pretty decent effect from a distance, and relatively close, but the effect breaks down if you get too close:


