vec3 using double instead of float