public int GetValueInt32 ()
{
if (ParameterClass != EffectParameterClass.Scalar || ParameterType != EffectParameterType.Int32)
throw new InvalidCastException();
#if DIRECTX
return ((int[])Data)[0];
#else
// MojoShader encodes integers into a float.
return (int)((float[])Data)[0];
#endif
}