public void fromFrame(Vector3f location, Vector3f direction, Vector3f up, Vector3f left) {
        TempVars vars = TempVars.get();
        try {
            Vector3f fwdVector = vars.vect1.set(direction);
            Vector3f leftVector = vars.vect2.set(fwdVector).crossLocal(up);
            Vector3f upVector = vars.vect3.set(leftVector).crossLocal(fwdVector);

            m00 = leftVector.x;
            m01 = leftVector.y;
            m02 = leftVector.z;
            m03 = -leftVector.dot(location);

            m10 = upVector.x;
            m11 = upVector.y;
            m12 = upVector.z;
            m13 = -upVector.dot(location);

            m20 = -fwdVector.x;
            m21 = -fwdVector.y;
            m22 = -fwdVector.z;
            m23 = fwdVector.dot(location);

            m30 = 0f;
            m31 = 0f;
            m32 = 0f;
            m33 = 1f;
        } finally {
            vars.release();
        }
    }
Copy all elements of the specified matrix to this matrix. If null is
specified, load identity (diagonals = 1, other elements = 0).

@param matrix the source matrix (may be null, unaffected)
jme3-core/src/main/java/com/jme3/math/Matrix4f.java