Art Based Rendering of Fur by Instancing Geometry

Similar documents
NPR. CS 334 Non-Photorealistic Rendering. Daniel G. Aliaga

A model to blend renderings

Art-Based Rendering of Fur, Grass, and Trees

Enhancing Information on Large Scenes by Mixing Renderings

Non photorealistic Rendering

View-Dependent Particles for Interactive Non-Photorealistic Rendering

Non photorealistic Rendering

View-Dependent Particles for Interactive Non-Photorealistic Rendering

Art-based Rendering with Continuous Levels of Detail

Non-Photo Realistic Rendering. Jian Huang

A GPU-Based Approach to Non-Photorealistic Rendering in the Graphic Style of Mike Mignola

INSPIRE: An Interactive Image Assisted Non-Photorealistic Rendering System

Detail control in line drawings of 3D meshes

NPR.js : A JavaScript library for Interactive Non- Photorealistic Rendering in WebGL. Michael Price ScM Thesis Project Documentation

3 NON-PHOTOREALISTIC RENDERING FOR OUTDOOR SCENE Irene Liew Suet Fun Mohd Shahrizal Sunar

Employing Approximate 3D Models to Enrich Traditional Computer Assisted Animation

Simulation and Rendering of Opus Palladium 3D Mosaics

Real-time non-photorealistic rendering

Daniel Keefe. Computer Science Department: Brown University. April 17, 2000

Seamless Integration of Stylized Renditions in Computer-Generated Landscape Visualization

Non-Photorealistic Experimentation Jhon Adams

12/3/2007. Non-Photorealistic Rendering (NPR) What is NPR exactly? What is NPR exactly? What is NPR exactly? What is NPR exactly?

Multiresolution Remeshing Using Weighted Centroidal Voronoi Diagram

Real-Time Non- Photorealistic Rendering

A Survey of Pen-and-Ink Illustration in Non-photorealistic

Real-Time Painterly Rendering for MR Applications

Stylistic Reuse of View-Dependent Animations

Cloth Simulation. Tanja Munz. Master of Science Computer Animation and Visual Effects. CGI Techniques Report

TSP Art. Craig S. Kaplan School of Computer Science University of Waterloo

Artistic Silhouettes: A Hybrid Approach

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim

Rendering Silhouettes with Virtual Lights

Non-Photorealistic Rendering

I d like to start this section with a quote from David Byrne in an article for Utne. In the article he was mostly talking about 2D design and

Simple Silhouettes for Complex Surfaces

AC : COMPUTER-BASED NON-PHOTOREALISTIC RENDERING. Marty Fitzgerald, East Tennessee State University

Real-Time Rendering of Watercolor Effects for Virtual Environments

Modelling and Animating Cartoon Hair

Curling and Clumping Fur Represented by Texture Layers

MIX RENDERINGS TO FOCUS PLAYER'S ATTENTION

GPU real time hatching

Rendering Nonphotorealistic Strokes with Temporal and Arc-Length Coherence

A Hybrid Approach to Real-Time Abstraction

Paint by Numbers and Comprehensible Rendering of 3D Shapes

EFFICIENT STIPPLE RENDERING

WUCSE : Painting lighting and viewing effects

Graph-Based Point Relaxation for 3D Stippling

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Real-Time Hatching. Abstract. 1 Introduction

Effectiveness of Silhouette Rendering Algorithms in Terrain Visualisation

Modeling Hair Movement with Mass-Springs

Image Precision Silhouette Edges

Real-Time Charcoal Rendering Using Contrast Enhancement Operators

SEVER INSTITUTE OF TECHNOLOGY MASTER OF SCIENCE DEGREE THESIS ACCEPTANCE. (To be the first page of each copy of the thesis)

Synthesizing Realistic Facial Expressions from Photographs

A Sketch Interpreter System with Shading and Cross Section Lines

A Multiresolution Model for Non-photorealistic Rendering of Trees

Non-photorealistic Rendering

Nonphotorealism. Christian Miller CS Fall 2011

Preprint draft: to appear in ACM SIGGRAPH do not distribute. Real-Time Hatching

Case Study: The Pixar Story. By Connor Molde Comptuer Games & Interactive Media Year 1

An Abstraction Technique for Producing 3D Visual Contents

Beyond Stippling - Methods for Distributing Objects on the Plane

Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons. Abstract. 2. Related studies. 1.

"Non-Geometric" Plant Modeling: Image-Based Landscape Modeling and General Texture Problems with Maya - Examples and Limitations

Art-based Rendering with Graftals

Displacement Mapping

Real-Time Pen-and-Ink Illustration of Landscapes

Modeling Clouds Shape

Scalar Visualization

CMSC 491A/691A Artistic Rendering. Artistic Rendering

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters

Image Precision Silhouette Edges

Face Morphing. Introduction. Related Work. Alex (Yu) Li CS284: Professor Séquin December 11, 2009

