hi
i´m new to shaders

i have a simple question: how to pass a float-var (from lite-c) to a pixelshader by keeping it´s precision. the float-value i want to pass has a range about [4,0) with the maximum precision-deep. possible values are (for example):
Code:
float mx;
mx = 4.0;
mx = 0.7;
mx = 0.00002;
mx = ...



my shader works correctly for mx >= 0.0005. in the other cases the value i got in the shader is 0. So i guess the value will be converted to a var before passing --> the precision is lost.

i´m confused:
- the manual says that the skills are type of var (http://www.conitec.net/manual_d/aentity-skill.htm)
- in the shader the skills are available in float4 (http://www.conitec.net/manual_d/Shader-entskill.htm)
- to pass a var i have to use floatv(). this function expects a var and converts it into a ieee-float (for the shader)

so: is it possible at all to pass a float when the skills are typeof var?? how to do this? is there a wordaraound?

currently i use
mat.skill1 = floatv(mx);
to pass it. i know its wrong, but i have no better idea


can someone help the newbie?
thanks