1. A server for rendering objects in a virtual environment, comprising: a memory for storing data; and a graphics engine for performing actions prior to rasterization, including: generating a convex polygonal representation of an occluder object and a convex polygonal representation of an occludee object, wherein the occluder and occludee objects do not interpenetrate; using the convex polygonal representations, generating a list of x,y ordered pairs for a screen display by inserting into the list each x,y ordered pair where an occlusion change between the occluder object and the occludee object could occur, wherein the occlusion change could occur at endpoints of an occluder object edge or an occludee object edge, or at points where an occluder object edge intersects with an occludee object edge; performing a depth test at each x,y ordered pair within the list of x,y ordered pairs to determine if the occluder object occludes the occludee object, such that intermediate x,y points are skipped; and if based on the depth test at any of the x,y ordered pairs the occludee object is determined to be un-occluded by the occluder object, enabling the occludee object to be rendered to a display screen.