Projection matrices are used to project 3D scenes onto a 2D viewport. OpenGL uses normalization to convert all projections to orthogonal projections within the default view volume. This allows using standard transformations in the graphics pipeline and efficient clipping. Oblique projections involve a shear transformation followed by an orthogonal projection. Perspective projections are achieved by applying a perspective matrix that maps the near and far planes to the default clipping volume while preserving depth ordering for hidden surface removal.