---
title: "Z-buffer limitation and A-buffer"
subject: "Computer Graphics"
chapter: 7
key: "semester_5/computer_graphics:z-buffer-limitation-a-buffer"
source: https://www.bctengineer.com/q/semester_5/computer_graphics/z-buffer-limitation-a-buffer
site: BCT Engineering
---

# Z-buffer limitation and A-buffer

Computer Graphics · Chapter 7: Visible Surface Determination

- Asked in: 2078 Kartik, 3+7 marks
- Video: [Z-BUFFER ALGORITHM OR DEPTH BUFFER ALGORITHM (English+Hindi)](https://www.youtube.com/watch?v=TsjYPu7piY0) — Unacademy Computer Science
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/computer_graphics/z-buffer-limitation-a-buffer
- Whole chapter: https://www.bctengineer.com/md/semester_5/computer_graphics/chapter-7

## Question

What is the limitation of Z-buffer method? How does A-buffer method overcome it, explain?

## Short answer

The Z-buffer stores only the nearest surface per pixel, preventing transparency and causing aliasing. The A-buffer overcomes this by maintaining a linked list of surfaces per pixel with opacity and area coverage, blending them front-to-back for transparency and anti-aliasing.

## Answer

#### Limitation of the Z-buffer
The Z-buffer stores only **one surface (the nearest) per pixel**. Therefore
- transparent or translucent surfaces cannot be rendered, because the surfaces behind a transparent one are discarded;
- partial pixel coverage cannot be stored, so edges are jagged (aliasing) and anti-aliasing is not possible.
It also needs a large extra depth buffer.

#### How the A-buffer overcomes it
The **A-buffer (accumulation buffer)** keeps **several surfaces for each pixel**, so transparency and anti-aliasing are possible.

Each pixel position has a **depth field** and an **intensity field**:
- If depth ≥ 0, one surface covers the pixel: the depth field holds its depth and the intensity field its colour.
- If depth < 0, multiple surfaces contribute: the intensity field points to a linked list of surface records.

```text
Pixel: [ depth < 0 | pointer ] -> [RGB, opacity, depth,
         area coverage %, surface id, next] -> [...] -> NULL
```

Each record holds RGB colour, opacity, depth, percent area coverage, surface id and a pointer to the next record.

**Working:** (1) polygons are scan-converted into the buffer, with subpixel masks giving the area coverage; (2) for each pixel the surfaces are sorted by depth; (3) the final colour is found by blending the colours of all contributing surfaces, using their opacity and coverage (front to back).

Hence transparent surfaces show those behind, and edge pixels get area-averaged colour (anti-aliased). The price is more memory and time than the Z-buffer.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is the key limitation of the Z-buffer?
   A. It stores only the nearest surface per pixel
   B. It is slower than the A-buffer
   C. It needs sorting
   D. It cannot compute depth
   Answer: A. That prevents transparency and partial-coverage anti-aliasing. (Key point: Limitation)

2. How does the A-buffer store multiple surfaces?
   A. Several frame buffers side by side
   B. Intensity field points to a linked list of surface records when depth < 0
   C. A larger depth value
   D. A sorted array of polygons
   Answer: B. Each record holds RGB, opacity, depth, coverage, id, and next pointer. (Key point: A-buffer storage)

3. How does the A-buffer give anti-aliased edges?
   A. Higher resolution only
   B. Blurring the final image
   C. Subpixel masks record area coverage and colours are area-averaged
   D. Skipping edge pixels
   Answer: C. Percent coverage lets edge pixels get a blended colour. (Key point: Anti-aliasing)

4. What is the price of using the A-buffer?
   A. Less memory
   B. No transparency
   C. Loss of depth sorting
   D. More memory and time than the Z-buffer
   Answer: D. Lists and blending cost more than a single depth compare. (Key point: Cost)

## Related in Computer Graphics

- [Z-buffer method with limitation](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Az-buffer-with-limitation) — Computer Graphics, chapter 7, asked 3×
- [VSD factors, classes, Z/A-buffer](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Avisible-surface-factors-classes) — Computer Graphics, chapter 7
