Everything's working nicely -- did a video and it's OK for new. Should probably investigate a method using subpixel stuff, because the integer pixelwise shifting looks pretty jerky.