flow visualization using fur simulation

1
Fur and hair are not typically uniform in color but instead are many slightly different shades. We wanted to simulate this using a single texture map. I chose to use a 512x512 pixel texture map since it allows for enough detail while being supported by most hardware. The texture map was generated in Photoshop by applying in order to a white background: add noise, motion blur, crystallize, hue and saturation, auto contrast, and finally auto levels. The resulting texture is filled with chunky colors of slightly different hues, which is what was wanted. When it is alpha-blended on the shells, the appearance of streaks of slightly different colors in the hair is achieved. In addition, the color of the fur can be changed by simply changing the hue of the texture. One drawback to using a single texture is that the fur must be generally straight. To simulate hair that is curly or wavy, a small patch of 3D hair can be procedurally generated and then sliced into several textures, which are then used on successive shells. The power of this approach is that we can sample any kind of 3D volume and use it as a 3D texture. Fur is only one of the metaphors for this technique. Other metaphors include grass, streamers, trees, buildings, puffy clouds or other arbitrary models. Flow Visualization Using Fur Simulation Alex D’Angelo and Alex Pang (advisor) Department of Computer Science, University of California, Santa Cruz Abstract [1] Lengyel, J. Real-time fur. Eurographics Rendering Workshop 2000, pp.243-256 [2] Lengyel, J., Praun, E., Finkelstein, A., and Hugues, H. Real-time Fur over Arbitrary Surfaces. ACM 2001 Symposium on Interactive 3D Graphics References Fur is modeled using a volume texture containing a patch of hair. The advantage is that a fully solid approximation of the image can be sliced in any direction to get a solid cross-section. The drawback is that even a small volumetric texture requires much more memory than 2D textures, plus on current hardware 3D textures are slow and not supported very well. Our approach to modeling fur (as described in [1][2]) is the shell-and-fin method. This technique is where successive concentric texture-mapped models are drawn, resulting in an approximation of a 3D surface when the viewer generally looks in the direction of the normal of the surface. We approximate the 3D textures by using a stack of 2D textures. When the model is projected to the screen, the shells blend together giving the appearance of a Texture Generation Shells are copies of the base model which are successively scaled up and layered on top of each other. By blending several layers of shells and the base model, the illusion of fur is created. Vertex normals are key! They are used for lighting, extruding the shells, and interacting with the fur (including global and local combing, fluffing, and matting). The shells are extruded along the vertex normals. They are drawn starting at the base model and moving outwards. The shell closest to the skin is drawn opaque but successive shells fade out as they move further away from the model along the vertex normal. Each successive shell is modulated with the light Shells I would like to thank nVidia and ATI for their generous donations of hardware for this project. I would also like to thank Cowell college at UCSC for being named a Presidents Undergraduate Fellow in support of this project. Fur Creation Overview Flow Visualization To see what the fur looked like under the influence of an external force, wind was applied. The fur moves as expected, with the fur aligning itself with the airflow. This can be seen better when animated. Movies, screenshots, and the paper can be found at: www.cse.ucsc.edu/research/avis/fur.html We are testing more complex models such as a synthetic simulation of an aircraft in a wind tunnel and believe that we will get similar results. Left to right, top to bottom: Side view of a surface as the number of shells are increased. The shells are extruded along the vertex normals, shown in red. When viewed from the top they blend together to produce a patch of fur, as seen in the fourth image. Torus before and after fur is applied Acknowledgements Flow visualization is frequently used in the scientific and engineering communities to visualize events such as weather data, shock waves, and the turbulent vortices in the exhaust of a rocket. There are many techniques available, including streamlines, streaklines, and LIC. Hair and fur simulation can also be used to view the effects of flow data on a surface by analyzing the movement of patches of hair and the hair as a whole. Although rendering each hair as a geometric object is the most physically accurate representation, it is computationally intensive. An alternative technique is to take a 3D volume of hair and slice it horizontally into layers, which are used to generate textures. By applying the textures to a 3D model on successive “shells”, the appearance of fur is created. We show simulated fur on arbitrary objects in order to show how the fur moves when simple forces, such as wind, are applied.

Upload: barrett-scott

Post on 31-Dec-2015

32 views

Category:

Documents


2 download

DESCRIPTION

Flow Visualization Using Fur Simulation Alex D’Angelo and Alex Pang ( advisor ) Department of Computer Science, University of California, Santa Cruz. Abstract. Texture Generation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Flow Visualization Using Fur Simulation

