Back to Search Start Over

Alpha Blending with No Division Operations

Authors :
Van Aken, Jerry R.
Publication Year :
2022

Abstract

Highly accurate alpha blending can be performed entirely with integer operations, and no divisions. To reduce the number of integer multiplications, multiple color components can be blended in parallel in the same 32-bit or 64-bit register. This tutorial explains how to avoid division operations when alpha blending with 32-bit RGBA pixels. An RGBA pixel contains four 8-bit components (red, green, blue, and alpha) whose values range from 0 to 255. Alpha blending requires multiplication of the color components by an alpha value, after which (for greatest accuracy) each of these products is divided by 255 and then rounded to the nearest integer. This tutorial presents an approximate alpha-blending formula that replaces the division operation with an integer shift and add -- and also enables the number of multiplications to be reduced. When the same blending calculation is carried out to high precision using double-precision floating-point division operations, the results are found to exactly match those produced by this approximation. C++ code examples are included.<br />Comment: 10 pages, 1 figure

Subjects

Subjects :
Computer Science - Graphics

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.2202.02864
Document Type :
Working Paper