+ All Categories
Home > Documents > Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Date post: 25-Jan-2017
Category:
Upload: mohd-shahrizal
View: 216 times
Download: 0 times
Share this document with a friend
27
Multimed Tools Appl DOI 10.1007/s11042-014-1987-1 Anti-aliasing in image based shadow generation techniques: a comprehensive survey Hoshang Kolivand · Mohd Shahrizal Sunar © Springer Science+Business Media New York 2014 Abstract This research provides an overview of popular and widely used techniques to overcome aliasing in image based shadow generation techniques. Aliasing is a critical draw- back of image based techniques in shadow generation. Many techniques are proposed to enhance the anti-aliasing. We have classified and systemized these techniques. The main goal of this paper is to provide researchers with background on a variety of techniques to reduce the aliasing so as make it easier for them to choose the method best suited to their aims. During categorizing the anti-aliasing techniques, well-known techniques to enhance aliasing is described detail, along with a discussion of the advantages and drawbacks of each. The algorithms are also comprehensively summarized and analysed in depth. It is also hoped that our analysis helps researchers find solutions to the shortcomings of each technique. Keywords Anti-aliasing · Shadow generation · Real-time shadows · Image based shadows 1 Introduction Anti-aliasing is a persistent problem in computer graphics for many years. Many researchers have spent much time to overcome this deep issue. Generating shadows using a shadow maps algorithms is easy, fast and widely used. The efficient use of shadow mapping creates soft outline shadows of high quality and higher frames per second compared to geometrical based algorithms. As is discussed in many surveys on shadow generation, shadow maps are the suitable technique to generate fast enough shadows on arbitrary objects [19, 23, 24, 32, 33, 35, 38, 40, 43, 53, 72, 85]. There are three main categories technique to produce hard shadows: projection shadows [78], shadow volumes [16] and shadow maps [82]. Projection shad- ows are simple and no need to be discussed more. Shadow volumes are accurate enough H. Kolivand () · M. S. Sunar MaGIC-X (Media and Games Innovation Centre of Excellence), UTM-IRDA Digital Media Centre, Universiti Teknologi Malaysia, 81310 Skudai, Johor, Malaysia e-mail: [email protected]
Transcript
Page 1: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools ApplDOI 10.1007/s11042-014-1987-1

Anti-aliasing in image based shadow generationtechniques: a comprehensive survey

Hoshang Kolivand ·Mohd Shahrizal Sunar

© Springer Science+Business Media New York 2014

Abstract This research provides an overview of popular and widely used techniques toovercome aliasing in image based shadow generation techniques. Aliasing is a critical draw-back of image based techniques in shadow generation. Many techniques are proposed toenhance the anti-aliasing. We have classified and systemized these techniques. The maingoal of this paper is to provide researchers with background on a variety of techniques toreduce the aliasing so as make it easier for them to choose the method best suited to theiraims. During categorizing the anti-aliasing techniques, well-known techniques to enhancealiasing is described detail, along with a discussion of the advantages and drawbacks ofeach. The algorithms are also comprehensively summarized and analysed in depth. It isalso hoped that our analysis helps researchers find solutions to the shortcomings of eachtechnique.

Keywords Anti-aliasing · Shadow generation · Real-time shadows · Image based shadows

1 Introduction

Anti-aliasing is a persistent problem in computer graphics for many years. Many researchershave spent much time to overcome this deep issue. Generating shadows using a shadowmaps algorithms is easy, fast and widely used. The efficient use of shadow mapping createssoft outline shadows of high quality and higher frames per second compared to geometricalbased algorithms.

As is discussed in many surveys on shadow generation, shadow maps are the suitabletechnique to generate fast enough shadows on arbitrary objects [19, 23, 24, 32, 33, 35, 38,40, 43, 53, 72, 85]. There are three main categories technique to produce hard shadows:projection shadows [78], shadow volumes [16] and shadow maps [82]. Projection shad-ows are simple and no need to be discussed more. Shadow volumes are accurate enough

H. Kolivand (�) · M. S. SunarMaGIC-X (Media and Games Innovation Centre of Excellence), UTM-IRDA Digital Media Centre,Universiti Teknologi Malaysia, 81310 Skudai, Johor, Malaysiae-mail: [email protected]

Page 2: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

but expensive [43]. Although shadow volumes do not have any aliasing, the low renderingspeed has made them an extinct shadow generation technique nowadays. Shadow maps arethe fast enough technique to generate shadows which are the widely used technique in com-puter graphics. The big problem with shadow maps is aliasing which this survey is going toinvestigate more and address the prominent method to overcome this issue.

Aliasing happens due to the regular structure of dots making up images. It occurs underthree specific situations [17]. The first, our focus in this survey, occurs along the silhouettes.The second situation occurs in very small objects. And the third is concerned with the area ofcomplicated environments. The widely used methods to figure out these issues are filtering,sampling, partitioning and warping. Although denoising [20, 60, 69] can also be used toovercome aliasing, it focuses on image processing to enhance the quality of whole images.Denoisng techniques are useful for images which suffer from noise and this is not limitedto the silhouette. As our focus is on anti-aliasing on shadow map techniques which producereal-time shadows in 3D environments, small objects, complicated areas and denoising arenot taken into account.

The term “aliasing” can be discussed within the context of sampling [18]. In shadowmaps, aliasing occurs due to mismatch between pixel size, view point and light point ren-dering [26]. In the course of generating soft shadows, when the size of penumbra is smallerthan a pixel, hard shadows appear. The mismatch between shadow signal and the samplingresolution generates aliasing [74].

Maule et al. [62] prepared a paper for generating transparency and anti-aliasing images.They presented three main classes of anti-aliasing techniques. Full-Scene Anti-Aliasing(FSAA),Geometric Anti-Aliasing(GAA) and Image Post-Processing Anti-Aliasing (IAA).Taking more samples into account can solve under-sampling in FSAA. Most of the aliasingaccords along the silhouettes of objects. GAA mainly focuses on silhouette aliasing. Blur-ring the jagged edges is the common technique for eliminating the aliasing. IAA approachesprimarily focus on removal of aliasing by fading the edges in final images.

Olshausen [66] said,“Aliasing occurs when a signal is discretely sampled at a rate that isinsufficient to capture the changes in signal”. For a drawn digital image including letters,line and pictures two different reconstructions will perform which display or printer deviceand by the eyes and the brain. If the two image data reconstructions are not properly match,aliasing is seen [87].

In shadow maps, aliasing occurs because of mismatches in pixel size between the viewpoint and the light point. The pixel size in the view point and the light point are differentbecause of two different points of view.

2 Shadow maps

Shadow maps [82] are a highlighted milestone in the evolution of shadow generation. Theyare image-based and as a result, are faster than shadow volumes. Shadow mapping is fastenough in rendering and is used in computer games, television and motion vision. Theoriginal of this algorithm has two steps. First, render the scene from the point of view of thelight source in z-buffer. Second, render the scene again from the point of view. If the pixel-depth is more than the z-depth, it is in shadow; otherwise, it is in the light. This algorithmis summarized as follows:

Step 1: Render the whole scene from the point of light source and put it in the z-buffer(depth map)

Page 3: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Step 2: Render the whole scene again but from the eye’s location and transfer view pointrendering to the light source coordinate system for each pixel in view point ren-dering (Step 1); if it is not visible from light source rendering (Step 2) it is inshadow. Otherwise, it is in the light.

In other words, suppose that px is a depth value of first rendering (step 1) and py is thecorresponding value in the second rendering (step 2) if:

pz ≤ shadow − map(px, py) (1)

where p is a point in light’s image space that can receive the light. If pz is visible to thelight’s points of view, it means there is no occluder between the image space and lightsource, and consequently, it is not in shadow. If the image space is not visible, it means thatthere is an occluder and it is in shadow.

Aliasing is a critical drawback of shadow maps [39, 65, 76]. Many researchers areinvolved in solving aliasing problems in shadow mapping. Some of the interesting algo-rithms that have been proposed are introduced in the next section. In Fig. 1, the picture onthe right is a result of standard shadow mapping of a 3DS object (the scissors).

3 Anti-aliasing

Many techniques based on shadow maps, have been proposed to alleviate aliasing by thealgorithms. For instance, super-sampling, adaptive sampling and stochastic samplings arethree unique examples.

