Conventional projection matrices (those generated by glOrtho, glFrustum, gluOrtho2D and gluPerspective, and their GLM counterparts) negate the Z direction. For a perspective projection, the near and far planes are always in front of the viewpoint, so only points with negative eye-space Z will be visible.

You can rotate by 180 degrees about the Y axis, but then the positive X axis will point to the left.

Or you could add a scale(1,1,-1) after the perspective, but thatâ€™s going to give you a left-handed coordinate system, so any objects will be mirrored (e.g. a character holding something in their left hand will end up with it in their right hand), clockwise-ordered faces will become counter-clockwise, etc.