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); }
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); }
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; }