next up previous
Next: Compressing MLIs Up: Multilayer Images Previous: Generating an MLI from

Rendering MLIs

The MLI representation is designed to make the process of reconstructing a target image with transparencies and colors chosen by the user simple and efficient. The color of each pixel (x, y) is constructed from the sequence tex2html_wrap_inline569 by blending the appropriate intensity of each structure's color in proportions dictated by its transparency. Simultaneously, an image-map is constructed that records the frontmost visible structure at each pixel. This allows picking to be accomplished with a simple lookup in the map. The procedure for constructing the image and the image-map from an MLI R is given in Figure 2.

Figure 2: Reconstructing the image and image map from MLI R. We assume that ``+'' and ``*'' operate component-wise on RGB colors.

The procedure implements blended transparency according to the standard model:




where tex2html_wrap_inline623 is the opacity of the tex2html_wrap_inline625 structure from the back, of n total structures, tex2html_wrap_inline629 is its RGB color, and (R(i), G(i), B(i)) is the color of the i back-most structures. Assuming a black background, R(0) = G(0) = B(0) = 0. Unrolling one of the recurrences, we see that the color can be calculated from front to back if a transmission coefficient, equal to tex2html_wrap_inline637 after k structures have been processed, is maintained:



This front-to-back strategy also allows the calculation of the sum to be truncated when the transmission coefficient becomes small, which happens when the frontmost structures obscure structures behind them. This optimization is similar to early ray termination, which has been used in ray-casting algorithms for volume rendering [15].

Chris Umans
Sun Sep 7 15:06:59 PDT 1997