3.1 Samplings

Super-sampling uses more than one regular spaced sample per pixel. It reduces the aliasingwithout regard to the number of samples. Adaptive sampling uses additional rays to trace theedges between the previous rays [81]. This method suffers from the huge number of requiredrays. Although, both techniques do not eliminate aliasing, adaptive sampling is better foranti-aliasing. Stochastic sampling is another unique technique based on the Monte-Carlotechnique [8, 15]. In Stochastic sampling, the image is sampled at convenient, randomlyspaced locations instead of regularly spaced locations. Dimitrov [21] with the NVIDIACorporation proposed cascade shadow to remove the aliasing. This new technique was basedon a type of shadow mapping called “cascaded shadow map” (CSM). CSMs are usuallyused for wide scenes such as large terrain or forest [6].

Fig. 1 Left: theory of shadow mapping. Right: standard shadow mapping

Page 4: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Jia et al. [36] introduced Distorted Shadow Maps (DSMs) to overcome aliasing usingredistribution mechanism for enlarging the silhouette of the shadows by shrinking the partsthat are not inside the penumbra regions. Applying this technique and consequently convert-ing more texels by geometric silhouettes indicates more samples (Fig. 2). This algorithmcan be implanted for hard shadows without aliasing.

Pan et al. [68] improved shadow maps anti-aliasing by rasterizing the screen plane. Con-trary to most anti-aliasing techniques, Sub-pixel algorithm is not based on the texel-levelaliasing. It is based on alias-free shadow maps [1]. They have considered approximation ofthe pixels in shadow testing instead of taking the super-sampling into account. Anti-aliasingis achieved through the sub-pixel shadow anti-aliasing. The shading anti-aliasing should notbe considered as a disadvantage for this technique. Lecocq et al. [48] introduced a tech-nique using sub-pixel accuracy for shadow maps to reduce aliasing. The jagged edges areimproved by increasing the triangles stored in neighboring texels.

Vanek et al. [79] improved dual-paraboloid shadow maps [10] and some enhancementson [67]. By removing the paraboloid unevenly and adding optimal paraboloid the samplingof the shadows is improved for the areas of view frustum. They did not take samples whichreceive shadows outside the view frustum into account.

Wang et al. [80] applied shadow geometry maps to reduce the aliasing of the discreteapproximation of depth values. Shadow geometry maps are used where shadow depth mapis augmented in the geometry information. The algorithm integrates a super-sampling filter,a semi-regular sampling filter and a geometry-aware reconstruction kernel to enhance theanti-aliasing. A main limitation of this algorithm is the high rendering time in complexscenes due to constructing shadow geometry maps.

3.2 Filtering

Reeves et al. [70] proposed a technique to reduce aliasing by filtering, a technique whichthey called Percentage-Closer Filtering (PCF). This algorithm, by filtering the depth mapwith interpolation of binary data, attempts to produce monotonic data in the outline of theshadow. This method involves binary values. If applied to depth maps, it would cause theshadow edges to be sharp, and soft anti-aliasing would not be possible. Thus this methodcannot be used for depth maps. In traditional shadow mapping, after generating the dataaverage in a sample, if the depth map is less than the texture average, it is in shadow. Theopposite is true in lit regions. Traditional shadow mapping features sharp outlines and morealiasing. In contrast to traditional shadow mapping, PCF follows these steps in reverse,which means that the data must be filtered first to produce new binary data. The next step

Fig. 2 Redistributing mechanism by shrinking the umbra region [36]

Page 5: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

is to produce the filtered data average. The new data can range beween 0 and 1 without therequirement that the data be exactly 0 or 1. Figure 3 illustrates this as well.

The difference between Standard Shadow Mapping (SSM) and PCF is that SSM com-pares a single depth of view with a depth sample, whereas PCF compares several depths ofview in a small window. A large window must be broken into smoother and small windows.

In ordinary texture map filtering, average filtering is done after calculating but in PCFfiltering will be done before averaging. It helps to have a data range between 0 and 1;therefore, soft shadow can be generated as well as removing aliasing.

Shang et al. [73] employed shadow maps to create soft shadows (Fig. 4). The shadowsare semi-soft ones created using Guss Filtering. Guss filter makes the outline of the shadowsblur as could be seen in semi-soft shadows. BIRCH clustering [88] is a technique whichreduces aliasing with low overhead.

Fig. 3 Comparison between ordinary texture map filtering a and percentage closer filtering b

Page 6: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 4 a Standard Shadow Maps [82], b ASMs [26], c Semi-soft shadows using Guss filtering [73]

Shen et al. [75] applied filtering technique to figure aliasing in image based shadow algo-rithms (Fig. 5). The accurate filtering does not suffer from light leaking and losing contactshadows. The predicted model takes the screen space frequency of the penumbra into con-sideration through a perceptual metric. This technique is the first soft shadow algorithmwhich is able to perform anisotropic anti-aliasing without reference to the expensive screen

Fig. 5 Comparison of Shen’s results [75] using analytic anti-aliasing method against a naive screen spacesuper-sampling strategy

Page 7: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

space multisampling. Employing discretization-free shadow maps causes anti-aliasing withinsufficient shadow map resolution.

Gumbau et al. [29] proposed a statistical filtering method which estimates the cumulativedistribution function of depth values using Gaussian distribution to enhance light bleed-ing which is the main issue of VSMs. The algorithm is an extension of [30]. They havealso combined the presented algorithm with an exponential wrap to reduce the remainingaliasing. The filtering is performed as pre-processing to reduce the rendering time. This isintended to obtain better anti-aliasing instead of employing more variables into the maplike what had been employed in CSMs and LVSMs. The application of mip-mapping andanisotropic filtering led to more optimal anti-aliasing but not for magnification cases. Themain drawback of this technique is the performance bottleneck of shadow map pre-filtering.

Some games and game engines use PCF directly to implement soft shadows. Fernando[25] proposed a technique known as Percentage Closer Soft Shadow (PCSS) to create softshadow. It includes two steps - occluder search and PCF filtering.

3.2.1 Pre-filtering

Pre-filtering is a distinguished method to refine the aliasing discussed in [17]. Shen et al.[74] proposed a pre-filtering algorithm based on exponential shadow maps [4] to constructsoft shadows with plausible anti-aliasing. By constructing an approximation of shadowusing exponential shadow maps and benefit of the summed-area table (SAT) tile grid data[18], semi-soft shadows and soft shadows are achieved. Smooth soft shadows are con-structed due to the integration of an adaptive anisotropic filtering which does not occupyexpensive memory for performance. To approximate the anti-aliasing soft shadow kernel anellipsoid is considered which is the main improvement on [75].

Donnelly et al. [22] proposed a new algorithm entitled Variance Shadow Maps (VSM)based on shadow mapping to reduce aliasing. This algorithm was suited to generating softshadows. In this algorithm, instead of storing a single depth value (z-value) they stored themean (μ) and squared of depths distribution (σ 2) (Fig. 6). VSMs generated soft shadowsas well as PCFs. VSM usually gives an upper bound of the result. The variance of depthvalue helps to approximate the intensity of penumbra. Another advantage of VSMs is thatit supported self-shadowing. VSM function can be seen in Fig. 12b. By applying a blurfiltering in a separate step, soft shadow was achieved.

σ 2 =∫ +∞

−∞x2p(x)dxμ =

∫ +∞

−∞xp(x)dx (2)

Fig. 6 Shadow reconstructioncurve VSM

Page 8: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

By solving the one-tailed version of Chebyshev’s inequality to compute the intensity fordf ragment > μ:

P(dmap ≥ df ragment ) ≤ Pmax(df ragment ) (3)

where dmap is a variable of a distribution with mean and variance and df ragment is thefragment’s depth and:

μ = E(dmap) = M1 (4)

σ 2 = E(d2map) − E2(dmap) = M2 − M2

1 (5)

To calculate the M1 regular shadow mapping is used. For M2 shadow mapping with depthsquared is used.

Figure 11 shows that the results worsen as the amount of variance increases. High fre-quency light bleeding appears due to increasing variance. One of the main concerns withVSMs is light bleeding, especially in complex scenes. Layer Variance Shadow Mapping[45] had been proposed to solve the bleeding problem of VSM which will be described inthe next section.

