hair paint - semantic scholar · modeling, animating and basic rendering of hair in ... shave and...

10
Hair Paint Benjamin Hernandez Isaac Rudomin Computer Science Department ITESM CEM [email protected] [email protected] Abstract Adding hair to virtual humans has focused on three important aspects: hair modeling, hair animation and hair rendering. We present an easy-to-use tool for modeling, animating and basic rendering of hair in real time. For modeling we use a paint based interface to specify geometrical and styling characteristics of hair while for animation we use a simplified physical based approximation. Keywords: braids, curliness, Verlet integrator, hair modeling, hair animation, hair rendering, modeling tool. 1. Introduction Methods to simulate hair in virtual humans focus on hair modeling, hair animation and hair rendering (Magnenat-Thalman et al [1]). Most papers put special attention in one or at most two of these aspects. In papers that focus on hair modeling and rendering, the results are very realistic looking hair, suitable for non-real time applications. On the other hand, when hair animation and modeling is the main focus and rendering is left in second plane the results can be incorporated in real time applications, but the appearance can suffer. In a hair simulation system, we need three processes: hair modeling allows us to represent distribution, form and styling; hair animation allows us to reproduce movement and the interactions due to this movement; hair rendering allows us to represent light interactions that cause reflections and shadows. 1.1 Hair models and animation Hair simulation systems can be classified according to the way they model hair. Some systems use alpha- mapped textured surfaces [2][3] to simplify the model, making it independent of the number of hairs. Adding physically based or key frame animation, these are suitable for real time applications but produce a flat hair model. The texture map allows to simulate the anisotropic nature of hair but it if we get a dynamic source of light the result is not realistic. In Daldegan et al [4] a method is proposed for modeling hair where the user defines interactively some characteristics such as density, distribution and orientation of each hair strand and then the hairstyle is completed based in this characteristics. Definition of the characteristics of each hair strand is very awkward since a healthy scalp has around 100 000 hair strands. Methods that model hair strand by strand are very common (some other examples are [5][6][7][8]). In this case the animation is usually physically based and we can calculate hair to hair, hair to head and hair to body intersections easily (although the process might take a long time). However, due to the huge number of hairs the rendering process is mostly left as an afterthought. In some methods, on the other hand [8], the animation process is simplified to increase the quality of the hair appearance. Still other techniques exploit hair’s tendency to form clusters due to static electricity, so the hair modeling is carried out using clusters or wisps [9][10][11]. In these methods clustering greatly simplifies interaction processing. Animation is computed on these clusters or wisps, usually defined by a skeleton curve. These skeleton curves are then rendered using more curves to complete the hair model. The results obtained are visually good but in some cases [10] the rendering process is too slow for real time applications.

Upload: dinhxuyen

Post on 17-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

Hair Paint Benjamin Hernandez Isaac Rudomin

Computer Science Department ITESM CEM

[email protected] [email protected]

Abstract Adding hair to virtual humans has focused on three important aspects: hair modeling, hair animation and hair rendering. We present an easy-to-use tool for modeling, animating and basic rendering of hair in real time. For modeling we use a paint based interface to specify geometrical and styling characteristics of hair while for animation we use a simplified physical based approximation. Keywords: braids, curliness, Verlet integrator, hair modeling, hair animation, hair rendering, modeling tool. 1. Introduction Methods to simulate hair in virtual humans focus on hair modeling, hair animation and hair rendering (Magnenat-Thalman et al [1]). Most papers put special attention in one or at most two of these aspects. In papers that focus on hair modeling and rendering, the results are very realistic looking hair, suitable for non-real time applications. On the other hand, when hair animation and modeling is the main focus and rendering is left in second plane the results can be incorporated in real time applications, but the appearance can suffer. In a hair simulation system, we need three processes:

• hair modeling allows us to represent distribution, form and styling;

• hair animation allows us to reproduce

movement and the interactions due to this movement;

• hair rendering allows us to represent light

interactions that cause reflections and shadows.

