Exemple #1
0
 public Matrix4f SetToLookAt(Vector3f pos, Vector3f target, Vector3f up)
 {
     this.SetToIdentity();
     tempVec.Set(target);
     tempVec.SubtractStore(pos);
     tempVec2.Set(pos);
     tempVec2.MultiplyStore(-1);
     tmpMat.SetToTranslation(tempVec2);
     tmpMat2.SetToLookAt(tempVec, up);
     this.Set(tmpMat);
     this.MultiplyStore(tmpMat2);
     return(this);
 }
Exemple #2
0
        public BoundingBox Set(Vector3f minimum, Vector3f maximum)
        {
            min.Set(minimum);
            max.Set(maximum);

            center.Set(min).AddStore(max).MultiplyStore(0.5f);

            extent.Set(maximum);
            extent.SubtractStore(minimum);

            dimension.Set(max).SubtractStore(min).MultiplyStore(0.5f);

            UpdateCorners();

            return(this);
        }
Exemple #3
0
        public Vector3f Unproject(float mouseX, float mouseY)
        {
            Vector3f vec = new Vector3f();

            vec.x = -2f * (mouseX / width);
            vec.y = 2f * (mouseY / height);
            vec.z = 0f;

            vec.MultiplyStore(projMatrix.Invert());
            vec.MultiplyStore(viewMatrix.Invert());

            vec.SubtractStore(Translation);

            return vec;
        }