A-Buffer Method Last Updated : 21 Nov, 2021 Suggest changes Share 11 Likes Like Report Prerequisite : depth-buffer (or Z Buffer) method A-Buffer method in computer graphics is a general hidden face detection mechanism suited to medium scale virtual memory computers. This method is also known as anti-aliased or area-averaged or accumulation buffer. This method extends the algorithm of depth-buffer (or Z Buffer) method. As the depth buffer method can only be used for opaque object but not for transparent object, the A-buffer method provides advantage in this scenario. Although the A buffer method requires more memory, but different surface colors can be correctly composed using it. Being a descendant of the Z-buffer algorithm, each position in the buffer can reference a linked list of surfaces. The key data structure in the A buffer is the accumulation buffer. Each position in the A buffer has 2 fields : 1) Depth field 2) Surface data field or Intensity field A depth field stores a positive or negative real number. A surface data field can stores surface intensity information or a pointer to a linked list of surfaces that contribute to that pixel position. As shown in the above figure, if the value of depth is >= 0, the number stored at that position is the depth of single surface overlapping the corresponding pixel area. The 2nd field, i.e, the intensity field then stores the RGB components of the surface color at that point and the percent of pixel coverage. As shown in the above figure, multiple-surface contributions to the pixel intensity is indicated by depth < 0. The 2nd field, i.e, the intensity field then stores a pointer to a linked list of surface data. A buffer method is slightly costly than Z-buffer method because it requires more memory in comparison to the Z-buffer method. It proceeds just like the depth buffer algorithm. Here, the depth and opacity are used to determine the final color of the pixel. As shown in the figure below, the A buffer method can be used to show the transparent objects. The surface buffer in the A buffer method includes : DepthSurface IdentifierOpacity ParameterPercent of area coverageRGB intensity componentsPointer to the next surface The other advantage of A buffer method is that it provides anti-aliasing in addition to what Z-buffer does. The usage of A-buffer algorithm for the transparent surfaces is as shown below : On applying the A-buffer method on all the six surfaces indicated below, the corresponding colors are as : In A-buffer method, each pixel is made up of a group of sub-pixels. The final color of a pixel is computed by summing up all of its sub-pixels. Due to this accumulation taking place at sub-pixel level, A-buffer method gets the name accumulation buffer. S Sahil_Bansall Follow 11 Article Tags : Computer Graphics computer-graphics Explore Computer Graphics 2 min read BasicsBasic Graphic Programming in C++ 2 min read Vector vs Raster Graphics 7 min read Segments in Computer Graphics 8 min read Image Formats 5 min read Output PrimitivesDDA Line generation Algorithm in Computer Graphics 12 min read Bresenhamâs Line Generation Algorithm 14 min read Mid-Point Line Generation Algorithm 11 min read Program to find line passing through 2 Points 6 min read Bresenhamâs circle drawing algorithm 4 min read Anti-aliased Line | Xiaolin Wu's algorithm 10 min read Neighbors of a point on a circle using Bresenham's algorithm 15 min read Mid-Point Circle Drawing Algorithm 15+ min read Boundary Fill Algorithm 5 min read Flood fill Algorithm - how to implement fill() in paint? 2 min read Flood fill algorithm using C graphics 2 min read Draw a line in C++ graphics 2 min read Draw Rectangle in C graphics 2 min read Draw circle in C graphics 1 min read Draw a circle without floating point arithmetic 6 min read Code to Generate the Map of India (With Explanation) 8 min read 2-Dimensional Viewing2D Transformation in Computer Graphics | Set 1 (Scaling of Objects) 5 min read 2D Transformation | Rotation of objects 7 min read Point Clipping Algorithm in Computer Graphics 10 min read Line Clipping | Set 1 (CohenâSutherland Algorithm) 15+ min read Polygon Clipping | SutherlandâHodgman Algorithm 15 min read Implementation of a Falling Matrix 5 min read Visible Surface DetectionA-Buffer Method 3 min read Z-Buffer or Depth-Buffer method 5 min read Back-Face Detection Method 3 min read 3-Dimension Object RepresentationSnowflakes Fractal using Python 3 min read Koch Curve or Koch Snowflake 4 min read Klee's Algorithm (Length Of Union Of Segments of a line) 9 min read Cubic Bezier Curve Implementation in C 11 min read Fractals in C/C++ 6 min read Open GLScan-line Polygon filling using OPENGL in C 8 min read Rendering a Triangle using OpenGL(using Shaders) 9 min read Getting started with OpenGL 4 min read OpenGL program for Simple Ball Game 5 min read OpenGL program for simple Animation (Revolution) in C 6 min read Translation of objects in computer graphics 7 min read Graphics function in Cpieslice() function in C 2 min read outtextxy() function in C 1 min read settextstyle function in C 2 min read outtext() function in C 1 min read setlinestyle() function in C 2 min read getx() function in C 2 min read sector() function in C 2 min read moveto() function in C 2 min read gety() function in C 2 min read getmaxx() function in C 1 min read lineto() function in C 2 min read arc function in C 2 min read bar3d() function in C graphics 2 min read moverel() function in C 3 min read cleardevice() function in C 1 min read closegraph() function in C 1 min read drawpoly() function in C 2 min read putpixel() function in C 2 min read getarcoords() function in C 2 min read getbkcolor() function in C 2 min read getmaxcolor() function in C 2 min read getpixel() function in C 2 min read setcolor function in C 2 min read imagesize() function in C 2 min read textheight() function in C 1 min read textwidth() function in C 1 min read grapherrormsg() function in C 1 min read fillpoly() function in C 3 min read fillellipse() function in C 1 min read bar() function in C graphics 2 min read MiscHow to add "graphics.h" C/C++ library to gcc compiler in Linux 2 min read How to include graphics.h in CodeBlocks? 2 min read Computer Graphics |Cathode Ray Oscilloscope| Cathode ray tube (video display technology) 5 min read High Definition Multimedia Interface (HDMI) 4 min read Common Video Format 2 min read Audio Format 3 min read My Profile ${profileImgHtml} My Profile Edit Profile My Courses Join Community Transactions Logout Like