However, because of non-planarity, incorrectly-lit is still a problem with VSM. There isno correct result for the left side of the shadow test function.

Yang et al. improved variance shadow maps and published a paper entitled “VarianceSoft Shadow Mapping” (VSSM) [86]. VSSM was based on PCSS and exploited recentadvances in VSM. VSSM rendered high quality soft shadow faster than PCSS. The algo-rithm was convenient for wide penumbra. Moreover, VSSM was one of the first systems tobe concerned with saving memory. They claimed that VSSM could render a complex sceneof more than 100 FPS (Fig. 7 (right)). They approximated the average blocker by:

zavg = N1

Nzocc + N2

Nzunocc (6)

where zunocc is the average value of depth values, which are greater than t . zocc is the corre-sponding average value of depth values which are less than t . It means with the assumptionof zunocc = t the algorithm breaks when zavg ≥ t . N is total samples in which N1 of themare greater or equal to t and N2 of them are less than or equal to t .

zocc = (zavg − P(x ≥ t)zunocc)/(1 − P(x ≥ t)) (7)

With the above assumptions zocc and zunocc are known, meanwhile, P(x ≥ t) can be eval-uated based on Chebyshev’s inequality. Therefore zocc will be employed to determine the

Fig. 7 Left: Simple shadow mapping. Center: 5×5 percentage closer filtering. Right: variance shadow mapsb Result of VSSM

Page 9: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

blockers and resulting soft shadows. One of the greatest advantages of this algorithm was itspre-computed mean and variance using mip-mapping. The most significant problems werehigh leaking (bleeding) when the variance was high, requiring high resolution texturing toobtain good results. Lauritzen and McCool [45] proposed a beneficial algorithm to solveboth VSM problems. They called the algorithm “Layered Variance Shadow Maps” (LVSM).LVSM divided the depth shadow into layers (Fig. 8). This technique has some advantagesand disadvantages.

Although it precisely reduced the texture, it was also applied to solve other problemsin the VSSM method. By managing the layers it eliminated leakage between layers. Morelayers had less bleeding resulting in higher quality.

Annen et al. [3] proposed a new technique named “Convolution Shadow Maps” (CoSMs)that became an effective arbitrary linear shadow filter. CoSMs replaced storing depth valuesat each pixel by encoding a binary visibility function.

The main difference between CoSMs and PCF is that the Convolution Shadow Mapstook into account Fourier’s expansion instead of using statistical estimates of the depthdistribution. Converging toward the PCF solution is another difference with respect to VSM,when more Fourier coefficients were added. PCF equation was transformed to ConvolutionShadow Maps by exchanging S to the combination of basic functions Bi when no shadowtesting is required for filtering.

The last term revealed the amounts applied to the basic function Bi in the depth map. Oneof the advantages of Convolution Shadow Maps is that it supported mip-mapping whichhelped to improve the quality of tri-linear and anisotropic filtering and to decrease screenspace aliasing. Another advantage was the ability to apply blur filtering to produce softshadows directly. Moreover, Convolution Shadow Maps (Fig. 9) avoided the non-planarityproblem by using double-bounded for its shadow reconstruction function. But, like othertechniques, Convolution Shadow Maps have some shortcomings. Most importantly, thequality depends on the truncation order. The higher the truncation order, the more memoryis required to save basis textures.

3.2.2 Transparency, blurring and denoising

Lokovic et al. proposed a technique entitled Deep Shadow Maps to reduce aliasing [59]. Incontrast to traditional shadow maps that store one depth for each pixel, deep shadow mapsstore fractional visibility functions that represent the visibility through a given pixel at all

Fig. 8 Left: Theory of layered variance shadow maps. Right: result of LVSM

Page 10: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 9 a Left: reveals conventional shadow mapping where point ×1 is lit, point ×2 is in shadow. a Right:illustrates convolution shadow mapping. b Depicts result of convolution shadow mapping without any lightbleeding

different depth levels. As a result, percentage closer filtering can be used as a pre-processingcalculation. Deep shadow maps produce high quality and fast shadows for very complexobjects such as hair, fur and smoke.

Deep shadow maps (Fig. 10) have some advantages and shortcomings. They are fastenough in looking-up and more efficient in memory usage. Another benefit of deep shadowmaps is the ability to produce a transparent shadow for transparent objects. They also sup-port self-shadowing. A further advantage of deep shadow maps is that they can be usedto create motion objects and motion shadows. Finally, the last advantage of deep map-ping is mip-mapping support. Deep shadow mapping reduces lookup costs especially whendifferent scales are used in viewing.

The biggest shortcomings of deep shadow maps are that they are more expensive torender compared to traditional shadow maps with the same pixel resolution.

Fig. 10 Left: The compression algorithm, a piecewise linear curve and error bound. b Extent of outputsegment to the current z-value to have deep shadow maps which store a piecewise linear representation ofthe transmittance function of each texel. Right: Deep shadow maps with 50,000 hairs

Page 11: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

In shadow mapping, aliasing occurs because of mismatches in pixel size between theview point and the light point. The pixel size in the view point and the light point aredifferent because of two different points of view. Fernando et al. [26] resolved shadowmapping aliasing by using a technique to synchronize the size of a pixel in both viewpoints.This was accomplished by storing the shadow map in a hierarchical structure instead ofthe normal flat two-dimensional view. They use a hierarchical grid structure to enhancethe image quality on a view drive. They improved quality by creating higher resolution ofshadow map.

Adaptive Shadow Maps (ASMs) store depth data in a quad-tree of small shadow mappages. Each node of the quad-tree has a shadow map of a fixed resolution and each shadowmap was partitioned into a fixed number of cells [39].

Mcguire et al. [63] proposed an algorithm to generate shadows for non rigid objectswhich is called “Colored Stochastic Shadow Maps” (CSSM). The algorithm which cansimulate shadows between rigid and non-rigid objects renders at the same rate as that ofconventional shadow maps. This technique is suitable for cases where multiple coloredtranslucent objects are placed and realistic shadows are desired. The technique is alsosuitable for generating light shaft for transparency objects as can be seen in Fig. 11.

3.3 Partitioning

The most practical approach especially in wide environments is partitioning algorithmswhich subdivides the view frustum along the z-axis which by changing the resolution orother properties of each subdivision reduce the time of rendering will be achieved.

Bruneton et al. [11] used shadow maps to have shadows and self shadowing of millions oftrees in a forest. Partitioning is a technique which they considered to render the nearest treesand terrain in a single partition applying shadow maps for the nearest trees. Cached coveragemap and a shader-map are performed to have shadows of farther trees. Partitioning couldallow them to have self-shadowing in the first layer. Using a max depth z-field channelsinstead of the min ones in sun visibility and considering opacity of the maps could reducealiasing and generate soft shadows.

Lauritzen et al. [46] proposed Sample Distribution Shadow Maps (SDSMs) to reducenot only aliasing but also under-sampling and over-sampling (Fig. 12). It is between

Fig. 11 A blue crystal angel (Stanford’s “Lucy”) statue in a shaft of light, in the Sibenik cathedral. TheCSSM result on the right depictsthe most accurate coloring

Page 12: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 12 A comparison between PSSMs (left) and SDSMs (right)

scene-independent, fixed-performance shadow algorithm and scene-dependent, variable-performance shadow algorithm. Finding the best size and position of a number of z-partitions enhanced anti-aliasing. In comparison with Parallel Split Shadow Maps (PSSMs),SDSMs are more accurate and less aliasing producing high quality shadows. A big drawbackof SDSMs is their inability to support culling techniques, because partition data are gener-ated in GPU and partition frusta are not accessible for CPU. To overcome this limitationCPU needs to be conservative and render all objects separately which is expensive.

3.3.1 Z-partitioning

Dimitrov [21] introduced a technique to create soft shadow based on shadow mapping enti-tled “Cascaded Shadow Maps” (CSM). Cascaded shadow maps tried to reduce aliasing byincreasing high resolution for areas in the scene which were close to the view point and bydecreasing the resolution for areas of the scene that were far away. CSM is done by dividingthe camera view frustum into segments and filling the z-buffer for each segment separately(Fig. 13). CSM was used for wide scenes such as large terrain. CSM algorithm is done intwo steps. First, render the scene from light source in depth map; then render the scene frompoint of view. Finally, depending on the fragment’s z-value, assign convenient resolution toeach fragment.

