You should be providing coordinates between 0.0 and 1.0. How you map the values you have (-500 to 3346) to this range is up to you.
If you want to map your range in an increasing linear fashion (lowest value = 0.0, highest value = 1.0, linear mapping between), you could use:
You could either do this before you pass values into the shaders, or within the shader.Code :
//TexCoord = (Value -(-500))/(3346-(-500)); TexCoord = (Value + 500)/(500+3346)