Answer
See the explanation
Work Step by Step
Here's a pseudocode representation of the procedure for solving the "foreground/background" problem using a z-buffer:
```
function ZBufferAlgorithm(scene):
initialize depth buffer with maximum depth values
for each polygon in scene:
for each pixel in polygon:
if pixel depth < depth buffer value at pixel coordinates:
update depth buffer with pixel depth
draw pixel with polygon color
else:
continue
```
This algorithm ensures that only the closest visible surfaces are rendered, effectively solving the "foreground/background" problem using a z-buffer.