<Ray Casting Algorithm>=
  public void raycast() {
    for (x = 0; x < maxX x++) {
      for (y = 0; y < maxY y++) {
         z = maxZ; closestPoly = null;
         eyeRay = new Ray (eyePoint,  x, y);
         for (P in polyList) {
            zP = P.intersect(eyeRay);
            if (zP < z) { z = zP; closestPoly = P; }
         }
         if (null != closestPoly) { framebuffer(x, y) = closestPoly.color(x, y); } 
      }
    }
  }