Why does GetViewProjectionMatrix return a reverse perspective projection matrix?

Why does the UGameplayStatics::GetViewProjectionMatrix function return a reverse perspective projection instead of a non-reverse perspective projection when provided ECameraProjectionMode::Perspective?

Within the function, the projection matrix is created by calling FMinimalViewInfo::CalculateProjectionMatrix which initializes a projection matrix by calling TReversedZPerspectiveMatrix::TReversedZPerspectiveMatrix. Isn’t this incorrect? Shouldn’t TPerspectiveMatrix::TPerspectiveMatrix be used instead? Isn’t the camera using a non-reversed perspective projection and not a reverse-perspective projection?

1 Like