2. A-Buffer Method
•The A-buffer method is an extension of the
depth-buffer method.
•The A-buffer method is visibility detection
method developed at Lucasfilm Studios for the
rendering system REYES (Renders Everything
You Ever Saw)
3. A-Buffer
•Z-Buffer with anti-aliasing.
(much more on anti-aliasing later in the
course).
•Anti-aliased, area averaged accumulation
buffer.
•Discrete approximation to a box filter.
•Basically, an efficient approach to super
sampling.
4. •For each pixel, build a pixel mask (say an 8x8
grid) to represent all the fragments that
intersect with that pixel.
•Determine which polygon fragments are visible
in the mask.
•Average color based on visible area and store
result as pixel color.
•Efficient because it uses logical bitwise
5. A-Buffer: Building Pixel Mask
• Build a mask for each polygon fragment that lies below the
pixel.
• Store 1’s to the right of fragment edge.
• Use XOR to combine edges to make mask.
6. A-Buffer Method (cont…)
• The A-buffer expands on the depth buffer method to
allow transparencies.
• The key data structure in the A-buffer is the
accumulation buffer.
7. A-Buffer: Building Final Mask
• Once all the masks have been built, must build a
composite mask that indicates which portion of
each fragment is visible.
• Start with an empty mask, add closest fragment to
mask.
• Traverse fragments in z-order from close to far.
• With each fragment, fill areas of the mask that
contain the fragment and have not been filled by
closer fragments
8. A-Buffer Method (cont…)
• If depth is >= 0, then the surface data field stores the depth of that
pixel position as before
• If depth < 0 then the data filed stores a pointer to a linked list of
surface data
9. •Continue until mask is full or all fragments
have been used.
•Calculate pixel color from mask.
•Can be implemented using efficient bit-wise
operations.
•Can be used for transparency as well
10. A-Buffer Method (cont…)
• Surface information in the A-buffer includes:
• RGB intensity components
• Opacity parameter
• Depth
• Percent of area coverage
• Surface identifier
• Other surface rendering parameters
• The algorithm proceeds just like the depth buffer algorithm.
• The depth and opacity values are used to determine the final
colour of a pixel.