HA-Buffer: Coherent Hashing for single-pass A-buffer

Identifying all the surfaces projecting into a pixel has several important applications in Computer Graphics, such as transparency and CSG. These applications further require ordering, in each pixel, the surfaces by their distance to the viewer. In real-time rendering engines, this is often achieved by recording sorted lists of the fragments produced by the rasterization pipeline. The major challenge is that the number of fragments is not known in advance. This results in computational and memory overheads due to the necessary dynamic nature of the data-structure. Similarly, many fragments which are not useful for the final image--due to opacity accumulation for instance--have to be stored and sorted nonetheless, negatively impacting performance. This paper proposes a novel approach which records and simultaneously sorts all fragments in a single geometry pass. The storage overhead per fragment is typically lower than 8 bits per record, and no pointers are involved. Since fragments are progressively sorted in memory, it is possible to assess during rendering whether a new fragment is useful. Our approach combines advantages of previous approaches at similar levels of performance, and is implemented in a single fragment shader of 24 lines of GLSL.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/hal-00811585
Author Lefebvre, Sylvain, Hornus, Samuel, Lasram, Anass
Maintainer CCSD
Last Updated May 11, 2026, 13:46 (UTC)
Created May 11, 2026, 13:46 (UTC)
Identifier Report N°: RR-8282
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Geometry and Lighting (ALICE) ; Centre Inria de l'Université de Lorraine ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Department of Algorithms, Computation, Image and Geometry (LORIA - ALGO) ; Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA) ; Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA) ; Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-CentraleSupélec-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)
creator Lefebvre, Sylvain
date 2013-04-10T00:00:00
harvest_object_id f3470de6-7d7d-46c9-954a-dffb8b863609
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2026-01-28T00:00:00
set_spec type:REPORT