Liang et al. [52] worked on a Cascade Shadow Map where the light direction was notperpendicular with the view direction. They presented a Light Space Cascade Shadow Map(LiSCSM) and tried to solve the shortcomings of cascade shadow map by splitting the sceneinto non-intersection layers and creating one shadow map for each layer in the light space.Each shadow map was generated through irregular frustum clipping and scene organization.This allowed for the existence of different shadow maps without any intersection samplepoints. A succinct shadow determination technique is used to determine the optimal shadowmap during rendering. To generate soft shadows and avoid shadow flicking, the algorithmwas combined with a stable cascade shadow map.

The main drawback of CSMs was redundant rendering. The problem appeared whenthe light and view direction are not perpendicular (Fig. 14). As a result, objects are poorlyrendered in different shadow maps.

Liang et al. [52] presented a simple technique to overcome this redundant rendering. Themain part of the idea is related to splitting the scene into non-intersecting layers Li with

Page 13: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 13 Left: theory of CSM when light and view direction are perpendicular. Right: result of CSM with 3partitions in 1024*1024 resolution

respect to Wi which are the original splitting of light frustum. They calculated the depthvalue of the view split partitions using (10).

Ci = λClogi + (1 − λ)Cuni

i (8)

C − ilog = n

(f

n

) im

, 0 ≤ λ ≤ 1, 0 ≤ m ≤ 1 (9)

Cunii = n + (f − n)i

m(10)

Where m is the number of splits, n and f are near and far plane clippings respectively. Clogi

and Cunii are two classic splitting schemes that increase details by referring to [52]. α is the

split positions weight which depends on the practical requirements of the application.

Fig. 14 Left: CSM redundant rendering when the angle between the light and view directions α = 120degrees. Right: the worst case of redundant rendering when α = 180 degrees ([52])

Page 14: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Figure 14a illustrates that object O2 and some parts of object O3 are rendered twicebecause they are located inside both W2 and W3. Figure 14b illustrates that all objects arelocated inside W1, W2 and W3. In this case, they are rendered three times. Non-intersectedlayers are calculated as follows:

Li = Wi − (Wi ∩ Wi−1), (11)

where Wi is light frustum splitting with respect to view frustum splitting (Vi) and W0 = Ø.

3.3.2 Adaptive partitioning

Lefohn et al. [49] proposed a new technique based on adaptive shadow map algorithmscalled Resolution Matched Shadow Maps (RMSMs). This method stores shadow data in aquadtree at the required resolution for the current camera view. RMSMs generated shadowsin a single step, but ASMs generate shadows using iterative refinement, reducing the ren-dering time. Unlike ASMs, RMSMs require a little geometry because of the approximationof sample positions.

In 2010, Salvi et al. proposed Adaptive Volumetric Shadow Maps (AVSM), which was anadaptive algorithm that was constructed on ASM using deep maps. It is a real-time shadowalgorithm that supported high-quality shadowing from dynamic volumetric media such asfur, hair and smoke [71].

Wimmer et al. [84] proposed Light Space Perspective Shadow Maps (LiSPSMs), a newshadow map reparameterization approach, which avoided singularities by warping the direc-tion that is parallel with the shadow plane. Tobias et al. [61] introduced Trapezoidal ShadowMaps (TSMs) to solve both ASM problems. Although they could address the resolutionproblem, they continue working to solve the continuity problem. TSMs are derived from2D trapezoidal approximations of the camera frustum, as seen from the light source, to haveantialiasing [34].

LiSPSMs is a practical shadow map technique which mixed the advantages of bothstandard shadow maps and perspective shadow maps. The result was an overall high qual-ity shadow and improved pitfalls, a shortcoming of PSMs. An additional benefit was anincrease in the speed of rendering.

3.3.3 Frustum partitioning

Zhang et al. [89, 90] proposed the Parallel Split Shadow Maps technique to divide the viewfrustum. View frustum splitting allowed a shadow map to be generated and to change theresolution of each split part. Different types of splitting have an effect on the final qualityand the rendering speed. Uniform splitting, logarithmic and practical splitting schemes arethe common types of splitting (Fig. 15).

Fig. 15 Split schemes, Left: Uniform splitting, Center: Logarithmic splitting. Right: Practical splitting

Page 15: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Although parallel split schemes are proposed for reducing the aliasing, a uniform splitscheme does not solve the aliasing problem. The uniform distribution of perspective aliasingbehaved no differently with standard shadow mapping. In this case, the perspective aliasingincreased hyperbolically when the objects moved towards the camera. Logarithmic schemeis convenient for near objects but as objects are not located in front of the camera, it is notsuitable in general cases.

As logarithmic and uniform schemes could not cover the anti-aliasing for both near andfar objects, taking their average can be beneficial (Fig. 16).

In the proposed technique, there is no extra bias and it can be applied to bias concerns inmost cases. A drawback of the proposed technique was evident when the light frustum wasparallel to the view frustum.

3.3.4 Warping and perspective reparameterizations

Stamminger et al. [77] proposed perspective shadow maps. They implemented PSM in anormalized device coordinate space. PSMs work as standard shadow maps independent ofwhat is captured in the camera Post Perspective Space (PPS) rather than in the word space.

First, the whole scene, including the light source, was transformed to the PPS, and thenthe scene from the view point of the light source was rendered. During this rendering, thedepth buffer was enabled. This buffer stored an image called the Perspective Shadow Map[44]. PSM reduced the aliasing and created sharp outlines better than standard shadow maps.This idea provided high resolution for near objects and decreasing resolution as the viewermoved away from the viewpoint.

PSMs have some shortcomings. One of the problems of perspective shadow maps is theirinability to create shadows when the light source is parallel with the shadow because ithas infinite magnification. The quality of PSMs depends heavily on the light’s position inthe view space. Bias is another drawback of PSMs because the texel area is not uniformlydistributed, which means that bias is not constant and is dependant on the light position.They need a virtual camera when the light is located behind the camera. Another simple

Fig. 16 View frustum and light frustum mix to create Parallel Split Shadow Maps

Page 16: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

technique is the trapezoidal shadow map which was proposed by Martin [61] when a heuris-tic solution is used to find the near plane. By approximating the view frustum as seen fromthe light source with a trapezoid to warp it onto a shadow map the technique could reducethe aliasing.

A discerning work of Lloyd et al. [57] proved that Perspective Shadow Maps, LiSPSMand Trapezoidal Shadow Maps which are the main perspective warping algorithms are samein overall error.

Kolic et al. [37] reduced the aliasing and wastage through increasing the X-resolutionof shadow maps (Fig. 17). The technique is called Camera Space Shadow Maps (CaSSM)which pushes the camera backward in the camera space and handles the dueling frustumresulting in high quality shadows for large scenes. Though fixing the X-axis distributionperspective, anti-aliasing near the point of view is enhanced.The main issue of CaSSMs isshadow flickering such as most warping methods..

Gumbau et al. [29] extended the Gaussian filtering with warping to reduce the lightleaking which can be improved by Gaussian filtering. Warping assists in finding the bestsuited number of layers to be used in LVSM.

4 Discussion

Shadow maps require an extension to be implemented in current graphics hardware. Theyuse GL ARB SHADOW for the comparison between depth values. However they havebeen supported in different ways in hardware since, at least, 1998. sampler2DShadow hasbeen part of main GLSL for years, and similarly for Direct3D. A problem with shadowmapping sampling occurs when surfaces are too close together. Offsetting the Z-value usinga small bias is a solution to this problem [33, 55, 85]. Shadow maps are sometimes unable

Fig. 17 Shadow map organization for various special cases. Green: usage of standard shadow mapping; Red:usage of CSSM approach

Page 17: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

to project a scene in single shadow map especially when the light source has been cut off attoo large of an angle. In this case, a single light source can be converted to a combinationof light sources, but this solution requires several shadow maps and consequently, increasesthe time of rendering.

4.1 Sampling

Several methods have been proposed to solve the problem mentioned before. Most of thesolutions produced additional problems such as bleeding, overlapping or increased render-ing time. Work continues on finding a solution to aliasing and to reduce rendering time [7,9, 23, 41, 45, 59, 65, 72, 82, 85, 86].

