[Future Technology Research Index] [SGI Tech/Advice Index] [Nintendo64 Tech Info Index]


[WhatsNew] [Intro] [Sys Desc] [PR] [CPU] [RCP] [GFX] [Polygons] [MIPS/MFLOPS] [Res/Video] [FPS]

Ian's SGI Depot: FOR SALE! SGI Systems, Parts, Spares and Upgrades

(check my current auctions!)
[<-- Depth Cueing (fog, mist, haze, murky water, etc.)] [Load Management -->]

Alpha (transparency) Effects

[Turok underwater
scene] Alpha refers to the transparency (non-solid) aspect of a scene, object or pixel. 24bit colour is usually used as standard 8bit-per-component RGB (8bits for each channel, giving the all-too-familiar 16.8 million colours), but to properly model transparency effects one needs an extra channel, an Alpha channel, so that each pixel can have its own transparency value. Thus, 32bit colour (as used in the N64's frame buffer), is normal 24bit RGB plus 8bits per pixel for the Alpha channel. This format offers 256 levels of transparency.

Multiple objects in one's line of sight can have their transparency and colour values combined; this permits one to model situations such as looking out of a window at an object sitting on the bottom of a swimming pool: the window has transparency and so does the water, so one must be able to see through both. In this example, the water may also have a degree of depth-cueing to model the water's cloudyness at increasing depths or lateral distances. The image above shows Turok employing depth-cueing in this way; the transparency is obvious from the fact that the tops of the rocks (which are above the water) can be seen from beneath the water's surface.

[Turok transportation
portal] Many N64 games use transparency effects, from obvious cases such as water and glass (Waverace, Goldeneye, Turok, etc.) to less-obvious instances such as smoke, clouds, and the transportation portals in Turok. Textures often use transparency to simplify object modeling, eg. a picture of a tree may use a square texture, mapped onto a square panel in the scene; all the non-tree pixels in the texture are defined to be transparent, so one only sees the tree itself in the scene and no evidence of the square panel the texture is sitting on. The InfiniteReality Technical Report confirms this:

Textures may have full or partial transparency set at any texel location. If the entire outer edge of the uniquely shaped texture, such as a tree, is set to transparent, the texture may be placed upon a rectangular polygon and still appear to have the outline of a tree."

In SM64, Alpha effects are used for the ghosts and also in the crystal maze. Waverace is probably the largest user of transparency, due to its extensive water effects. Note that Turok uses transparency for the on-screen health indicator (one can set the degree of transparency used).

The "Symmetric Multiprocessing Systems: Technical Report", SGI, 1993, explains transparency in more detail:

Transparency

In addition to the standard three colour components, RGB (red, green and blue), each vertex being rendered is associated with an Alpha component. ...

The Alpha value is used to compute coverage in such a way that objects of differing transparency/translucency may be rendered in front of one another and allow one to be seen through the other. To insure that transparency is computed correctly and predictably, it is best to sort transparent objects from front to back with respect to the eyepoint of the scene being rendered, then draw these objects after all the non-transparent objects have been rendered.


A note on colour quality: in certain situations, having 256 levels of transparency is not enough. An example would be simulating night-time conditions, ie. environments where there is little light most of the time. Using 32bit RGBA in such cases doesn't work too well: the subtle variations in shade can easily be seen as moving 'bands' of dim colour. Thus, more advanced systems often have the option of using 48bit RGBA, ie. 12bits per channel, giving sixty eight billion colours and 4096 levels of transparency. Such colour quality is more than twice as good as can be displayed by a TV, so don't expect games consoles to offer 48bit colour for a long time to come (unless console makers start supporting computer monitors). Most PC systems do not offer 48bit RGBA, partly because it means having alot of video memory and high video bandwidth, which means greater cost, etc. SGI's Octane and Onyx2 systems can use 48bit RGBA, as can their older mid- and high-end systems (Indigo2 IMPACT, Onyx).

[Earth texture, mapped
onto a sphere] A final example of transparency: the texture-mapping page shows an image of a simple Earth model, made from a small texture and a simple sphere. However, the model contains no clouds. One could use transparency to give a reasonable cloud effect: a second texture consisting of cloud cover only could be mapped onto a second outer sphere that has a slightly wider radius. Any non-cloud part of the texture would be defined is completely transparent, and the cloudy parts of the texture would have variable transparency. Thus, one would be able to see through the clouds to the land and sea texture below. Further, by using a simple animated movie of changing cloud cover, where the 'current' frame is used as the cloud texture, one can easily model changing cloud cover. Using movies as textures like this is often used in N64 games, eg. the animated monitor displays in Goldeneye.


[<-- Depth Cueing (fog, mist, haze, murky water, etc.)] [Load Management -->]

Ian's SGI Depot: FOR SALE! SGI Systems, Parts, Spares and Upgrades

(check my current auctions!)
[WhatsNew] [Intro] [Sys Desc] [PR] [CPU] [RCP] [GFX] [Polygons] [MIPS/MFLOPS] [Res/Video] [FPS]
[Future Technology Research Index] [SGI Tech/Advice Index] [Nintendo64 Tech Info Index]