1.1 Hair models and animation Hair simulation systems can be classified according to the way they model hair. Some systems use alpha-mapped textured surfaces [2][3] to simplify the model, making it independent of the number of hairs. Adding physically based or key frame animation, these are suitable for real time applications but produce a flat hair model. The texture map allows to simulate the anisotropic nature of hair but it if we get a dynamic source of light the result is not realistic. In Daldegan et al [4] a method is proposed for modeling hair where the user defines interactively some characteristics such as density, distribution and orientation of each hair strand and then the hairstyle is completed based in this characteristics. Definition of the characteristics of each hair strand is very awkward since a healthy scalp has around 100 000 hair strands. Methods that model hair strand by strand are very common (some other examples are [5][6][7][8]). In this case the animation is usually physically based and we can calculate hair to hair, hair to head and hair to body intersections easily (although the process might take a long time). However, due to the huge number of hairs the rendering process is mostly left as an afterthought. In some methods, on the other hand [8], the animation process is simplified to increase the quality of the hair appearance. Still other techniques exploit hair’s tendency to form clusters due to static electricity, so the hair modeling is carried out using clusters or wisps [9][10][11]. In these methods clustering greatly simplifies interaction processing. Animation is computed on these clusters or wisps, usually defined by a skeleton curve. These skeleton curves are then rendered using more curves to complete the hair model. The results obtained are visually good but in some cases [10] the rendering process is too slow for real time applications.

Page 2: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

Another approach [12] also exploits hair’s tendency to form clusters but it consists in modeling hair in a hierarchical way. In this case we get a general hairstyle first, and then we can make changes locally to increment the hairstyle complexity. The results obtained are very realistic and the method has been tried for animation [13]. It is not real time animation since the maximum time to compute 10 seconds-long animation was about 5 minutes. Bando et al [14] shows a different way of animating hair using particles. Typically hair is modeled and animated using chains of connected particles. They use sets of particles that serve as sampling points for the volume of the hair and are scattered along the hair model. These sets serve to track the motion of the volume of the hair, and the dynamics of the hair, including hair-hair interactions, is simulated using the interacting particles. For hair rendering, the Kajiya and Kay model [23] is normally used to simulate light scattering from hair. Marschner et al [15] extends this model by adding new measurements since a hair strand is modeled as a transparent elliptical cylinder so transmission and internal reflection are accounted for. 1.2 Hair styling Since hairstyling can be an awkward task for the user. There are some alternatives that have been published such as:

• designing an interactive 3D user interface [11][12] so the user can style hair on any section of the 3D model. Obviously this mechanism is tedious although the user can see his artwork in real time.

• another alternative [16] is seeding hair randomly based on the triangular faces of the 3D model and barycentric coordinates. This approach simulates the random positions of the hair roots but the user cannot easily control the distribution of hairs over the 3D model.

• yet another technique [17] allows the user to manipulate a kind of electronic comb around a real dummy’s head, while the results of the hairstyle are shown on a computer monitor. This is nice but requires hardware not commonly available.

There are some commercials alternatives such as: Shave and Haircut for Maya, from Joseph Alter Inc., Maya Fur from Alias Wavefront, Poser from Curious

