Hi friends, I might be biting off more than I can chew, but I was wondering if this is possible.

With tex2dlod, and pixel shader 3, you are able to sample a texture within the vertex shader, and move vertices around based on reading textures. This is how they make oceans move, terrain deformation and etc. However, as a character artist, im really interested in seeing if I can implement blend shapes/morph targets. A big reason is to add facial expressions.

Right now, I can do very simple stuff with texture fetch within the vertex shader. I could do something like, move the vertex up X amount of units based on the red channel of the texture. Move this vertex down X amount of units based on the blue channel of the texture.

But as you can see, you cant store negative values in a texture, especially any formats that gamestudio can accept.

How can I offset a vertex, in the XYZ axis, but also displace them in the negative direction?

Ive looked up vector displacement formulas in google, and I dont know where to start.