   Rotate texture coordinates using HLSL
  I want to be able to rotate a texture on an object around an arbitrary point and then translate that point. So if I want to rotate the texture around the UV of (0.5, 0.5). The way I thought that it could work would be to pass an extra matrix to the shader that I would multiply the texture coordinates by in the vertex shader. I created this matrix by first moving the coordinates to the origin by translating (-0.5, -0.5, 0).  Then I multiplied that matrix by a rotation on the Z axis. Then I multiply that by another matrix that translates the coordinates back to (0.5, 0.5). This part works fine and you can view the texture rotating around the center. The problem comes when I try and offset the newly rotated texture to a given point. So let’s say that I want to rotate the texture around the center (0.5, 0.5) and then move the texture (0.25, 0.25) units. It seems when I do this it no longer rotates the object in the correct place and the center is no longer the rotation point.Anyone have any help?Thanks   