Labs and Sasquash from Warley Laboratories allow hair styling. Common users need to have some knowledge of these tools to control this interfaces since every tool has a different one, know all the commands. In some cases these commands are difficult to understand, and sometimes they must make refinements in a 3D interface that is complicated to use for common users. We propose an easy-to-use tool for modeling hair based on a paint application and a 3D view of the hairstyle. For animation, we use a simplified physically based method that automatically computes physics only on some hairs, which we call basis hairs, calculating other dependent hairs from them in a manner that avoids the clumps inherent in a wisp model if so desired [18]. For hair rendering, we use hardware acceleration, available in most common graphics cards, to calculate anisotropic lighting and antialiasing. Our system is capable of meeting the following constraints: First, the modeling tool makes the process of defining geometrical and style characteristics of hair easy. Second, animation and hair appearance is visually acceptable. Third, our system can be used for real time applications on a typical PC with a commonly available acceleration graphics hardware. 2. The Hair-paint system The process of styling hair can be very awkward and tedious due to a huge number of strands that compose the hair. There are two characteristics that must be incorporated in a hair styling tool: interactivity and ease of use. Interactivity allows the user to see and control his/her artwork in real time and modify it if something goes wrong. Ease of use allows the user to design hairstyles in a fast way and reduces the tediousness of hair styling. The alternative we propose for styling hair is based on a paint program. Most common users are familiarized to paint programs, they know its interface and basic tools. Also a paint program is a 2D interface which is easier to use that 3D interfaces. Our paint based modeling tool allows the user to specify hair properties via painting a color image. When the user is creating his hairstyle he/she can see in other window the 3D hair style that is represented by the color image in the painting area. To establish this relationship, on the drawing area we display a 2D representation of our 3D model (Figure 1) i.e. the

Page 3: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

edges of the model’s texture mapping, to aid the user on determining where to paint.

Figure 1. Our Modeling Tool We represent each hair strand using polylines and we use a set of color scale images that allow us to establish geometrical characteristics such as hair root position/density and length, and style characteristics such as curliness, braids and color. Our modeling tool is divided in three zones. The first one (Figure 2) allows users to select paint shapes and filled shapes with different gradient tools. Users can select different sizes of erasers, brushes and an editing tool that allows users to select, copy and paste paint areas. The interface also includes has a color button section and a color palette so users can select colors according to the hair characteristics they want to control.

Figure 2. Tool Zones A second part is the paint area (Figure 3). This area has two layers. The first one is where users paint their

artwork. The second one is used to display the edges of the model’s texture mapping to aid the user on determining where to paint. Over this area user can activate a menu to select options that tell our modeling tool the actions desired by user.

Figure 3. Paint Area

Finally the third one (Figure 4) is the rendering area where users can see the hairstyle and the animation of the hair. In this area users can control the wind force direction and modify the light color via the keyboard. The user can move the 3D model using the mouse.

Figure 4. 3D Area

Users can save their images or load images created in the modeling tool or other paint programs. To convert these images to a 3D hairstyle we use the following algorithm (first presented in poster [18], reference deleted) - Map the color image into texture coordinates - Given the 3D model’s texture coordinates, use the texture map to obtain the appropriate polygonal faces of the 3D model. - For a given polygonal face, apply the characteristics specified by the images, i.e. position/density, length, curliness, braids and color. - Render the changes

Algorithm 1. Images to 3D Hairstyle 2.1 Geometrical Characteristics As we mentioned above, we use color images to define geometrical and style characteristics of hair. In that way, green scale images are used to represent position and densities of the hair roots along the scalp where white/black represents no hair roots and green

Page 4: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

represents the highest density, as can be seen in Figure 5.

Figure 5. Density Map Example In particular, for the specification of hair density we must obtain random positions for the root hairs; for this we use a 2D uniform distribution. To generate points according to such a distribution, barycentric coordinates are used [16]. For length, we use blue scale images where white represents the shortest length and blue the largest length (Figure 6).

Figure 6. Length Map Example 2.2 Style Characteristics For style characteristics we have added:

1. different degrees of curliness 2. braids 3. color

The degree of curliness is controlled by red scale images, this allows us to establish from straight to very curly hair strand. Each straight hair strand is modeled via a polyline, because, although the use of NURBS allows us to achieve smooth lines their processing time is larger than for polylines [16]. A polyline hair strand is a

sequence of straight line segments simulating a curve. Each point joining line segments is called a node. We use these nodes to implement a physically based model of the hair strand. To join these nodes we use linear interpolation. This method allows us to represent straight hair strands but not curliness, so, to achieve different degrees of curliness we add to the linear interpolation a sinusoidal and cosinusoidal signal with different periods (Equation 1).

