Z buffer and A buffer are two of the most popular visible surface detection techniques used in 3D computer graphics. Visible surface detection (also known as hidden surface elimination) is used to identify what is visible within a scene from a certain viewing point in the 3D world. There are two main categories of surface detection methods known as Object Space Methods and Image Space Methods. Object Space Methods deal with comparing object and/ or parts of objects to determine which surfaces are visible. Image Space Methods deal with deciding visibility on a point-to-point basis at the pixel level. Image Space Methods are the most popular and Z buffer and A buffer belong to that category. Z buffer method computes the surface depth values for each pixel throughout the whole scene. A buffer method is an extension to Z buffer method, which adds transparency.
What is Z buffer?
Z buffer method is also known as depth-buffer method. Z buffer is a raster buffer that stores color and depth information for each pixel. The “Z” in Z buffer refers to the “Z” plane in 3-dimentional space. Z buffer methods detect visible surfaces by comparing surface depth values for each pixel throughout the scene on the plane of projection. This is mostly done in hardware, but sometimes carried out in software. Usually, Z buffer method is applied to scenes only made up of polygons. Z buffer method is very fast because the depth values can be computed very easily. One of the most important aspects that influence the quality of the graphics rendered is the granularity of the Z buffer. Lower granularity can cause problems such as Z-fighting (especially for very close objects). For example, 16-bit Z buffers can produce these problems. 24-bit or higher Z buffers provide better quality in these situations. A 8-bit Z buffer is considered to have too little buffer precision to be useful.
What is A buffer?
A buffer (also known as anti-aliased, area-averaged, accumulation buffer) is an extension to the Z buffer. A buffer algorithm was developed by Pixar. A buffer method could be used effectively for medium scale virtual memory computers. The same algorithm used by Z buffer is used with A buffer. However, A buffer provides anti-aliasing in addition to what Z buffer does. In A buffer, each pixel is made up of a group of sub pixels. The final color of a pixel is computed by summing up all of it sub pixels. A buffer gets the name accumulation buffer due to this accumulation taking place at sub pixel level.
What is the difference between Z buffer and A buffer?
Z buffer and A buffer are two of the most popular visible surface detection techniques. In fact, A buffer is an extension to Z buffer, which adds anti-aliasing. Typically, A buffer has a better image resolution than Z buffer, because it uses an easily computable Fourier window. However, A buffer is slightly costly than Z buffer.