When you need ps2.0 you're using complicated dependant texture-reads - by altering the texture coordinates in the vertex-shader you can use ps1.1.

But you can also use the directx renderstates:


FX-file Code:
matrix matMtl;
texture entSkin1;
texture entSkin2;

Technique shift_uv
{
Pass p0
{
Texture[0] = <entSkin1>;
Texture[1] = <entSkin2>;

TextureTransform[1] = <matMtl>;
TextureTransformFlags[1] = Count2;

ColorOp[0] = SelectArg1;
ColorArg1[0] = Texture;
ColorOp[1] = Add;
ColorArg1[1] = Texture;
ColorArg2[1] = Current;

ColorOp[2] = Disable;
}
}




C-script Code:
..
var phi = 0;
while(1)
{
phi += 1*time;
mat_identity(mtl_shiftuv.matrix);
mtl_shiftuv.matrix13 = floatd(phi,255); // x-direction
mtl_shiftuv.matrix23 = floatd(phi,255); // y-direction
wait(1);
}
..