θcos)1( 10 +∆+∆−= xxx

θsin)1( 10 +∆+∆−= yyy

]1,0[cossin)1( 10

∈∆++∆+∆−=

withzzz θθ

Equation 1. Curly Equations

Since sine and cosine are costly operations, we pre-calculate a sine and cosine signal and we stored the samples obtained in two tables one for sine and the other for cosine. To avoid the pre calculation of multiple sine and cosine tables with different degrees of curliness, we just calculate one sine table and one cosine table with a period of 32π with 1024 samples each one, this period is used to represent the maximum degree of curliness. Smaller degrees of curliness are obtained by decimating these tables so we obtain different cosine and sine periods (Table 1).

Samples Period Level of Decimation1024 32π 1 512 16π 2 256 8π 4 64 2π 16 32 π 32

Table 1. Different Cosine and Sine Periods The level of decimation is obtained by the red intensity of the image and is used to know how many samples are been taken from the sine and cosine table, i.e. for level of decimation one we took all the samples, for level of decimation two we took every two samples and so on. Different degrees of curliness can be seen in Figure 7.

Page 5: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

Figure 7. Different Degrees of Curliness, from left to right curliness increase

If we examine a hair braid we can see that it is typically composed of three hair wisp that cross each other. This results in a set of spirals with different offsets that follow the path of the braid. Each of these spirals cross the center of the braid i.e. the skeleton of the braid. We apply animation to this skeleton. We know that a spiral is determined by parametric form in Equation 2.

tzradiusspiralrtry

wheretrx

===

sincos

Equation 2. Spiral Parametric Equation Equation 2 just represents an spiral over a fixed path, but we need it to follow the skeleton’s path so we modified linear interpolation and equation 2 to obtain equation 3 that represents this behavior. Figure 8 shows an example of a simplified braid obtained with equation 3.

( )

offsetwwhere

rzzzyyy

rxxx

)](2sin[)1()1(

cos)1(

10

10

10

ωθ

ωθ

++∆+∆−=∆+∆−=

++∆+∆−=

Equation 3. Braid Equation

Figure 8. a Braid We specify braids by a magenta color image that determines where and where not the braids are. Hair color is an important aspect for hairstyling, so we incorporate the possibility of add hair color to our hairstyle by selecting different color from a color palette to specify a color image with the desired

colors, so the user can specify hair beams, spots or just a color for the all strands of the hairstyle (Figure 9).

Figure 9. Hair Colored

A variety of hairstyles is shown in Figure 13. 3. Animation As mentioned above, each hair strand is represented via polyline composed by a set of connected nodes i.e. particles, over this particles physical based animation is computed. Initially we used an a standard damped particle-spring model, connecting the particles to each other by springs and dampers. We used euler integration at first, but even though the animation does not look springy with the appropriate selection of spring and damper constants and a relatively small step size, there were problems when we incremented the number of particles for the polyline. This was because the total weight of the polyline is incremented and so the springs tend to stretch more and more. To reduce this effect we had to increment the spring constant but in some cases the system just blew up. To avoid this pitfall we decided to remove the springs and dampers between particles and we added a different constraint to the animation. With this new constraint (Equation 4), the particles are initially placed correctly for each hair strand. After the animation starts the separation distance between particles might be smaller or larger than at the initial position. To correct this new distance we push particles apart (if the distance is too large) or pull particles together (if distance is too small) (Figure 10).

λ=− 21 PP where

λ is separation between particle 1 (P1) and particle 2 (P2)

Equation 4. The New Constraint

Page 6: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

Figure 10. a) Pushing Particles Apart b) Pulling

Particles Together The constraint from Equation 4 is satisfied using the next pseudo code applied to each particle hair strand. For each skeleton particle

Calculate distance between particles D Calculate Magnitude of D i.e. || D ||

If || D || is greater than λ Pull particles together

If || D || is minor than λ Push particles apart

Algorithm 2. Algorithm for satisfied the new constraint