Here we are going to explain how the alining appears in shadow maps. Aliasing can beattributed to resolution. Aliasing can be improved by creating a high resolution shadow map.By increasing shadow map resolution, the amount of aliasing will be decreased. Every pixelin a shadow map represents a truncate pyramid with ds by ds where ds is the shadow mapresolution. Decreasing the size of ds is one way to avoid aliasing or to increase resolution[72]. The size of intersection in the first image is estimated by:

d0 = dsrs

cosα(12)

where α is the angle between the ray direction of shadow maps and the surface of the scenewhich this ray hits on it. Therefore, in the final image this size is approximated by:

d = dsrs

ri

cosα

cosβ= ds

ri

rscosα

cosβ(13)

where β is the angle between surface normal vector and light source ray, rs is the distancefrom the light source to the surface and ri is the camera distance and ray intersection.

The length of the shafts [50, 51] in world space is dz = (zf − zn)ds that hits a small

edge with a length of dz

cosβ. In the view space, this length is dy = dz

cosαcosβ

which projects as

dp = dy

zon the screen. Finally, shadow map aliasing will be:

dp

ds

= 1

z

dz

ds

cosα

cosβ(14)

If dp is greater than the pixel size or dp

dsis greater than the proportion of shadow map

resolution and screen resolution, under-sampling happens. Consequently, if dz

zdsis large,

perspective aliasing occurs and if cosαcosβ

is large projection aliasing happens.To reduce projection aliasing higher sampling density is required because projection

aliasing occurs when a surface is parallel to the light direction (Fig. 18 (left)). Conversely,perspective aliasing happens because the perspective projection of the viewer (Fig. 18(right)) effects the parameterization of the shadow map. Different parameterizations willproduce different sampling density distributions. To reduce this error several approacheshave been proposed such as distributing more shadow map samples near the camera, divid-ing the shadow map into some small parts, and using different parameterizations are someof the more important ones. As mentioned earlier many researchers tried to figure out alias-ing and analysed this issue in details (Fig. 19). An appropriate investigation of sampling

Page 18: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 18 Left: Projection aliasing due to different size project areas. Projection is to a very small regionalarea (vertical red rectangle) in the shadow map compared to the size of projection from the bigger space rep-resented by the horizontal green triangle. Right: Perspective aliasing happens when a shadow map ignoresperspective foreshortening. Areas closer to the view point are stored with the same resolution, but areprojected as different sizes in view space

errors can be found in [31, 84]. In this part we are going to give the final results. Aliasingerror has been calculated using (15) which is computed based on Fig. 20.

m = rj

rt

dz

ds

Wl

We

ne

nl

dl

de

cos�l

cos�e

cos�e

cos�l

= r.dz

ds.W.n.d.�� (15)

Where

r: ratio of the screen to shadow map resolutionsW : ratio of world space widths to eye viewportsn: ratio of near plan distance of the eye and the lightd: ratio of patch distances from the eye and form the lightφ ratio of cosines angle of light and eye beams � ratio cosines angle of light and eye

beam from the normal surface of the patch Shadow map under-sampling happenswhen m > 1.

Compare to the other proposed formulations for aliasing in shadow maps, this formulaconsists most effective parameters that contribute on this issue.

As Stamminger and Drettakis [2] proposed, the problem of warping can be solved byapplying perspective transformation in the view frustum before rendering it to the shadow

Fig. 19 Aliasing theory in shadow mapping

Page 19: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Fig. 20 Notation used in the accurate aliasing description (image courtesy of Brandon Lloyd)

map. The problem is dependent on the distance of the near and far planes due to distributionof shadow map around the planes. This problem can be solved by the idea Wimmer et al.proposed in LiSPSM [84]. They introduced the idea of decoupling the perspective transfor-mation from the viewer. Another solution is the trapezoidal shadow map that was proposedby Martin [61] where a heuristic solution is used to find the near plane. The last technique isoptimizing shadow map quality for a small number of planes when multiple shadow mapsare used. This technique was proposed by many researchers but in different ways [13, 14,42, 56]. Zhang et al. [90] showed that logarithmic optimization was the best solution foroptimal parameterization of shadow maps. Lloyd et al. [56] revealed that a combination oflogarithm and perspective shadow warps can solve the problem of optimal parameteriza-tion of shadow maps as well as logarithm parameterization. They named their technique“Logarithmic Perspective Shadow Maps” (LogPSM). Unfortunately, this solution was notpractical to implement using current hardware but gives uniform error distribution for viewfrustum compare to others which have not monotonic errors.

Multi-sampling methods are convenient to alleviate aliasing especially for off-linerendering due to more computational overheads.

4.2 Filtering

Filtering techniques are the mathematical based techniques which reduce aliasing by pro-ducing an approximation of the current data for some parts of the silhouettes which arediscrete. The idea of PCF [70] is the basic filtering technique which is employed in shadowgeneration. Most of the filtering techniques to improving the aliasing generate semi-softshadows [22] or soft shadows [25, 45, 73, 75, 86]. Semi-soft shadows are convenient foroutdoor rendering while soft shadows are most suitable for indoor rendering as most ofindoor lights are wide or there are more light sources.

Most of the filtering methods suffer from light leaking. The main drawback of VSMsis light bleeding. VSSM which is based on PCSS improved the leaking but suffer fromoverlapping.

Page 20: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

4.3 Partitioning

Z-partitioning is very well-known and widely used in current game engines. In Z-partitioning, the view frustum is split along the z-axis. Shadow map will be stored separatelyfor each partition. Some famous algorithms which used this technique are Plural SunlightBuffers [57], Z-Partitioning [91], Parallel Split Shadow Maps (PSSM) [47] and CascadedShadow Maps (CSM) [21].

There are two methods which can be used to improve z-partition algorithms. First, inall algorithms, n renderings are necessary for n partitions. Zhang et al. [90] proposed atechnique to reduce the number of renderings. The second aspect is to find the best positionfor each split plane. Lloyd [56, 58] proposed the following formula for split position:

Ci = zn

(zf

zn

)(i

m

)(16)

where zn and zf are the near and far plane distances in the view frustum and m is partitionnumbers. Logarithm function (Fig. 21 left) changes the uniform distribution of partitioning.In this case, the resolution of near partitions could be as high as 128 or 64 bits, the middlepartitions can have medium resolution of 32 or 16 bits and finally, the third part that is faraway from the camera can have lesser resolution of around 8 bits or less.

Z-partitioning is much more robust than warping schemes because z-partitioning worksindependent of the axes of shadow maps. Zhang et al. [91] discussed the optimization of z-partition with respect to flickering artifacts, split section, strategies of shadow map storage,and filtering across splits. Lauritzen [47] also proposed a probabilistic extension for Cas-caded Shadow Maps based on sample distribution but this method requires special hardwareto calculate the depth histogram for the clustering approach.

In frustum face partitioning, shadow map must be calculated for each face. This schemeis important for LogPSM [56]. Lauritzen et al. [47] presented Sample Distribution ShadowMaps (SDSM), an automatic enhancement for anti-aliasing of shadow mapping. SDSMsgreatly reduced oversampling, under sampling and geometric aliasing errors. The ideabehind this method was to find the fixed size and placement of z-partitions in the light spacefrustum using the distribution of the camera-space depth buffer for a current frame with alight projection matrix. The algorithm looked for actual light distribution samples of spaceshadow maps and found an efficient place for each partition [5]. The world space positionfor each depth buffer sample was reconstructed and then projected into the light space inorder to generate shadow samples.

Fig. 21 Left: z-partitioning by capturing four different shadow maps for each partition. Right: result ofcascade shadow mapping with four partitions

Page 21: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

In basic logarithmic distributions, more partitions are located near the camera. As aresult, there may be no objects on some partitions, whereas the SDSM logarithm is anautomatic recognition technique used to find efficient partitions.

Adaptive partitioning, which reduces under-sampling errors, is the last kind of partition-ing technique to be discussed here. Many techniques had been proposed to allocate samplesin an optimal way before storing the shadow maps [27]. The more prominent techniques areAdaptive Shadow Maps [26]; Tiled Shadow Maps [5], Resolution Matched Shadow Maps[49], Queried Virtual Shadow Maps [28] and Fitted Virtual Shadow Maps [27].

The main advantage of partitioning algorithms is that they are fast, and their main short-coming is that they are completely free from surface orientation; therefore, they cannotimprove projection antialiasing.

