Clipping is a technique used to remove portions of lines, polygons, and other primitives that lie outside the visible viewing area or viewport. There are several common clipping algorithms. Cohen-Sutherland line clipping uses bit codes to quickly determine if a line segment can be fully accepted or rejected for clipping. Sutherland-Hodgman polygon clipping considers each viewport edge individually, clips the polygon against that edge plane, and generates a new clipped polygon. Perspective projection transforms 3D objects to 2D screen coordinates, and clipping must account for objects behind the viewer; this can be done by clipping in camera coordinates before perspective projection or in homogeneous screen coordinates after projection.