Noise, texture, texture3d and environment functions now return a triple when
casting with (point) and (normal), the same as (vector) and (color) already did
Previously they would act as if using (float) with the single value copied into
the 3 components.