More recently, Liu et al. [54] used different resolutions in a partitioning technique called“Parallel-Split Percentage-Closer Soft Shadows” (PSPCSS) to improve anti-aliasing, result-ing soft shadows. PSPCSS applied size-based shadow maps using different filter kernels ondifferent shadow maps for the entire camera depth range as multiple layers. A convenientsoft shadow was produced by approximating the penumbra width for the average depth val-ues that were closer to the light source (as compared to the point which was being shaded)and applied a typical PCF. The width of the soft shadows was controlled with a light sizeparameter. Different partitions had different light sizes.

Table 1 A summary of improved image based shadow techniques for generating anti-aliasing

Algorithm Technique Details

SSM [82] Different capturing Original shadow maps

PCF [70] Conventional filtering Interpolation

PCSS [25] Filtering & ASMs Synchronizing

PSMs [77] Normalize & Reparameterizations independent camera capturing

LiSPSMs [83] Adaptive partitioning Parameterization

PSSMs [90] Z-partitioning Resolution managing

VSMs [22] Pre-filtering Approximates the occlusion

VSSMs [86] Pre-filtering PCSS&VSM based

RMSMs [49] Adaptive partitioning Quadtree, ASMs& Synchronizing

CSMs [21] Z-partitioning Resolution managing

CSSMs [64] Transparency Combining coverage and transmission

CaSSMs [37] Distributing X-resolution

CoSMs [2] Filtering Fourier’s expantion

LVSMs [45] Layering Removing overlapping

AVSMs [71] Adaptive partitioning Deep mapping & Freactional visibility

DSMs [36] Redistributing & Sampling Shrinking umbra region

SDSMs [47] Partitioning & Layer distributing Removing under/over-sampling

LiSCSM [52] Partitioning Removing redundant rendering

ASMs [26] Adaptive partitioning Resolving mismatching

TSMs [61] Adaptive partitioning Enhancing ASMs

LogPSMs [56] Sampling & Partitioning Optimal parameterization

PSPCSS [54] Partitioning Resolution managing

Page 22: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Table 1 shows the employed notations in the text among with the main idea and focusingdirection of the techniques.

Table 2 reveals the principle advantage and the crucial issue of each technique which isproposed to remove aliasing and generate accurate enough hard shadow or smooth enoughsoft shadow. Many different improvements on image-based techniques for shadow gen-eration in real-time show that shadow mapping is the most-suited technique to be usedin real-time rendering. Many comparisons with PCF show interpolation direction can betaken onto account for more improvement on reducing aliasing in shadow generationtechniques.

VSMs and any improvement on VSMs such as LVSMs and VSSMs generate soft shad-ows. Therefore pre-filtering techniques must be considered for soft shadow generation.These kinds of out-comings of Table 2 will give researchers good direction to choose thebest-suited technique for their desire.

Deep Shadow Maps and any improvement on this kind of shadow technique is appropri-ate for non rigid shadows. Shadows of hair, fur, smoke and transparent objects such as fog,glass and water can be generated using these categories of shadow techniques.

Aliasing is the biggest problem of shadow maps, especially when the light source is faraway from the occluder, which produces a small shadow. Aliasing is due to synchronizationof the two depth maps. The scene must be rendered separately for each light source. This

Table 2 The main advantages and shortcoming of different methods

Algorithm Advantages Shortcomings

SSM [82] Fast rendering Aliasing

PCF [70] Fast rendering Little aliasing

PCSS [25] Soft shadowing Sampling and filtering togather

PSMs [77] Camera capturing independent Quality dependent to light position

LiSPSMs [83] Solving PSMs weakness& Fast rendering Require parameterization

PSSMs [90] Useable in large scale scenes low speed shadow map generation

VSMs [22] Soft and self shadowing Light bleeding

VSSMs [86] Fast soft shadow Light leaking

RMSMs [49] Single step shadow generation Little geometrically-based

CSMs [21] Semi-soft shadow for large scale scenes Redundant rendering

CSSMs [64] Coloured shadows for non-rigid objects Blur shadows

CaSSMs [37] High quality shadow for very large scenes Shadow flickering

CoSMs [2] Suppoting mip-mapping&Blur filtering Truncation order dependent

LVSMs [45] Soft shadows without light bleeding Overlapping

AVSMs [71] Supporting complex shadow (Hair) Dependent on graphic hardware

DSMs [36] Accurate hard shadows Hard shadowing

SDSMs [47] No over/under sampling Inability of culling

LiSCSM [52] Shadow for wide scenes without flicking Semi-soft shadow

ASMs [26] High quality with same SSM rate Iterative refinement

TSMs [61] Graphics cart independed Remaining over/under-sampling

LogPSMs [56] Uniform error distribution Hardware depended

PSPCSS [54] Soft shadows without pre/post-processing Capable to control penumbra

Page 23: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

will take more time for an omnidirectional light point. It requires a 180 degree shadowfrustum that must be handled by buffering. A problem occurs when a light source is locatedinside the scene as this situation requires six buffers to handle all shadow cases.

5 Conclusion

In this paper, we have discussed a variety of famous techniques to reduce the aliasing inimage based shadow algorithms. Most importantly, image based algorithms were discussed.An overview on each of them was presented. Identifying the main advantages of eachalgorithm was the highlighted characteristic of this paper. The shortcomings of the earlieralgorithms are the main reason new algorithms were devised.

Aliasing is the main problem with shadow maps, especially when the light source is faraway from the camera. This problem is due to some incompatibilities. Three kinds of alias-ing issues can occur in shadow mapping. Perspective aliasing occurs because of inadequateshadow map resolution. During the coordinate transformation, a mismatch between the sam-pling rate of screen-space pixels and shadow texels can happen. When the light is parallelto the occluder, another form, known as Projective Aliasing, occurs. In Projective Aliasing,there will be shadows cast onto the nearby parallel receivers. The third form of aliasing isDepth-precision aliasing. It occurs in shadow acne because of discrete sampling or lack ofsurface self-shadowing.

The area of sampling error solutions is vast. Therefore, we have categorized the causesand given a solution for each of them. To solve the problem of focusing, one of the bestways to improve the sampling rate is to omit all invisible shadow map spaces. A geometricalsolution for focusing is to calculate the convex hull of view frustum and then use clipping(for more information refer to [61] and [12]).

Sampling techniques are simple and easy techniques to address aliasing but they arefar from satisfactory since a large number of samples are required. Nowadays, generatingsemi-soft shadows and soft shadows based on PCSS is more widely used [74].

Most of the filtering methods suffer from light leaking. The main drawback of VSMsis light bleeding. VSSM which is based on PCSS improved the leaking but suffer fromoverlapping.

Partitioning is another solution used to alleviate under-sampling errors and aliasing. Thistechnique tries to approximate the best sample distribution. Multiple shadow maps are thekey such as Z-partitioning, frustum face partitioning and adaptive partitioning.

In addition on the anti-aliasing techniques, most importantly, how each algorithm workswas discussed. The figures illustrate the properties, advantages and drawbacks of the algo-rithms. Finally, it was suggested that it would be beneficial to know which algorithm is bestto use in different situations.

Z-partitioning is a state-of-the-art to reduce the aliasing. It is the most appropriate tech-nique to use when more than one shadow map is needed. Most of the z-partitioning basedalgorithms are appropriate for this situation, especially CSMs and PSSMs. Z-partitioningbased algorithm is also convenient in situations where there are large scenes, such as most ofthe outdoor rendering games. Adaptive partitioning is the best algorithm when high qualityis desired.

PCF is fast and can alleviate some of the reconstruction errors and aliasing when filteringis required, especially for small filtering kernels. For large filtering kernels, LVSMs performbetter. PCF is best used in cases requiring both anti-aliasing and soft shadow generation andwhere rendering time is a concern.

Page 24: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

Image based algorithms are convenient when the cost of rendering is an important con-sideration. In a situation that calls for a single shadow map, LiSPSMs is a good choice asthe algorithm consumes as much as a traditional shadow mapping technique, especially foroutdoor rendering. Modification of LiSPSMs using the method proposed by Lloyd et al.[55] is recommended to keep the quality of shadow maps during the rendering.

As we mentioned, to find a suitable technique for each purpose, the target must be takeninto account. There is no specific technique to cover all purpose simultaneously. We hopethis research can help researchers choose the best algorithm to meet their goals.

