// vp view transform implementation. func vp(v *view, vm *lin.M4) *lin.M4 { vm.SetQ(v.dir) return vm.TranslateTM(-v.loc.X, -v.loc.Y, -v.loc.Z) }