implicit decals - uvic.cawebhome.cs.uvic.ca/~blob/papers/implicitdecals.pdf · implicit decals...

7
Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models and is widely used in both the game and the movie in- dustry. Creating texture maps has always been a complex task and existing methods carefully balance flexibility with ease of use. One difficulty in using texture maps has been the tiling of individual textures over larger areas. Our method uses decals to place im- ages onto the model and allows the decals to overlap or compete for space and deform as they are being pushed by other decals. A spherical implicit field is used to determine the position and size of each decal and any deformation applied to fit the decals. The decals may span multiple objects with heterogenous representations. This method does not require an explicit parameterization of the model and lends itself well to textures with repeating patterns like rocks, tiles, and scales, though it is not limited to repeating patterns. We have implemented the method using the GPU and decal placement, size, and orientation can be edited in real time for thousands of de- cals. Keywords: texture mapping 1 Introduction For many applications, such as interactive computer games and an- imation, placing textures on arbitrary surfaces remains a problem area where artists spend much time to achieve desired effects. Most texturing tools require an appropriate parameterization to be found for polygonal or implicit surfaces where no natural parameteriza- tion exists. For example placing texture cells for tiling scales on a dragon can be a difficult and time consuming process. In ad- dition it is often useful to place a texture across multiple objects which may use different representations. There are also advantages in system building in not having to constrain the representation of the geometric objects, allowing easier integration of techniques that require real-time texture placement. Our goal is to automatically place cellular pattern elements (decals) on one or more object without requiring an existing surface para- meterization, and to subsequently allow interaction to fine tune each element’s deformation and placement. The method we propose uses a decaling interface similar to that suggested by Schmidt et al. [Schmidt et al. 2006]. As per Schmidt et al.’s work we do not require a global parameterization, and the result is a set of decals on the surface that are interactively editable. However, our method for finding a local parameterization is not bound to the underlying geometry as is the case with Schmidt et al.’s use of the exponential map. The main contributions of our method are: The use of a field generated by implicit point primitives placed at an arbitrary resolution independent of the underlying geom- etry. The technique is simple enought implement in a fragment shader allowing thousands of decals to be placed and edited interactively. Our decals might not only overlap, but might also jostle for position, or be overlapped independently, as encoded by the chosen field functio Surface connectivity is not required thus a texture can be placed across multiple objects or across gaps on an object. A detailed comparison with various techniques, including Schmidt et al.’s method, is given in section 4. The advantages of the proposed method are especially important in games applications, particularly where decals representing pattern elements that are required to be similar but not identical, such as a dragon’s scales, a pile of rocks, or a blood spatter that falls on different objects. The method is also efficient because it can be im- plemented using only local information at a fragment-level. The separation of the parameterization from the underlying geometric representation allows the decal fragment shader to be appended to any of an application’s fragment shaders to add decals to an ob- ject see 3.4. The remainder of the graphics pipeline can remain unchanged. Likewise, the ability to drop decals across multiple ob- jects reduces the cost of using the decals in game-like applications. Decals that span multiple objects cost no more to apply with our

Upload: others

Post on 03-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

Implicit Decals

XXXXX

Abstract

Texture mapping has become an essential component of creating3D models and is widely used in both the game and the movie in-dustry. Creating texture maps has always been a complex task andexisting methods carefully balance flexibility with ease of use. Onedifficulty in using texture maps has been the tiling of individualtextures over larger areas. Our method uses decals to place im-ages onto the model and allows the decals to overlap or competefor space and deform as they are being pushed by other decals. Aspherical implicit field is used to determine the position and size ofeach decal and any deformation applied to fit the decals. The decalsmay span multiple objects with heterogenous representations. Thismethod does not require an explicit parameterization of the modeland lends itself well to textures with repeating patterns like rocks,tiles, and scales, though it is not limited to repeating patterns. Wehave implemented the method using the GPU and decal placement,size, and orientation can be edited in real time for thousands of de-cals.

Keywords: texture mapping

1 Introduction

