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);
}
..