It does work with bitmaps, but it has serious drawbacks - it's bound to world coordinates, so you if you move your object, texture will stay in place relative to the world. It also overrides existing mapping with planar mapping, so it's suitable only for flat objects. For stationary carpet, this technique might work quite well, but it will fail in more complex scenarios.