• No se han encontrado resultados

II. TEMAS DE EVALUACION

4. RECURSOS FINANCIEROS

Recall in Section 1.2.3 that colored shadows are present when semitransparent surfaces are involved. There are three basic techniques to render shadows from semitransparent surfaces: ray tracing (Section 5.4.1), shadow depth maps (Sec- tion 5.4.2), and shadow volumes (Section 5.4.3). Also note that the majority of the shadow algorithms for volume graphics (Section 3.7) support semitransparent shadowing.

5.4.1

Ray Tracing

The earliest shadow algorithms to support semitransparent surfaces come from ray tracing approaches. Hall and Greenberg [221], Lee et al. [340], and Pearce [454] perform the usual shadow-ray computations but do not stop at the first semitrans- parent occluder, and they attenuate light as a function of the angle between the shadow ray and the normal at the intersection between the shadow ray and any object the shadow ray hits. They also need to ensure that the occluder-shadow- hits are sorted properly for the attenuation computations. See an example of the shadow attenuation effect achieved inFigure 5.7.

Figure 5.7.Semitransparent shadows from ray tracing, using no shadow attenuation on the left, and full shadow attenuation based on normals on the right. Image courtesy of Lee Lanier.

The above algorithms cannot take into account the refraction that takes place. Shinya et al. [524] apply fundamentals of paraxial approximation theory to achieve semitransparency, concentration, and diffusion of light (in the form of semitrans- parent shadows). A pencil is defined by the axial ray surrounded by nearby paraxial rays. For semitransparent shadows, pencils are shot from the lights to the bounding volumes of all semitransparent objects, then propagated to the surfaces. Thus, re- fraction is taken properly into account, but only first-generation transmitted light is taken into account.

For faster computations, the shadow depth map and shadow volume variations (to be discussed in the next sections) have been extended to account for such shad- ows, though no attenuation or refraction of light is achieved.

5.4.2

Shadow Maps

Lokovic and Veach [362] introduce deep shadow maps, in which a shadow map pixel contains a 1D function of (R,G,B) transmittance and depth information, sorted in depth order (seeFigure 5.8). Each point to be shaded accesses its shadow map pixel, determines where it resides with respect to the transmittance func- tion, and returns a shadow result. Because the transmittance function carries a lot more information per shadow depth pixel, the authors indicate that a lower- resolution deep shadow map can match the quality (i.e., capture the details well) of a much higher-resolution regular shadow depth map. Salvi et al. [495] attempt deep shadow maps on the GPU. Note that the deep shadow map is also capable of dealing with soft shadows (Section 4.5.4), motion blur (Section 5.7), and highly complex thin materials (Section 5.5), and is supported in volume graphics (Sec- tion 3.7.5). SeeFigure 5.9for a result with semitransparent colored shadows, and a result with shadows with motion blur.

Dachsbacher and Stamminger [115] use a structure based on the shadow depth map to store depth, surface normal, and irradiance (incoming illumination) of the directly illuminated points of a translucent object. To efficiently determine the sub-

Figure 5.8. A 1D function of (R,G,B) transmittance and depth information, due to semi- transparency (left) and highly complex thin materials (right). ©2000 ACM, Inc. Included here by permission [362].

Figure 5.9.Semitransparent shadows from deep shadow maps, and with motion blur. Im- ages rendered by Victor Yudin in 3Delight. Images courtesy of DNA Research.

surface light contribution at a point to be shaded, the point is projected into the translucent shadow map, and the values within a determined shadow map radius are hierarchically (mipmap) filtered with a pattern of 21 samples according to a formulation for the translucency computation. The current technique is, however, limited to translucent objects for which all visible points can be linked by a line segment within the translucent material to the contributing points directly illumi- nated by the light source.

Xie et al. [649] ray trace multilayer shadow maps (Section 4.7.4) and include an opacity value with the depth value so that semitransparent shadows and soft shadows can be rendered.

Enderton et al. [159] apply a random screen-door mask for each semitranspar- ent triangle to a regular shadow depth map and refer to it as a “stochastic trans- parency shadow map.” This allows processing to be faster than generating an ab- solutely detailed result, but it can produce stochastic noise, of which filtering is applied to smooth out the results. McGuire and Enderton [394] extend the above

Figure 5.10.Regular shadow depth map versus stochastic transparent shadow map. ©2011 ACM, Inc. Included here by permission [394].

approach to allow for color to be properly transmitted, even with multiple inter- sections of the shadows from semitransparent objects. SeeFigure 5.10for an illus- tration of a stochastic transparency shadow map.

More shadow maps supporting semitransparency are available that are more well suited to hair and fur and can be seen in Section 5.5. The two subjects (semitransparent material and hair/fur) are actually quite similar in certain cases. Further, semitransparent surfaces also contribute to atmospheric shadows, a topic discussed in Section 5.6, though only covered by McGuire and Enderton [394].

5.4.3

Shadow Volumes

Kim et al. [306] compute shadows from semitransparent surfaces by modifying the shadow count from incrementing/decrementing by 1 to incrementing/decre- menting by the transparency multiplier. This modification makes the algorithm difficult to implement on the GPU. Also, due to lack of depth information, correct self-shadowing for semitransparent surfaces cannot be guaranteed, and the trans- parency attenuation of the shadows cannot be guaranteed.

Haselgren et al. [228] support transparency mapping to arrive at hard, colored shadows. For each semitransparent triangle, shadow volumes are generated, and an extra render pass is needed. This approach is useful when there are few semi- transparent triangles, such as the complex netting inFigure 5.11represented by a few transparency-mapped triangles. Forest et al. [177] combine the above approach with penumbra wedges (instead of shadow volumes) to achieve the soft shadow equivalent.

Figure 5.11.Soft shadows from transparency mapping. Image courtesy of Forest et al. [177]. Computer Graphics Forum ©2009 The Eurographics Association and Blackwell Publishing Ltd. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden, MA 02148, USA. Reproduced by permission of the Eurographics Association and Blackwell Publishing Ltd.

Sintorn et al. [536] use per-triangle shadow volumes to robustly support both semitransparent and transparency-mapped shadows. See Section 2.4.2 for further details.

Keep in mind that while supporting semitransparency, many of the optimiza- tions discussed in Section 2.4.3 cannot be applied as they are, as semitransparent shadows will require some more information in addition to the opaque shadowing situation.

5.4.4

Trends and Analysis

Semitransparent shadows are important in offline renderings. Deep shadow maps are the norm in film and video rendering solutions, with ray tracing variants as the backup solution. In CAD offline renderings, usually only ray tracing solutions are offered.

Semitransparent shadows are not as commonplace for real-time engines, though variants of the stochastic transparency and the per-triangle shadow vol- umes show promise.