Ray casting/ray tracing
Iterate over pixels, not objects.
Effects that are difficult with Z-buffer, are easy with ray tracing: shadows, reflections, transparency, procedural textures and objects.
Assume image plane is placed in the virtual space
for each pixelshoot a ray r from the camera to the pixelintersect with every objectfind closest intersection