References

1. Aila T, Laine S (2004) Alias-free shadow maps. In: Proceedings of the 15th eurographics conference onrendering techniques, pp 161–166

2. Annen T, Dong Z, Mertens T, Bekaert P, Seidel H-P, Kautz J (2008) Real-time, all-frequency shadowsin dynamic scenes. ACM Trans Graph (Proceedings of ACM SIGGRAPH 2008) 27(3):1–34

3. Annen T, Mertens T, Bekaert P, Seidel H-P, Kautz J (2007) Convolution shadow maps. In: Proceedingsof the 18th Eurographics conference on rendering techniques. Eurographics Association, pp 51–60

4. Annen T, Mertens T, Seidel H-P, Flerackers E, Kautz J (2008) Exponential shadow maps. In:Proceedings of graphics interface 2008. Canadian Information Processing Society, pp 155–161

5. Arvo J (2004) Tiled shadow maps. In: Computer graphics international, 2004. Proceedings, IEEE, pp240–246

6. Bao G, Li H, Zhang X, Dong W (2012) Large-scale forest rendering: real-time, realistic, and progressive.Comput Graph 36(3):140–151

7. Boulanger K (2008) Real-time realistic rendering of nature scenes with dynamic lighting. Ph.D Thesis,proQuest

8. Bouville C, Dubois J, Marchal I, Viaud M (1988) Monte-carlo integration applied to an illuminationmodel. EuroGraphics 88:483–498

9. Brabec S, Seidel H-P (2003) Shadow volumes on programmable graphics hardware. Comput GraphForum 22(3):433–440. Wiley Online Library

10. Brabec S, Annen T, Seidel H-P (2002) Practical shadow mapping. J Graph Tools 7(4):9–1811. Bruneton E, Neyret F (2012) Real-time realistic rendering and lighting of forests. Comput Graph Forum

131(2pt1):373–38212. Chong HY-I (2003) Real-time perspective optimal shadow maps. Technical report, Harvard University13. Chong HY, Gortler SJ (2004) A lixel for every pixel. In: Proceedings of the 15th eurographics conference

on rendering techniques. Eurographics Association, pp 167–17214. Chong HY, Gortler SJ (2007) Scene optimized shadow mapping. Harvard Computer Science Technical

Report. Harvard University, Cambridge15. Cook RL (1986) Stochastic sampling in computer graphics. ACM Trans Graph 5(1):51–7216. Crow F (1977) Shadow algorithms for computer graphics. Comput Graph 11(2):242–24717. Crow FC (1977) The aliasing problem in computer-generated shaded images. Commun ACM

20(11):799–80518. Crow FC (1984) Summed-area tables for texture mapping. In: ACM SIGGRAPH computer graphics, vol

18, no 3. ACM, pp 207–21219. Cruz DD (2003) Shadow maps: a survey. Universidade CCTC, Braga20. Dabov K, Foi A, Katkovnik V, Egiazarian K (2007) Image denoising by sparse 3-d transform-domain

collaborative filtering. IEEE Trans Image Process 16(8):2080–209521. Dimitrov R (2007) Cascaded shadow maps. NVIDIA, Technical report22. Donnelly W, Lauritzen A (2006) Variance shadow maps. In: Proceedings of the 2006 ACM SIGGRAPH

symposium on interactive 3D graphics and games, pp 161–16523. Eisemann E, Assarsson U, Schwarz M, Wimmer M (2009) Casting shadows in real time. In: ACM

SIGGRAPH ASIA 2009 Courses. ACM, p 2124. Eisemann E, Schwarz M, Assarsson U, Wimmer M (2011) Real-time shadows. AK Peters Ltd.25. Fernando R (2005) Percentage-closer soft shadows. In: ACM SIGGRAPH 2005 sketches. ACM, p 3526. Fernando R, Fernadez S, Bala K, Greenberh D (2001) Adaptive shadow maps. In: Proceedings of ACM

SIGGRAPH ACM Press/ACM SIGGRAPH, pp 387–39027. Giegl M, Wimmer M (2007) Fitted virtual shadow maps. In: Healey CG, Lank E (eds) Proceedings of

GI (graphics interface). Canadian human-computer communications society. Montreal, pp 159–168

Page 25: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

28. Giegl M, Wimmer M (2007) Queried virtual shadow maps. In: Proceedings of the 2007 symposium oninteractive 3D graphics and games. ACM, pp 65–72

29. Gumbau J (2013) Smooth shadow boundaries with exponentially-warped gaussian filtering. ComputGraph

30. Gumbau J, Sbert M, Szirmay-Kalos L, Chover M, Gonzalez C (2011) Shadow map filtering with gaus-sian shadow maps. In: Proceedings of the 10th international conference on virtual reality continuum andits applications in industry. ACM, pp 75–82

31. Haeberli P, Akeley K (1990) The accumulation buffer: hardware support for high-quality rendering.ACM SIGGRAPH Comput Graph 24(4):309–318. ACM

32. Haines E (2001) Soft planar shadows using plateaus. J Graph Tools 6(1):19–2733. Hasenfratz J, Lapierre M, Holzschuch N, Sillion F (2003) A survey of real-time soft shadows algorithms.

Comput Graph Forum 22(4):753–77434. Hourcade J, Nicolas A (1985) Algorithms for antialiased cast shadows. Comput Graph 9(3):259–26535. Isaza C, Salas J, Raducanu B (2013) Rendering ground truth data sets to detect shadows cast by static

objects in outdoors. Multimed Tools Appl 1–1536. Jia N, Luo D, Zhang Y (2013) Distorted shadow mapping. In: Proceedings of the 19th ACM symposium

on virtual reality software and technology. ACM, pp 209–21437. Kolic I, Mihajlovic Z (2012) Camera space shadow maps for large virtual environments. Virtual Reality

16(4):289–29938. Kolivand H, Sunar M (2011) To combine silhouette detection and stencil buffer for generating real-time

shadow. Int J Comput Graph 2(1):1–839. Kolivand H, Sunar M (2012) Real-time outdoor rendering using hybrid shadow maps. Int J Innov Comput

Inf Control (IJICIC) 18(10B):7169–718440. Kolivand H, Sunar M (2013) Covering photometric properties of outdoor components with the effects of

sky color in mixed reality. Multimed Tools Appl 1–20, published online 26 May41. Kolivand H, Sunar M, Amirshakarami A, Ranjbar Z (2011) Real-time volume shadow using visible-non

visible algorithm. J Comput Sci 7(7):980–98742. Kolivand H, Sunar M, Jusoh N, Olufemi A (2011) Real-time shadow using a combination of stencil and

the z-buffer. Int J Multimed Appl 3(3):980–98743. Kolivand H, Sunar M et al (2013) A survey of shadow volume algorithms in computer graphics. IETE

Tech Rev 30(1):38. medknow Publications44. Kozlov S (2004) Perspective shadow maps: care and feeding. GPU Gems, vol 1. Addison-Wesley,

pp 217–24445. Lauritzen A, McCool M (2008) Layered variance shadow maps. In: GI ’08: Proceedings of graph-

ics interface 2008 Toronto, Ontario, Canada. Canadian Information Processing Society, pp 139–146

46. Lauritzen A, Salvi M, Lefohn A (2011) Sample distribution shadow maps. In: Symposium on interactive3D graphics and games. ACM, pp 97–102

47. Lauritzen A, Salviy M, Lefohnz A (2010) Sample distribution shadow maps. In: Advances in real-timerendering in 3D graphics and games

48. Lecocq P, Gautron P, Marvie J-E, Sourimant G (2011) Sub-pixel shadow mapping49. Lefohn AE, Sengupta S, Owens J (2007) Resolution-matched shadow maps. ACM Trans Graph 26(4):

1–1750. Li S, Wang G, Wu E (2007) Unified volumes for light shaft and shadow with scattering. In: 2007 10th

IEEE international conference on Computer-aided design and computer graphics. IEEE, pp 161–16651. Li S, Wang G, Wu E (2008) A new approach for construction and rendering of dynamic light shaft.

Comput Graph 32(6):660–668. Elsevier52. Liang X-H, Ma S, Cen L-X, Yu Z (2011) Light space cascaded shadow maps algorithm for real time

