Esempio n. 1
0
        public override void Update()
        {
            Matrix4d R = yawPitchRoll(yaw, pitch, roll);

            Position += translation;

            //set this when no movement decay is needed
            //translation=Vector3d(0);

            CenterOfInterest = R.MultiplyVector3d(new Vector4d(0, 0, 1, 0));
            Up    = R.MultiplyVector3d(new Vector4d(0, 1, 0, 0));
            right = Vector3d.Cross(CenterOfInterest, Up);

            Vector3d direction = Position + CenterOfInterest;

            // V = lookAt(Position, tgt, up);
            V = Matrix4d.LookAt(Position,  // Camera is here
                                direction, // and looks here : at the same position, plus "direction"
                                Up);       // Head is up (set to 0,-1,0 to look upside-down)
            //
        }