For many applications, such as interactive computer games and an-imation, placing textures on arbitrary surfaces remains a problemarea where artists spend much time to achieve desired effects. Mosttexturing tools require an appropriate parameterization to be foundfor polygonal or implicit surfaces where no natural parameteriza-tion exists. For example placing texture cells for tiling scales ona dragon can be a difficult and time consuming process. In ad-dition it is often useful to place a texture across multiple objectswhich may use different representations. There are also advantages

in system building in not having to constrain the representation ofthe geometric objects, allowing easier integration of techniques thatrequire real-time texture placement.

Our goal is to automatically place cellular pattern elements (decals)on one or more object without requiring an existing surface para-meterization, and to subsequently allow interaction to fine tune eachelement’s deformation and placement.

The method we propose uses a decaling interface similar to thatsuggested by Schmidtet al. [Schmidt et al. 2006]. As per Schmidtet al.’s work we do not require a global parameterization, and theresult is a set of decals on the surface that are interactively editable.However, our method for finding a local parameterization is notbound to the underlying geometry as is the case with Schmidtetal.’s use of the exponential map. The main contributions of ourmethod are:

• The use of a field generated by implicit point primitives placedat an arbitrary resolution independent of the underlying geom-etry.

• The technique is simple enought implement in a fragmentshader allowing thousands of decals to be placed and editedinteractively.

• Our decals might not only overlap, but might also jostle forposition, or be overlapped independently, as encoded by thechosen field functio

• Surface connectivity is not required thus a texture can beplaced across multiple objects or across gaps on an object.

A detailed comparison with various techniques, including Schmidtet al.’s method, is given in section 4.

The advantages of the proposed method are especially important ingames applications, particularly where decals representing patternelements that are required to be similar but not identical, such asa dragon’s scales, a pile of rocks, or a blood spatter that falls ondifferent objects. The method is also efficient because it can be im-plemented using only local information at a fragment-level. Theseparation of the parameterization from the underlying geometricrepresentation allows the decal fragment shader to be appended toany of an application’s fragment shaders to add decals to an ob-ject see 3.4. The remainder of the graphics pipeline can remainunchanged. Likewise, the ability to drop decals across multiple ob-jects reduces the cost of using the decals in game-like applications.Decals that span multiple objects cost no more to apply with our

Page 2: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

method, whereas multi-geometry decals in other techniques have acost that scale with the number of surfaces touched. The ability toadd the decals in real-time and to render vast numbers of them hasclear applications in the games domain.

This paper is structured as follows. First we present a brief reviewof texture mapping literature, with a particular eye towards tech-niques that do not require explicit parameterization of the surfaces.In section 3 we present our method for creating first a single im-plicit decal and the mathematical framework for handling multipledecals. We then briefly review our implementation in section 3.4,and then present our results and conclusions.

2 Previous work

2.1 Texture Mapping

Texture mapping [Blinn and Newell 1976], is an important com-ponent of the modeling and animation pipeline. The technique in-volves deriving values of a two dimensional parameter space on thesurface of the object and using these parameter values as indicesinto an image, supplying a color value for that point at the surface.The technique relies on the existence of the parameter space on thesurface, and much of the literature surrounding texture mapping isconcerned with the generation of such a parameterization and therelated re-mapping of the look-up image. Texture design is gener-ally a manual process involving both the parameter space and there-mapped images, and consumes a significant amount of the effortin many animation and interactive games projects.

There are several approaches to texture design but interactive paint-ing tools [Hanrahan and Haeberli 1990] have steered texture designinterfaces. In these approaches the parameter space is either alreadyexplicit in the object representation, or is piece-wise approximatedas necessary to maintain detail in the image as it is painted incre-mentally.

Another type of texture mapping interface is constrained parame-terization [Levy 2001], [Kraevoy et al. 2003]. Here a set of con-straints are manually specified between the desired texture imageand the surface. Global optimization algorithms are then applied tomap the image onto the surface such as to satisfy the constraints andminimize a given distortion metric. Recent advances support pointsets [Zwicker et al. 2002], and atlas generation from multiple im-ages [Zhou et al. 2005]. These systems do not address the generalproblem of texture design, as the desired 2D images are assumed toalready exist.