Our physical model reacts to the force of gravity and wind forces. Because of the problems mentioned above, we abandoned Euler, and to solve the resultant equations we implemented a Verlet integrator. This because Verlet is more stable since velocity is implicitly given (Equation 5) and consequently it is harder for velocity and position to come out of sync.

xxtaxxx

=

∆+−=*

2*2'

where a acceleration time step t∆x’ new position x actual position x* previous position

Equation 4. Verlet Integration It works due to the fact that 2x-x*=x+(x-x*) and x-x* is an approximation of the current velocity (actually, it’s the distance traveled last time step). It is not always very accurate (energy might leave the system, i.e., dissipate) but it’s fast and stable. By lowering the value

2 to something like 1.99 a small amount of drag can also be introduced to the system [19]. 3.1 Collision Response Avoiding penetration of hair into the 3D head model is very important to achieve a visually acceptable animation. To establish limits on the movement of our hair we use ellipsoids to approximate the head model so as to obtain a fast calculation of collisions. We have not implemented hair-to hair collisions yet. The mayor reason of this is that when real hair is under forces like wind, human beings can not distinguish easily what hair strand or what hair wisp is colliding with others due to the fact that hair sometimes looks fuzzy. One cannot distinguish where a hair strand or wisp starts or where it finishes. We use one colliding body (head dummy). We are not dealing with those cases mentioned by Chan et al [8], such as a braid coming undone, where hair-hair collision is important. 3.2 Optimization by use of basis and dependent hair strands Using constraints to connect particles as mentioned above and a Verlet integrator improves the overall animation performance because differential equations due to a damped spring system do not have to be solved, (Table 2). Number of

Hairs Damped Particle

System with Euler Integrator (Max. fps)

Constrained Particle System with Verlet

Integrator (Max. fps)

1000 60 63 5000 32 58

10000 15 25 20000 9 12

Table 2. Comparison between using Damped Particle System with Euler Integrator and Constrained Particle System with Verlet Integrator on System 2 We still need to avoid processing the equations of movement for all the hair strands. We adapted some ideas from the approach (explained above) where hair is modeled using wisps. There the animation is calculated in only some of the hairs called basis hairs. We propose a variant that allows us to reduce the number of equations of movement that have to be solved, while avoiding the “sticky” look that one gets from using wisps when it is deemed desirable.

Page 7: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

What we do is the following: For each basis hair strand

Calculate equations of movement and keep the results ( rold, rnew) Calculate M = | rold - rnew | For each associated non basis hair strand change the position P(x, y, z) of all its nodes by P(x, y, z) +=M

Algorithm 3.

It is important to note that we can obtain clumpy hair if so desired by using P(x, y, z) + = M – Clumpiness instead of P(x, y, z) + = M where Clumpiness can vary from 0 (clean hair) all the way to the distance from the basis hair to the associated hair, where we obtain maximum clumpiness (Figure 11). Performance does not change.

Figure 11. Clump (left) and Clean (right) Hair

3.3 Implicit Physical Level of Detail In our method a curly hair is composed by 20 to 30 nodes and a braid is about 40 to 60 nodes depending of their length also a typical hairstyle is composed by 10 000 hairs strands, this results in maximum of 300 000 nodes for a curly hairstyle and 600 000 nodes for braids so applying physics to these nodes using the method described in section 3.2 is not adequate. To solve this problem we use the polyline that represents the hair strands as a skeleton or a path that is followed by curly hair and braids, each of those polylines typically are composed about 4 or 5 nodes because the graphical detail is given by the curly hair nodes and braids so our skeleton polyline does not require more nodes for improving the animation. This allows us to apply physics just for a few number of nodes resulting in a real time animation.

3.4 Some animation results Applying these basic ideas, constraints to connect particles and a Verlet Integrator as mentioned above makes the animation much faster. Results can be seen in Table 3 and Table 4 on the following computers:

• System 1: Pentium 4 Mobile, 1.7 GHz, 256 MB RAM, GeForce 4 440 Go 32 MB, Windows XP

