diff --git a/panda/src/gobj/perspectiveLens.cxx b/panda/src/gobj/perspectiveLens.cxx index 0fc83ec15b..160ae74aca 100644 --- a/panda/src/gobj/perspectiveLens.cxx +++ b/panda/src/gobj/perspectiveLens.cxx @@ -71,9 +71,14 @@ do_compute_projection_mat(Lens::CData *lens_cdata) { PN_stdfloat fNear = do_get_near(lens_cdata); PN_stdfloat a, b; + // Take the limits if either near or far is infinite. if (cinf(fFar)) { a = 1; b = -2 * fNear; + } else if (cinf(fNear)) { + // This is valid if the near/far planes are inverted. + a = -1; + b = 2 * fFar; } else { PN_stdfloat far_minus_near = fFar-fNear; a = (fFar + fNear);