func (lhs *Vec3) Cross(rhs *Vec3) *Vec3 {
	a, b, c := lhs[0], lhs[1], lhs[2]
	lhs[0] = b*rhs[2] - c*rhs[1]
	lhs[1] = c*rhs[0] - a*rhs[2]
	lhs[2] = a*rhs[1] - b*rhs[0]
	return lhs
}
Cross calculates the vector cross product. Saves the result into the
calling vector. Returns itself for function chaining.
package vec3
import "github.com/rkusa/gm/math32"
type Vec3 [3]float32
func New(x, y, z float32) *Vec3 {
	return &Vec3{x, y, z}
}
func (lhs *Vec3) Clone() *Vec3 {
	return &Vec3{lhs[0], lhs[1], lhs[2]}
}