• System 2: Xeon 2.4 GHz, 1GB RAM, Quadro FX 128MB, Windows XP

Total Hairs Basis

Hairs Dependent

Hair fps (Straight

Hairs Strands) 5000 5000 0 31 5000 2500 2500 36 5000 500 4500 42

14000 14000 0 10 14000 7000 7000 14 14000 1000 13000 19

Total Hairs

Basis Hairs

Dependent Hair

fps (Straight Hairs

Strands)

fps (Curlyness

Level 4) 10000 10000 0 25 7 10000 5000 5000 31 10 10000 1000 9000 58 15 30000 30000 0 7 2 30000 15000 15000 10 3 30000 1000 29000 25 5 50000 50000 0 6 2 50000 25000 25000 9 2 50000 1000 49000 16 3

Table 4. Animation Performance (System 2) 4. Hair Rendering Hair is an intrinsic characteristic in human beings, we are so familiarized with its appearance, we know exactly how it should look, so that depending of the level of realism obtained, the common user easily establishes how good or bad the hairstyle is. In computational terms this abstraction is hard to achieve but actually in most techniques reviewed, although not suitable for real time calculation, realistic results are achieved [18]. Although in our system hair modeling, hair styling and hair animation is the most important, hair rendering is not left on a second plane. We have incorporated the following ideas for improving hair rendering:

• To capture the anisotropic nature of hair we have adapted the method proposed in [20]

Page 8: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

used to illuminate vector fields. Calculating shading with this method allows us to obtain a relatively realistic hair appearance at high frame rates on commodity graphics hardware.

• Individual hair strands seem to be transparent and thicker at the root than at the tip. Hair wisps are opaque at the center but transparent at their edges. To obtain these effects we add an alpha component to our polylines that forms our straight and curly hair strands. This alpha component is maximum at the root and minimum at the tip.

Figure 11. No Alpha Component (left), Alpha Component (right)

In Figure 11 left we see that aliasing artifacts are reduced compared with Figure 11 right. To reduce these artifacts even more without slowing down the animation we can use Quincux Antialiasing available on Nvidia’s cards (Figure 12).

Figure 12. Rendering Hair with Quincux Antialising

5. Conclusions We have presented a tool for hair modeling, styling and animation that allows user to design interactively, in an intuitive and fast manner a variety of hairstyles. This tool is adequate for real time simulation using a typical laptop PC. Our new constrained particle system using the Verlet Integrator makes our system faster and more stable. Applying our basis and dependent hair strands method to skeleton polylines simplifies the calculation of the

movement equations without sacrificing visual results. Clumpiness, Curly hair and braids can be incorporated easily, with no effect on performance. 6. Future Work To complement the modeling tool we need to add “presets” that allows user make a hairstyle faster. This presets are a combination of the style and geometrical characteristics. It is desirable to add a new characteristics, such as local clumpyness, hair gel, and a directional tool that would allow users to specify the direction of growth of hair strands. Also it would be nice adding color images that allow users specify other hair accessories like headbands, bows or pony tails. To improve graphical appearance of hair we need to add hair-to-hair shadows. We are studying the obscurance method’s capacity of simulating hair shadows[21]. Also we could adapt the method explained in [22] to add hair shadows. 7. References [1] MAGNENAT-THALMAN, HADAP, KALRA. State of the Art in Hair Simulation. International Workshop on Human Modeling and Animation, Seoul, Korea, Korea Computer Graphics Society, pp. 3-9, June, 2002 [2] KOON AND ZHIYONG. A Simple Physics Model to Animate Human Hair Modeled in 2D Strips in Real Time. Proceedings of Eurographics Workshop 2002, 127-138. [3] KOON AND ZHIYONG. Modeling and Animation of Human Hair in Strips . Department of Computer Science, School of Computing National University of Singapore [4] DALDEGAN, THALMANN, KURIHARA AND THALMANN. An integrated system for modeling, animating and rendering hair. Computer Graphics Forum (Eurographics ’93) 12, 3 (1993), 211–221. [5] ANJYO, USAMI, AND KURIHARA. A Simple Method for Extracting the Natural Beauty of Hair. In Computer Graphics (Proceedings of ACM SIGGRAPH 92), 26(4), ACM, 111-120. [6] THALMANN, CARION, COURCHESNE, VOLINO AND WU. Virtual Clothes, Hair and Skin for Beautiful Top Models. MIRAlab, University of Geneva. Computer Graphics International, 1996.

