Is it better ?
if (cmd.hasProjection()) {
val proj = xbuf.cnv(cmd.getProjection(), new Matrix4f());
cam0.setParallelProjection(cmd.getProjMode() == ProjMode.orthographic)
if (cmd.getProjMode() == ProjMode.orthographic) {
val lr = pairOf(proj.m00, proj.m03)
val bt = pairOf(proj.m11, proj.m13)
val nf = pairOf(-proj.m22, proj.m23)
cam0.setFrustum(nf.key, nf.value, lr.key, lr.value, bt.value, bt.key)
} else {
val fovY = 2f * FastMath.RAD_TO_DEG * FastMath.atan(1f / proj.m11)
val aspect = proj.m11 / proj.m00
cam0.setFrustumPerspective(fovY, aspect, cmd.getNear(), cmd.getFar())
}
}