Fur and hair are not typically uniform in color but instead are many slightly different shades. We wanted to simulate this using a single texture map. I chose to use a 512x512 pixel texture map since it allows for enough detail while being supported by most hardware.

The texture map was generated in Photoshop by applying in order to a white background: add noise, motion blur, crystallize, hue and saturation, auto contrast, and finally auto levels.

The resulting texture is filled with chunky colors of slightly different hues, which is what was wanted. When it is alpha-blended on the shells, the appearance of streaks of slightly different colors in the hair is achieved. In addition, the color of the fur can be changed by simply changing the hue of the texture.

One drawback to using a single texture is that the fur must be generally straight. To simulate hair that is curly or wavy, a small patch of 3D hair can be procedurally generated and then sliced into several textures, which are then used on successive shells.

The power of this approach is that we can sample any kind of 3D volume and use it as a 3D texture. Fur is only one of the metaphors for this technique. Other metaphors include grass, streamers, trees, buildings, puffy clouds or other arbitrary models.

Flow Visualization Using Fur SimulationAlex D’Angelo and Alex Pang (advisor)

Department of Computer Science, University of California, Santa Cruz

Abstract

[1] Lengyel, J. Real-time fur. Eurographics Rendering Workshop 2000, pp.243-256

[2] Lengyel, J., Praun, E., Finkelstein, A., and Hugues, H. Real-time Fur over Arbitrary Surfaces. ACM 2001 Symposium on Interactive 3D Graphics

References

Fur is modeled using a volume texture containing a patch of hair. The advantage is that a fully solid approximation of the image can be sliced in any direction to get a solid cross-section. The drawback is that even a small volumetric texture requires much more memory than 2D textures, plus on current hardware 3D textures are slow and not supported very well.

Our approach to modeling fur (as described in [1][2]) is the shell-and-fin method. This technique is where successive concentric texture-mapped models are drawn, resulting in an approximation of a 3D surface when the viewer generally looks in the direction of the normal of the surface.

We approximate the 3D textures by using a stack of 2D textures. When the model is projected to the screen, the shells blend together giving the appearance of a continuous patch of fur. It works best when looking straight into the fur (looking perpendicular to the surface) and at slight degrees from that.

Texture Generation

Shells are copies of the base model which are successively scaled up and layered on top of each other. By blending several layers of shells and the base model, the illusion of fur is created.

Vertex normals are key! They are used for lighting, extruding the shells, and interacting with the fur (including global and local combing, fluffing, and matting).

The shells are extruded along the vertex normals. They are drawn starting at the base model and moving outwards. The shell closest to the skin is drawn opaque but successive shells fade out as they move further away from the model along the vertex normal. Each successive shell is modulated with the light and blended with the shells underneath it.

Shells

I would like to thank nVidia and ATI for their generous donations of hardware for this project. I would also like to thank Cowell college at UCSC for being named a Presidents Undergraduate Fellow in support of this project.

Fur Creation Overview

Flow VisualizationTo see what the fur looked like under the influence of an external force, wind was applied.

The fur moves as expected, with the fur aligning itself with the airflow. This can be seen better when animated.

Movies, screenshots, and the paper can be found at: www.cse.ucsc.edu/research/avis/fur.html

We are testing more complex models such as a synthetic simulation of an aircraft in a wind tunnel and believe that we will get similar results.

Left to right, top to bottom: Side view of a surface as the number of shells are increased. The shells are extruded along the vertex normals, shown in red. When viewed from the top they blend together to produce a patch of fur, as seen in the fourth image.

Torus before and after fur is applied

Acknowledgements

Flow visualization is frequently used in the scientific and engineering communities to visualize events such as weather data, shock waves, and the turbulent vortices in the exhaust of a rocket. There are many techniques available, including streamlines, streaklines, and LIC. Hair and fur simulation can also be used to view the effects of flow data on a surface by analyzing the movement of patches of hair and the hair as a whole.

Although rendering each hair as a geometric object is the most physically accurate representation, it is computationally intensive. An alternative technique is to take a 3D volume of hair and slice it horizontally into layers, which are used to generate textures. By applying the textures to a 3D model on successive “shells”, the appearance of fur is created.

We show simulated fur on arbitrary objects in order to show how the fur moves when simple forces, such as wind, are applied.