2.2 Texture Synthesis

A visually related area of work, though very different in imple-mentation, is the field of texture synthesis. Wei and Levoy’s workexemplifies this approach [Wei and Levoy 2001]. Starting fromexamplar textures, they synthesize a new texture over a given ob-ject by searching for best-pixel fits in local neighborhoods. Similartechniques are presented by Turk [Turk 2001] and Efros and Free-man [Efros and Freeman 2001]. These techniques all must maintaina global parameterization for the object as well as the full-size gen-erated texture, making the techniques applicable to pre-processingmore than interactive editing. In fairness, these methods are ex-pected to be used when a straight tiling of decals is inadequate tocapture the desired variation in the semi-tiled textures.

2.3 Decals

A third style of texturing interface, which combines aspects of bothpainting and constraint tools, is the ‘decaling interface’, introduced

by Pedersen [Pedersen 1995]. In this approach the metaphor is thatof 2D images affixed to the surface. Pedersen dubs these ‘patchi-nos’, but they are now more generally called decals. Decals aretreated as independent scene elements which are constrained to lieon a surface, but may otherwise be interactively manipulated. Be-cause a simple mapping exists between the image and the surface,2D image processing tools can be trivially implemented. Decals arecomposited in real-time, mimicking 2D image compositing [Porterand Duff 1984] and vector graphics interfaces. This approach al-lows artists to interact with surface texture directly, using familiar2D methods and tools. One of the largest benefits of decaling isthat it allows for easy re-use of 2D images in texture design. Whencombined with a digital camera or image database, realistic texturescan be created very quickly. Constrained parameterization can alsobe used to apply decals, however the human interface of [Pedersen1995] is difficult to implement because of the problem of simulta-neously moving all of the constraints across the surface.

An interactive decaling system based on hardware-accelerated oc-tree textures is described in [Lefebvre et al. 2005]. Basic interac-tive positioning and blending composition is supported. Like 3Dpainting, decals are applied using planar projection. In this methodimage sprites can be combined to produce blended sprites (decals).In our work we use the implicit field to apply more complex opera-tions such as deforming decals so that for example a snake’s scalesare not uniform but compete for space. Similarly, Autodesk Im-ageStudio [Autodesk 2005] also supports application of decals us-ing planar projection, as well as conformal decals similar to thoseof Schmidtet al. that rely on the surface geometry[Schmidt et al.2006].

Tiletrees [Lefebvre and Dachsbacher 2007] solve the problem oftexturing onto arbitrary surfaces but the octree must be regeneratedif there is a small change in the model. In our system if a smallchange is made to the model, decals can be projected back ontothe surface and may change position but the decal will not visuallychange.

2.4 Implicit Fields

An implicit field is a term used in the implicit surface modelingcommunity and generally refers to a scalar field generated by someset of functions. Various different approaches are listed in [Bloo-menthal ]. Examples of modeling systems that use a hierarchy forbuilding complex models can be found in [Pasko et al. 2001] and[Wyvill et al. 1999].

The idea of using an implicit field for 2D texturing was first in-troduced in [Zonenschein et al. 1997] , where a field based para-meterization was derived from a support surface and applied to animplicit object. Although some refinements to the approach havebeen made, it is not interactive and provides limited control overtexture application [Tigges and Wyvill 1999], or requires topologi-cal knowledge a priori [Grimm 2004]. In [Boubekeur and Schlick2006], a set of sample points are derived from a large out of coremodel. A texture is applied to the low resolution point set and theresult is upsampled to the original mesh using a field generated fromradial basis functions.