Nonphotorealistic Virtual Environment Navigation from Images

TESSELATIONS. BIG IDEA: Students will create a representational tessellation composition in the style of M.C. Escher ESSENTIAL QUESTIONS:

Photorealism vs. Non-Photorealism in Computer Graphics

Exaggerated Shading for Depicting Shape and Detail. Szymon Rusinkiewicz Michael Burns Doug DeCarlo

Technical Quake. 1 Introduction and Motivation. Abstract. Michael Batchelder Kacper Wysocki

Fine Tone Control in Hardware Hatching

Graphics and Interaction Rendering pipeline & object modelling

Character animation creation using hand-drawn sketches

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Animation & Rendering

Constrained Diffusion Limited Aggregation in 3 Dimensions

The Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games

Single Pass GPU Stylized Edges

Fast silhouette and crease edge synthesis with geometry shaders

Image-Space Painterly Rendering

Hardware-Accelerated Interactive Illustrative Stipple Drawing of Polygonal Objects Vision, Modeling, and Visualization 2002

WYSIWYG NPR: Drawing Strokes Directly on 3D Models

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Real-Time Pencil Rendering

Caricaturing Buildings for Effective Visualization

Medical Visualization - Illustrative Visualization 2 (Summary) J.-Prof. Dr. Kai Lawonn

Real-Time Halftoning: A Primitive For Non-Photorealistic Shading

Surface Rendering. Surface Rendering

Real-time fur simulation and rendering

2.5D Cartoon Models. Abstract. 1 Introduction. 2 Related Work. Takeo Igarashi The University of Tokyo. Frédo Durand MIT CSAIL. Alec Rivers MIT CSAIL

Images from 3D Creative Magazine. 3D Modelling Systems

Transcription:

Art Based Rendering of Fur by Instancing Geometry Abstract Richie Steigerwald In this paper, I describe a non- photorealistic rendering system that uses strokes to render fur and grass in a stylized manner that suggests the complexity of an object without showing it explicitly. I propose an algorithm to procedurally add geometry to a polyhedral model, which when rendered in a non- photorealistic style such as toon shading, can produce effects like grass, fur, or foliage. 1. Introduction Realistic depictions of scenes including grass or fur often require high levels of detail. However, artistic interpretations of these often require only a few strokes in order for the viewer to interpret the underlying detail. Figure 1 Artist s depiction of fur This paper outlines an algorithm that will, given a triangle- based model and a fur density map, attempt to determine the placement of geometry based strokes on the model in order to simulate the effect produced by artists drawing fur. The goal of this work is to provide a simple means of adding complex effects to a multi- frame scene that provides interframe coherence, does not require changing the geometry of existing models, and produces the effect quickly enough for real- time rendering. The primary challenges of this project are: creating a way for a user to specify the location, density, and other properties (stiffness, thickness, etc.) of fur on a model, defining a way to evenly distribute geometric extrusions on a model, determining how external forces (gravity, wind, etc.) affect the fur, and providing continuous levels of detail while maintaining interframe coherence. 2. Prior Work Computer graphics is often motivated by the desire to create artwork, and as such, many works have been produced regarding the creation of artwork. Several other papers have been written with similar goals to this paper. Kowalski- 99 presents an interesting particle- based approach to adding fur to objects in a scene. In their approach, elements called graftals, which represent a single stroke, are added to the scene in appropriate locations and orientations in order to provide density and detail to objects. In figure 2, graftals are added to a scene of truffula trees to create Dr. Seuss- like effect. This project is inspired by Kowalski- 99 and is primarily directed at addressing the shortcomings of their work, primarily that of poor interframe coherence. Additionally, this project utilizes geometry instancing to create the effect quickly. Kajiya- 89 presents a method for generating geometry of fur based on a texture map. The user shouldn t have to specify where each element of fur is on the texture, and the distribution should be based on providing a good- looking non- photorealistic rendering.

produced using this model, which limits the creation of geometry that bends or resembles hooks. 3. The Algorithm In a nutshell, the algorithm does the following: One time before the model is rendered, it determines what locations on the mesh will receive geometry strokes. In this context, a geometry stroke is a cone or another piece of geometry that augments the existing mesh. Each frame, a geometry stroke will be instanced at each of the determined locations normal to the surface. A map passed to the shader determines the properties of the geometry stroke including any deformation caused by outside forces. Figure- 2 particle- based approach to adding complex strokes to a scene used in Kowalski- 99 Bhat- 04 demonstrates how to offset geometry using automatically generated texture maps. The algorithm proposed by Bhat- 04 is similar to the one proposed by this work, but this work contains additional enhancements to make the geometry more suitable for non- photorealistic rendering. Figure- 3 texture- synthesis used to generate displacement maps Additionally, Bhat- 04 paper limits the complexity of the geometry that can be added to the mesh. Only geometry that can be defined by a displacement map can be 3.1 Determining Locations of Geometry Strokes Initially, an artist must apply a fur density map to the mesh. The fur density map is a scalar field that specifies the number of geometric strokes that are likely to occur on that area of the mesh. A high density in a certain region in the mesh means that there will be many strokes in that region and a low density means that there will be few, or no strokes in that region. The density mapped mesh is used to determine the total number of strokes that the mesh will have. By computing the surface integral of the map over the mesh, we get the total number of geometry strokes to be placed on the mesh. Once we have determined the number of points to place on the mesh, there are several methods we can use to determine where those points should be placed. The first is called Lloyd s algorithm, which distributes the points randomly and iterates over the points to spread them out uniformly. The second method is called dart throwing, which places points randomly on the mesh and

