Article View: comp.sys.amiga.tech
Article #884Re: The Future of HAM
From: Richard Addison
Date: Sun, 13 Aug 1989 20:58
Date: Sun, 13 Aug 1989 20:58
54 lines
3387 bytes
3387 bytes
In article <507@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >In article <19144@usc.edu> addison@pollux.usc.edu (Richard Addison) writes: >>While we're at it, use 7 planes for HAM so that we have 5 bits per color >>component plus one bit for overlay for a total of 16 bits per color register. >> ><And, since it would be nice to have a real alpha channel, how about another ><HAM mode with 7 planes, and 4 bits per color component with the following ><encoding for the top 3 bits to determine to use of the lower 4 bits: > [diagram deleted] ><Note that this, too, uses 16 bits per color register (4 red, 4 green, 4 blue, ><and 4 alpha). Of course, these 4 alpha bits could be available in other ><video modes. > >What's an alpha channel? Tell us more. The alpha channel describes the opacity of a particular pixel. Consider the following (and note that the color components I'll describe range from 0 to 1): Consider what you'd want to do if you had a pixel that was only half-filled by a bright yellow object. If the color of the pixel would have been (R,G,B) = (1,1,0) had the object filled it entirely, then the color of the pixel should be half as intense: (R,G,B) = (0.5,0.5,0). Now, what if we wanted to composite this pixel on top of some background? Since we should be able to see half of the color that was at the pixel before we composited the new yellow object on top of it, we need to mix the previous value of the pixel with the new value. Notice that there is a distinct difference between a bright yellow object that fills half a pixel and a medium yellow object that fills all of a pixel. In the former case, there is transparency, while in the latter there isn't. This is where the alpha channel comes in. A pixel that is half-filled by a bright yellow object has (R,G,B,A) = (0.5,0.5,0,0.5). A pixel that is totally filled by a medium yellow object has (R,G,B,A) = (0.5,0.5,0,1). Of course, to handle digital compositing in this manner, there is no need to have the alpha channel stored in video memory. However, if we do include the alpha channel in video memory, we can do live compositing of the computer video on top of an external video signal and have _anti-aliased_ edges! A 4-bit alpha channel would enable us to have 16 levels of transparency (or opacity, if you prefer, since opacity = 1-transparency). On the other hand, a single bit alpha channel (actually an overlay bit) signals whether of not to mix in the background video. Obviously, this is not nearly as useful. Want more info? Consult: Porter, T. and T Duff, "Compositing Digital Images," _Computer_Graphics_, vol. 18, no. 3, ACM, 1984. Richard Addison "Just because you're not paranoid doesn't mean people aren't out to get you."
Technical Details
Message-ID:
<19159@usc.edu>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!usc!pollux.usc.edu!addisonReferences:
<1579@psueea.UUCP> <19144@usc.edu> <507@tardis.Tymnet.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!usc!pollux.usc.edu!addison From: addison@pollux.usc.edu (Richard Addison) Newsgroups: comp.sys.amiga.tech Subject: Re: The Future of HAM Summary: Description of alpha channel Keywords: Overlay bit, alpha channel Message-ID: <19159@usc.edu> Date: 13 Aug 89 20:58:34 GMT References: <1579@psueea.UUCP> <19144@usc.edu> <507@tardis.Tymnet.COM> Sender: news@usc.edu Reply-To: addison@pollux.usc.edu (Richard Addison) Organization: University of Southern California, Los Angeles, CA Lines: 54