Schmidt et al in [Schmidt et al. 2006], build on the decaling ideaand address many of the problems of Pedersen’s interface. In thiswork a local exponential map parameterization is generated from asingle point and geodesic radius, that serves to simplify the user in-terface and support automatic creation of decals. The system canbe applied to any point set, and provides a nice tool for textur-ing animated implicit surfaces. It can preserve texturing even inthe presence of topological changes. Our ’implicit decal’ approachdescribed here is similar in spirit but instead of deriving the local

Page 3: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

parameterization from an exponential map that is derived from thegeometry of the surface, we introduce a implicit support surface.This gives us most of the properties of Schmidt’s system plus theadvantages listed above, at the cost of stability of the mapping un-der deformation of the underlying surface.

3 Decal

Our method uses decals to place images onto 3D models. Each de-cal is specified by an implicit point primitive and two tangent vec-tors that determine the position and orientation of the correspondingimage. The field generated by the point primitive controls the sizeof the decal. When two or more decals overlap, the combined fieldvalues of those decal are used to determine the interaction betweenthe decals.

3.1 Implicit Decals

pi

vi

ui

si

Figure 1: Decali placed on the surface of a model

d

g(d)

0

½

1

1

Figure 2: The field functiong

An implicit decal i is represented by a spherical implicit field ofradiussi around pointpi (see figure 1), as well as its two tangentvectors. The field valuesfi of decali can be calculated by applyinga potential function to the distance from pointpi divided bysi (seeequation 1). In our implementation we use the bounded potentialfunctiong : R → R which has a maximum value of1 at distance0 and decreases continuously to0 at distance1 (see figure 2 andequation 2). Only the part of the field with values equal or higherthan 1

2(the orange area in figure 1), arbitrarily chosen to fall in the

center of the range of the potential function, will generate texturecoordinates. The dashed line indicates the boundary of the fieldaround the decal and this part will only be used to calculate theamount of deformation of nearby decals (see section 3.2).

fi(q) = g

�q − pi

si

�(1)

g(d) =

�(1− d2)3 if d ≤ 10 if d > 1

(2)

To calculate the radiusr(q) of the polar texture coordinates(r(q), θ(q)) in a point q, we first calculate the field valuefi(q).Next we apply the inverse ofg to get a radius between0 and 1which is in a direct linear relation to the distance betweenq andpi:

r(q) = g−1 (fi(q)) (3)

= g−1

�g

�q − pi

si

��

=q − pi

si

To calculate the angleθ(q) of the polar texture coordinates, we usetwo perpendicular vectorsui and vi (see figure 1). Ifq∗ is theprojection ofq onto theui− vi plane, the value ofθ(q) is the anglebetweenui and the vector(q∗ − pi):

θ(q) = arctan

�vi · (q − pi)

ui · (q − pi)

�(4)

Figure 3 shows an example of a decal placed on a sphere. The vec-tors ui andvi are calculated from the surface normal inpi and auser defined orientation angle. Figure 4 shows how our decals han-dle sharp edges, holes in the geometry and bumps on the surface.Figure 5 shows how a single implicit decal can texture more thanone surface at the same.

Figure 3: A decal (left) placed on a sphere (right)

Figure 4: Our decals work on sharp edges, holes in the geometryand bumps on the surface

3.2 Contact deformation

To deform decals so that they touch each other instead of over-lapping each other, we use a technique similar to Precise ContactModelling (PCM) [Gascuel 1993] which deforms implicit surfacesby using the field of nearby objects. PCM is not suitable for ourpurposes as it can creates gaps when more than two objects are in-volved. PCM can also create discontinuities in the field which willshow up in the texture.

By changing the definition ofr(q) from section 3.1, we can createa deformation which is more suitable for our purposes. Instead of

Page 4: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

Figure 5: A single decals (the blood stain) can cover different mod-els

applying the inverse ofg to the field value in a pointq (see equation3) the field value will be deformed first by nearby decals. If decalkq denotes the decal nearest toq, r(q) can now be calculated asfollows:

r(q) = g−1(F (q)) (5)

F (q) =1

2+

�fkq (q)− 1

2

� Yi6=kq

h�q, fi(q) + fkq (q)