rendering. J Comput Sci Technol 26(1):176–186. Springer53. Liu N, Pang M (2009) A survey of shadow rendering algorithms: projection shadows and shadow

volumes. In: Second international workshop on computer science and engineering, pp 488–49254. Liu L, Xiao S (2011) Real-time soft shadows for large-scale virtual environments. In: 2011 international

conference multimedia technology (ICMT), pp 5464–546755. Lloyd B (2007) Logarithmic perspective shadow maps. Ph.D Thesis, University of North Carolina at

Chapel Hill56. Lloyd D, Govindaraju N, Quammen C, Molnar S, Manocha D (2008) Logarithmic perspective shadow

maps. ACM Trans Graph 27(4):1–3257. Lloyd DB, Tuft D, Yoon S-E, Manocha D (2006) Warping and partitioning for low error shadow maps.

In: Proceedings of the 17th eurographics conference on rendering techniques. Eurographics Association,pp 215–226

Page 26: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

58. Lloyd DB, Wendt J, Govindaraju NK, Manocha D (2004) Cc shadow volumes. In: Proceedingsof the 15th eurographics conference on rendering techniques. Eurographics Association, pp 197–205

59. Lokovic T, Veach E (2000) Deep shadow maps. In: Proceedings of the 27th annual conference oncomputer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., pp 385–392

60. Luisier F, Blu T, Unser M (2011) Image denoising in mixed poisson–gaussian noise. IEEE Trans ImageProcess 20(3):696–708

61. Martin T, Tan T-S (2004) Anti-aliasing and continuity with trapezoidal shadow maps. In: Proceedingsof 15th Eurographics symposium on rendering. Norrkping, pp 153–160

62. Maule M, Comba JL, Torchelsen R, Bastos R (2012) Transparency and anti-aliasing techniques forreal-time rendering. In: 2012 25th SIBGRAPI conference on graphics, patterns and images tutorials(SIBGRAPI-T). IEEE, pp 50–59

63. McGuire M, Enderton E (2011) Colored stochastic shadow maps. In: Symposium on interactive 3Dgraphics and games. ACM, pp 89–96

64. McGuire M, Hughes J, Egan K, Kilgard J, Everitt C (2003) Fast, practical and robust shadows. NVIDIACorporation, NVIDIA TechnicalReport

65. Nishita T, Nakamae E (1985) Continuous tone representation of three-dimensional objects takingaccount of shadows and interreection. Comput Graph 19(3):23–30

66. Olshausen BA (2000) Aliasing. PSC 129–sensory processes, pp 3–467. Osman B, Bukowski M, McEvoy C (2006) Practical implementation of dual paraboloid shadow maps.

In: Proceedings of the 2006 ACM SIGGRAPH symposium on Videogames. ACM, pp 103–10668. Pan M, Wang R, Chen W, Zhou K, Bao H (2009) Fast, sub-pixel antialiased shadow maps. Comput

Graph Forum 28(7):1927–193469. Portilla J, Strela V, Wainwright MJ, Simoncelli EP (2003) Image denoising using scale mixtures of

gaussians in the wavelet domain. IEEE Trans Image Process 12(11):1338–135170. Reeves W, Salesin D, Cook PL (1987) Rendering antialiased shadows with depth maps. Comput Graph

(Proceedings of SIGGRAPH 87) 21(4):557–56271. Salvi M, Vidimce K, Lauritzen A, Lefohn A (2010) Adaptive volumetric shadow maps. Comput Graph

Forum (Proceedings of EGSR 2010) 29(4):1289–129672. Scherzer D, Wimmer M, Purgathofer W (2011) A survey of real-time hard shadow mapping methods.

Comput Graph Forum 30(1):169–18673. Shang T, Zhang SP (2012) Research on high-quality soft shadow of building based shadow map. Appl

Mech Mater 174:1927–193074. Shen L, Feng J, Yang B (2013) Exponential soft shadow mapping. In: Computer graphics forum, vol 32,

no 4. Wiley Online Library, pp 107–11675. Shen L, Guennebaud G, Yang B, Feng J (2011) Predicted virtual soft shadow maps with high quality

filtering. In: Computer graphics forum, vol 30, no 2. Wiley Online Library, pp 493–50276. Sintorn E, Eisemann E, Assarsson U (2008) Samplebased visibility for soft shadows using alias-free

shadow maps. Comput Graph Forum (Proceedings of the Eurographics Symposium on Rendering 2008)27(4):1285–1292

77. Stamminger M, Drettakis G (2002) Perspective shadow maps. In: Proceedings of SIGGRAPH78. Tessman T (1989) Casting shadows on flat surfaces. Iris Universe, pp 16–1979. Vanek J, Navratil J, Herout A, Zemcık P (2011) High-quality shadows with improved paraboloid

mapping. In: Advances in visual computing. Springer, pp 421–43080. Wang R, Wu Y, Pan M, Chen W, Hua W (2012) Shadow geometry maps for alias-free shadows. Sci

China Inf Sci 1–1281. Whitted T (2005) An improved illumination model for shaded display. In: ACM SIGGRAPH 2005

courses. ACM, p 482. Williams L (1978) Casting curved shadows on curved surfaces. In: SIGGRAPH ’78, vol 12, no. 3, pp

270–27483. Wimmer M, Scherzer (2006) Robust shadow mapping with light space perspective shadow maps. In:

Engel W (ed) ShaderX 4—advanced rendering techniques84. Wimmer M, Scherzer D, Purgathofer W (2004) Light space perspective shadow maps. In: Eurographics

symposium on rendering [C], pp 143–15185. Woo A, Poulin P, Fournier A (1990) A survey of shadow algorithms. IEEE Comput Graph Appl

10(6):13–3286. Yang B, Dong Z, Feng J, Seidel H, Kautz J (2010) Variance soft shadow mapping. Comput Graph Forum

29(7):2127–213487. Zhang C, Crawfis R (2003) Shadows and soft shadows with participating media using splatting. IEEE

Trans Vis Comput Graph 9(2):139–149

Page 27: Anti-aliasing in image based shadow generation techniques: a comprehensive survey

Multimed Tools Appl

88. Zhang T, Ramakrishnan R, Livny M (1997) Birch: a new data clustering algorithm and its applications.Data Min Knowl Discov 1(2):141–182

89. Zhang F, Sun H, Nyman O (2007) Parallel-split shadow maps on programmable gpus. GPU Gems 3:203–237

90. Zhang F, Sun H, Xu L, Lun LK (2006) Parallel-split shadow maps for large-scale virtual environ-ments. In: Proceedings of the 2006 ACM international conference on virtual reality continuum and itsapplications. ACM, pp 311–318

91. Zhang F, Zaprjagaev A, Bentham A (2009) Practical cascaded shadow maps. ShaderX 7:305–330

Hoshang Kolivand is now pursuing Ph.D in UTM ViCubelab under the supervision of Dr Mohd ShahrizalBin Sunar. His research interests include Computer Graphics and Virtual Environment. Received the M.Sdegree in Applied Mathematics and computer from Amirkabir University, Iran in 1999. B.S degree in Com-puter Science & Mathematic from Islamic Azad University, Iran in 1997. Previously he was a lecturer inShahid Beheshti University Iran. He has published enormous articles in international journals and confer-ences as well as national journals, conference proceedings and technical papers including article in a book.Hoshang Kolivand is an active reviewer of some conferences and international journals. He had publishedmany books in object-oriented programming and one in mathematics.

Mohd Shahrizal Sunar obtained his PhD from National University of Malaysia in 2008. His major fieldof study is real-time and interactive computer graphics and virtual environment. He received his MSc inComputer Graphics and Virtual Environment (2001) from The University of Hull, UK and BSc degree inComputer Science majoring in Computer Graphics (1999) from Universiti Teknologi Malaysia. He servedas academic member at Computer Graphics and Multimedia Department, Faculty of Computer Science andInformation System, Universiti Teknologi Malaysia since 1999. Since 2009, he had been given responsiblityto lead the department. The current research program that he lead are Driving Simulator, Augmented Reality,Natural Interaction and Creative Content Technology. He had published numerous articles in internationalas well as national journals, conference proceedings and technical papers including article in magazines. Dr.Shahrizal is an active professional member of ACM SIGGRAPH. He is also a member Malaysian Society ofMathematics and Science.


Recommended