eliminates points in areas that are distributed unevenly. 3.1.1 Lloyd s Algorithm Points are placed randomly over the mesh as described in [Turk- 90]. Once the points are placed, they are distributed on the model using Vornoi Iteration [Lloyd- 82]. The method of performing Vornoi iteration over the mesh is described in [Turk- 91]. A modification to this algorithm is made for the purpose of this project; we adjust the factor of repulsion of a point on the mesh by the value of the density map at that point. This is so that in areas of higher density, points have lower repulsion and end up being closer together. stroke will be placed in the center of that region and no strokes will be anywhere else in that region. I solve this problem by changing the height of that stroke to zero using a geometry stroke properties map on the mesh, which is described in the next section. 3.1.2 Dart Throwing Dart throwing randomly places points over the mesh and eliminates points that are close to already placed points as described in [Wonka- 09]. The results of dart throwing as compared to the results of Lloyd s algorithm are visually similar. Dart throwing is in practice much faster than using Lloyd s algorithm. Figure 5 Dart throwing evenly distributing points 3.2 Instancing Geometry Strokes Figure 4 Vornoi Iteration evenly distributes points There is one issue with this method that can probably be resolved more elegantly than my solution. In regions of the mesh that specify that there should be no strokes, a single With each of the points in place on the mesh, a geometry stroke is added to the model at each of those points. This process is done one per frame. At each point on the mesh where there is the point, a stroke (which for our purposes is just a cone), is added to the mesh in the direction with the point of the cone normal to the surface. Other properties of the stroke can be specified using other maps applied to the mesh. Along with the density map, a height map can be applied to the mesh, which specifies the length of geometric strokes at each point on the mesh. A stiffness map would specify how the

Each frame a geometry shader instances geometry strokes at each of the locations. Forces acting on the strokes change the shape of the stroke based on physical properties of the object the stroke is attempting to simulate. 3.3 Toon Shading Geometry Cartoon shading has been around for a while. Several techniques for cartoon shading are outlined in [lake- 00]. 4. Implementation My implementation is simpler than the proposed algorithm. It does not distribute the fur based on a density map and the properties of the fur strokes are not used in the geometry shader. To distribute the points on the mesh, I use dart throwing. For ten thousand polygons, adding ten thousand points with my implementation takes about five seconds. Figure 6. Stanford bunny rendered and cartoon shaded with tufts of fur generated by a geometry shader The time it took to produce and render 10000 strokes with nine polygons each was negligible. For comparison to the graftals technique, I also implemented a shader similar to the one proposed in [Kowalski- 99]. Figure 6. Stanford bunny rendered and cartoon shaded with tufts of fur generated by a geometry shader

5. Bibliography [1] Michael A. Kowalski, Lee Markosian, J. D. Northrup, Lubomir Bourdev, Ronen Barzel, Loring S. Holden, and John Hughes. Art- Based Rendering of Fur, Grass, and Trees. Proceedings of SIGGRAPH 99, pages 433 438, August 1999. [2] Kajiya, J. and Kay, T. Rendering Fur with Three Dimensional Textures. Computer Graphics 23, 3 (July 1989), 271-280. [3] Bhat, P., Ingram, S., Turk, G. 2004. Geometric texture synthesis by example. In Eurographics Symposium on Geometry Processing, 41 46. [4] Turk, Greg, Generating Random Points in Triangles, in Graphics Gems, edited by Andrew Glassner, Academic Press, 1990. [5] Lloyd, Stuart P. (1982), "Least squares quantization in PCM", IEEE Transactions on Information Theory 28 (2): 129 137 [6] G. Turk, Generating textures on arbitrary surfaces using reaction diffusion, Computer Graphics, Vol. 25, No. 4, 289 298, 1991. [7] Cline D, Jeschke S, Razdan KW, Wonka P. Dart throwing on surfaces. Computer Graphics Forum 2009;28(4):1217 26. [8] A. Lake, C. Marshall, M. Harris, and M. Blackstein. Stylized rendering techniques for scalable real- time 3d animation. In NPAR 00: Proceedings of the 1 st international symposium on Non- photorealistic animation and rendering, pages 13 20, New York, NY, USA, 2000. ACM Press.