h(q, t) =

(1−

�t−1

1−fkq(q)� 1

1−fkq(q)

if t >= 1

1 if t < 1

When pointq only lies in the field of one decal, the product partof equation 5 will yield1 and the whole equation will be equal toequation 3. When other decals are in the proximity ofq, equation5 will adapt fkq (q) to make it touch but not overlap the nearbydecals. To clarify equation 5, we can look at the situation whereonly two decals are present. Figure 6 shows us the 4 situations the2 decals can be in. In situation A, the decals are not overlappingeach other and no deformation is needed. In situation B and C, thefields of the decals are overlapping but the textured areas are not sono deformation is needed. Only in situation D where the texturedareas overlap, deformation is required.

A B C D

Figure 6: 4 possible situations when using only 2 decals

Figure 7 shows us a graph ofF (q) when only two decals are in-volved andkq = 0. The part of the graph wheref0(q) < f1(q) isnot colored because in those caseskq should have been1 sincekq

represents the decal with the highest field value. There are a few

0

½

1

f (q)0

f (q)1

Figure 7: A graph ofF (q) when only two decals are involved

constraints onF (q) that are necessary. First of all, figure 6 showedus that deformation is only wanted when the texture areas (areaswith a field value higher than1

2) overlap. This is roughly in the area

wheref0(q)+f1(q) > 1, so the area wheref0(q)+f1(q) <= 1 re-mains equal tof0(q). The second constraint is thatF (q) = 1 whenf0(q) = 1. This is to make sure that the center of the decal stays inplace. A value lower than1 at the center of a decal would make thecenter of the image disappear asr(q) would always be larger than0. The third constraint is thatF (q) = 1

2wheneverf0(q) = f1(q)

andf0 > 12

(red line in figure 7). This is to make decals touch eachother instead of overlap. Whenever 2 decals overlap each other asin image D of figure 6 we need to make sure the boundaries of bothtextured areas are pushed back until they only tough. At the newboundary where the two decals tough, theF (q) should equal1

2.

Since we use the decal with the highest field value inq, the bound-ary will occur at the line wheref0(q) = f1(q) The last constraintis thatF (q) needs to be continuous (except at the boundary wheref0(q) = f1(q)) to render continuous textures. The formula forF (q) in equation 5 is engineered using these constraints.

Figure 8 shows two examples where decals overlap. Notice theblack border line in between the decals that would have disappearedwithout applying contact deformation.

Figure 8: Deformed decals

3.3 Automatic decal placement

Even though manual placement of decals is an easy task (see figure9), it can take a long time to texture more complex surfaces or sur-faces that require a large amount of decals. A tool to automaticallytexture the whole surface could greatly reduce the modelling time.

Fleischeret al.’s Cellular Texture Generation work [Fleischer et al.1995] offers a method to generate seed locations for our decals,evolving a system of partial differential equations to generate seedpoints and surface-based field values on object surfaces. We im-plemented a much simplified version of this work, and instead of

Page 5: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

placing a geometric primitive at each particle, we place one of ourtexture primitives.

With our texturing method such tools can easily be created. All ourmethod needs for input is a list of decals (position, size and ori-entation). This input can be automatically generated by scatteringparticles onto the surface of the model and make them repel eachother. The final positions of the particles can be used as the po-sitions of the decals. The size of each decal can be calculated bytaking the maximum distance to a neighboring decal in a Delaunaytriangulation. The orientation can be a random value between0 and2Π.

Figure 9: 40 decals placed by the user in under 2 minutes

Figure 10 shows 1000 particles distributed over the surface of amodel and figure 11 shows the result of replacing the particles withdecals. It should be noted that the user can still interactively editthe decals after the initial placement.

Figure 10: 1000 particles scattered over the surface

Figure 11: 1000 decals placed at the particle positions

Instead of a particle system, a remeshing algorithm could be usedto generate a coarse mesh. The positions of the vertices of thismesh could also be used as the positions of the decals. Differentremeshing algorithms or particle systems could generate differentpatterns for the decal placement.

3.4 Implementation

Our implicit decals can be implemented and visualized in severalways. One way would be to use a ray tracer where texture coordi-nates would be calculated for each ray intersection with the model.Unfortunately ray tracers are computationally expensive and aretoo slow to make interactive modelling possible. Another way tovisualize models which are textured by our decals is to calculatetexture coordinates for each vertex in the model (implicit surfaceswould have to be polygonized) and render the model using tradi-tional hardware texturing. This would create a distorted visualiza-

tion because the texture coordinates between vertices are interpo-lated linearly even though the actual texture coordinates are notdistributed linearly due to applied deformations. Moreover, therewould be artifacts at the borders of the decals as the hardware doesnot distinguish between the case where two vertices are positionedon neighboring decals and the case were they are on the same decal.

To achieve the texturing quality of ray tracers where texture coordi-nates are calculated per pixel but also achieve the rendering speedwe need for interactive editing, we implemented our implicit decalsusing the GPU fragment shader. To render a number of implicit de-cals on the surface of a model, the decal information (position, sizeand tangent vectors) are loaded into the graphics card memory. Thefragment program which will be executed for each pixel, queries thedecal information to calculate the texture coordinates. To increaseperformance and allow a large number of decals to be rendered,we implemented an octree structure similar to the one described in[Lefebvre et al. 2005].

Before the decals are loaded into the GPU memory, an octree isconstructed containing the decals. Each non empty voxel containseither 8 references to other voxels or a maximum of 8 references todecals. A voxel is subdivided when it contains more than 8 decals.The list of voxels is loaded into GPU memory together with thelist of decals. Our implementation of the fragment shader containsan octree lookup function which typically uses between 4 and 10repetitions to retrieve the needed voxel from the octree. With thisimplementation the fragment shader performs a maximum of 10octree lookup repetitions and includes a maximum of 8 decals inthe calculation of the final texture coordinates. Without an octree,all decals would have to be included in the calculation of the finaltexture coordinates, which would limit the maximum number ofdecals to about 20 due to GPU limitations.

Decals can be removed from the octree by removing them from thedecal list in the GPU memory. Adding and moving decals how-ever, would normally require a new construction of the octree. Toprevent rebuilding the octree while the user is editing a small setof decals, the fragment shader implementation allows for a smallnumber of decals to added without an octree. These decals will al-ways be included in the calculation of the final texture coordinates.Rebuilding the octree will only be necessary when the user startsediting a different set of decals. After the rebuild (which usually isnearly instant, but can take up to a second with thousands of decals),editing operations can be performed interactively.

3.5 Limitations

Our technique does have some limitations, particularly if an ob-ject is deformed during animation. The partial parameterizationobtained is anchored in 3-space, not in the object’s local coordinateframe. Although the control points of the parameterization can beattached to the same animation rig as the object, the parameteriza-tion is not necessarily stable through the animation. Whether or notthis is a problem is application dependant. The advantages, particu-larly for placing decals on world geometry, frequently outweigh thelimitations.

4 Results

Figure 13 shows the dragon model after it has been textured usingour method. The green scales were automatically placed using aparticle system. The used manually added the eyes, colored thedecals on the ball, the tongue and the teeth. Some decals wereslightly moved to fit the boundaries of the colored parts of the mode(ball, teeth and tongue). The whole texturing process took about 15minutes.

Page 6: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

Figure 12: 3 models textured using our Implicit Decals: the knot, implicit spheres and the horse

Figure 13: The dragon model covered with decals. The eyes areoverlapping decals and the tongue, teeth and ball are covered withplain colored decals

The left image of figure 12 shows a closeup of the knot model. Thisimage shows our that our method supports high resolution textures:the texture resolution of the decals in the front is the same as theresolution of the decals in the back.

Figure 14 shows us the rendering times and memory consumptionof our method. The ’Voxel’ column shows the number of vox-els that was needed to construct a suitable octree. The ’Octree’column shows the amount of time needed to construct the octreeon the CPU. The ’ms/frame’ column shows the rendering time ofone frame in milliseconds and the ’Memory’ column indicates theamount of video memory allocated for storing the decals and theoctree (this does not include the texture images).

All results were obtained using a machine with an Intelr CoreTM 2Quad CPU at 2.66GHz and a GeForce 8800 Ultra graphics card.The resolution of the output window was 1600x1200 pixels. TheCPU part of our implementation (constructing the octree) only usesone thread.

The results in figure 14 show that our method supports interactivevisualization and editing as the frame rates are between 30 and

Model Decals Voxels Octree ms/frame MemoryDragon 100 697 0.02s 25 12KBDragon 1000 5753 0.06s 30 116KBDragon 10000 58905 0.78s 32 1.14MBKnot 100 897 0.02s 25 14KBKnot 1000 8657 0.09s 25 127KBKnot 10000 56217 0.80s 26 1.13MBHorse 100 48121 0.02s 25 197KBHorse 1000 130833 1.23s 25 605KBHorse 10000 261561 2.58s 26 1.91MBSpheres 100 921 0.02s 25 13KBSpheres 1000 7393 0.16s 26 123KBSpheres 10000 69889 1.28s 26 1.18MB

Figure 14: Rendering times and memory consumption of ourmethod

40 frames per second even for more complex models with thou-sands of decals at a high window resolution. To reduce the octreeconstruction time in future implementations, a multi threaded algo-rithm could be implemented.

5 Conclusion and Future Work

The main contributions of this research is to demonstrate an ef-ficient method for placing and editing decals on any boundary-representation-based surface, such as triangle meshes and skeletalimplicit models. Because the method lends itself to implementa-tion on the GPU, thousands of decals may be placed and edited. Toachieve the texture resolution required to do this using traditionaltextures would require excessively large textures, making the tech-nique infeasible for real-time applications.

An earlier decaling method [Schmidt et al. 2006] used an arc lengthapproximation (exponential map) to find a local parameterizationon the surface, whereas our method uses an implicit field that isindependent of the geometry. The implicit technique has severaladvantages demonstrated in 4:

• The bulk of the computations can be done in the fragmentshader.

• Decals can be made to span several objects.

• Contact deformation can be used to make the decals appear tocompete for space.

Page 7: Implicit Decals - UVic.cawebhome.cs.uvic.ca/~blob/papers/Implicitdecals.pdf · Implicit Decals XXXXX Abstract Texture mapping has become an essential component of creating 3D models

The disadvantage of our method compared with the exponentialmap approach is that when an object deforms in animation, the arclength approximation of the exponential map will ensure the correcttexture deformation.

Our technique in some ways resembles Fleischeret al.’s CellularTexture Generation work [Fleischer et al. 1995] but instead of plac-ing a geometric primitive at each particle, we place one of our tex-ture primitives, allowing many similar effects, but at low-cost, in afragment shader. In the future we may couple our implicit decalswith GPU-shader based displacement map methods to allow a largeset of Fleischeret al.’s images to be generated in hardware.

Acknowledgements

References

AUTODESK, 2005. Imagestudio. www.autodesk.com/imagestudio.

BLINN , J., AND NEWELL, M. 1976. Texture and reflection incomputer generated images.Communications of the ACM 19,10, 542–547.

BLOOMENTHAL , J. Introduction to Implicit Surfaces. MorganKaufmann, ISBN 1-55860-233-X. Edited by Jules BloomenthalWith Chandrajit Bajaj, Jim Blinn, Marie-Paule Cani-Gascuel,Alyn Rockwood, Brian Wyvill, and Geoff Wyvill.

BOUBEKEUR, T., AND SCHLICK , C. 2006. Interactive out-of-coretexturing using point-sampled textures. InIEEE/EurographicsPoint-Based Graphics 2006.

EFROS, A. A., AND FREEMAN, W. T. 2001. Image quiltingfor texture synthesis and transfer. InProceedings of ACM SIG-GRAPH 2001, ACM Press, New York, NY, USA, 341–348.

FLEISCHER, K., LAIDLAW , D., CURRIN, B., AND BARR, A. H.1995. Cellular texture generation. InProceedings of SIGGRAPH95, Computer Graphics Proceedings, Annual Conference Series,239–248.

GASCUEL, M.-P. 1993. An implicit formulation for precise contactmodeling between flexible solids. InComputer Graphics (SIG-GRAPH ’93 Proceedings), J. T. Kajiya, Ed., vol. 27, 313–320.

GRIMM , C. 2004. Parameterization using manifolds.InternationalJournal of Shape Modeling 10, 1, 51–80.

HANRAHAN , P., AND HAEBERLI, P. E. 1990. Direct wysiwygpainting and texturing on 3d shapes. InProceedings of SIG-GRAPH 90, vol. 24, 215–223.

KRAEVOY, V., SHEFFER, A., AND GOTSMAN, C. 2003. Match-maker: Constructing constrained texture maps.ACM Trans.Graph. 22, 3, 326–333.

LEFEBVRE, S., AND DACHSBACHER, C. 2007. Tiletrees. InI3D ’07: Proceedings of the 2007 symposium on Interactive 3Dgraphics and games, ACM Press, New York, NY, USA, 25–31.

LEFEBVRE, S., HORNUS, S., AND NEYRET, F. 2005. Tex-ture sprites: Texture elements splatted on surfaces. InACM-SIGGRAPH Symposium on Interactive 3D Graphics (I3D).

L EVY, B. 2001. Constrained texture mapping for polygonalmeshes. InProceedings of ACM SIGGRAPH 2001, 417–424.

PASKO, A., ADZHIEV, V., SCHMITT, B., AND SCHLICK , C. 2001.Constructive hypervolume modeling.Graphical Models 63, 6(Nov.), 413–442.

PEDERSEN, H. K. 1995. Decorating implicit surfaces. InProceed-ings of SIGGRAPH 95, 291–300.

PORTER, T., AND DUFF, T. 1984. Compositing digital images. InProceedings of SIGGRAPH 84, vol. 18, 253–259.

SCHMIDT, R., GRIMM , C., AND WYVILL , B. 2006. Interactivedecal compositing with discrete exponential maps.ACM Trans.Graph. 25, 3, 605–613.

TIGGES, M., AND WYVILL , B. 1999. A field interpolated texturemapping algorithm for skeletal implicit surfaces. InComputerGraphics International, 25–32.

TURK, G. 2001. Texture synthesis on surfaces. InProceedingsof ACM SIGGRAPH 2001, ACM Press, New York, NY, USA,347–354.

WEI, L.-Y., AND LEVOY, M. 2001. Texture synthesis over ar-bitrary manifold surfaces. InProceedings of ACM SIGGRAPH2001, ACM Press, New York, NY, USA, 355–360.

WYVILL , B., GUY, A., AND GALIN , E. 1999. Extending the CSGtree. warping, blending and boolean operations in an implicit sur-face modeling system.Comp. Graph. Forum 18, 2, 149–158.

ZHOU, K., WANG, X., TONG, Y., DESBRUN, M., GUO, B., ANDSHUM , H.-Y. 2005. Texturemontage: Seamless texturing ofarbitrary surfaces from multiple images.ACM Trans. Graph. 24,3, 1148–1155.

ZONENSCHEIN, R., GOMES, J., VELHO, L., ANDDE FIGUEIREDO, L. H. 1997. Texturing implicit surfaces withparticle systems. InSIGGRAPH ’97: ACM SIGGRAPH 97Visual Proceedings: The art and interdisciplinary programs ofSIGGRAPH ’97, ACM Press, New York, NY, USA, 172.

ZWICKER, M., PAULY, M., KNOLL , O., AND GROSS, M. 2002.Pointshop 3d: An interactive system for point-based surface edit-ing. ACM Trans. Graph. 21, 3, 322–329.