Page 9: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

[7] KURIHARA, ANJYO AND THALMANN, 1993. Hair Animation with Collision Detection. Computer Graphics Laboratory, Swiss Federal Institute of Technology. Computer Graphics International, 1996. [8] CHANG, JIN, AND YU. A Practical Model for Hair Mutual Interactions. In Symposium on Computer Animation 2002, ACM SIGGRAPH, p. 73-80. [9] KIM AND NEUMANN. A Thin Shell Volume for Modeling Human Hair. In Computer Animation 2000, Philadelphia, IEEE Computer Society, 121-128. [10] PLANTE, CANI, AND POULIN. A Layered Wisp Model for Simulating Interactions Inside Long Hair. Eurographics Workshop on Computer Animation and Simulation 2001,139–148. [11] CHEN, SAEYOR, DOHI, AND ISHIZUKA. A System of 3D Hairstyle Synthesis Based on the Wisp Model. The Visual Computer, 15(4), 159-170. [12] KIM AND NEUMANN. Interactive Multiresolution Hair Modeling and Editing. ACM Transactions on Graphics 2002, 21, 3, 620-629. [13] BERTAILS, F. KIM. CANI, M. NEUMANN, U. AdaptiveWisp Tree – a multiresolution control structure for simulating dynamic clustering in hair motion. Symposium on Computer Animation'03, July 2003 [14] BANDO, CHEN, NISHITA. Animating Hair with Loosely Connected Particles. Computer Graphics Forum vol 22, nº 3 (2002) [15] MARSCHNER, JENSEN, CAMMARANO. Light Scattering from Human Hair Fibers. Proceedings of ACM SIGGRAPH 2003. [16] VAN GELDER AND WILHELMS. An Interactive Fur Modeling Technique. Proceedings of the conference on Graphics interface 1997, p.181-188, May 1997, Kelowna, British Columbia, Canada. [17] LEE, CHEN, LEU AND OUHYOUNG. A Rotor Platform Assisted System for 3D Hairstyles. Dept. of Computer Science and Information Engineering, National Taiwan University, Taiwan. Journal of WSCG, 10 (1-3), 271-278. [18] HERNANDEZ, B. RUDOMIN, I. Styling by painting and real time animation of hair using basis-

dependent hair strands. Poster to be Presented in WSCG 2004. [19] JAKOBSEN. Advanced Character Physics, Gamasutra January 21, 2003, http://www.gamasutra.com/resource_guide/20030121/jacobson_01.shtml [20] STALLING, ZÖCKLER, AND HEGE. Fast Display of Illuminated Field Lines. IEEE Transactions On Visualization And Computer Graphics, Vol. 3, No. 2, April-June 1997 [21] IONES, A., KRUPKIN, A., SBERT, M, ZHUKOV, S. Fast realistic lighting for video games, IEEE Computer Graphics&Applications, may-june 2003. [22] DOBASHI, KANEDA, YAMASHITA, OKITA, NISHITA. A simple, efficient method for realistic animation of clouds. Proceedings of ACM SIGGRAPH 2000, 19–28, 2000. [23] KAJIYA AND KAY. Rendering Fur with Three Dimensional Textures. In Computer Graphics (Proceedings of ACM SIGGRAPH 89), 23(4), ACM, 271-280.

Page 10: Hair Paint - Semantic Scholar · modeling, animating and basic rendering of hair in ... Shave and Haircut for Maya, ... The Hair-paint system

Figure 13. A variety of Hairstyles