Non photorealistic Rendering

Similar documents
Non photorealistic Rendering

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

Real-Time Hatching. Abstract. 1 Introduction

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

Seamless Integration of Stylized Renditions in Computer-Generated Landscape Visualization

Non-Photorealistic Rendering

Fine Tone Control in Hardware Hatching

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

Art Based Rendering of Fur by Instancing Geometry

Real-Time Charcoal Rendering Using Contrast Enhancement Operators

INSPIRE: An Interactive Image Assisted Non-Photorealistic Rendering System

View-Dependent Particles for Interactive Non-Photorealistic Rendering

Real-Time Pen-and-Ink Illustration of Landscapes

View-Dependent Particles for Interactive Non-Photorealistic Rendering

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

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

Nonphotorealistic Virtual Environment Navigation from Images

A model to blend renderings

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

Non-Photo Realistic Rendering. Jian Huang

CMSC 491A/691A Artistic Rendering. Artistic Rendering

Art-based Rendering with Continuous Levels of Detail

Enhancing Information on Large Scenes by Mixing Renderings

Detail control in line drawings of 3D meshes

Expressive rendering. Joëlle Thollot

Real-Time Painterly Rendering for MR Applications

GPU real time hatching

Nonphotorealism. Christian Miller CS Fall 2011

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

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

Non-Photorealistic Experimentation Jhon Adams

Real-Time Pencil Rendering

WYSIWYG NPR: Drawing Strokes Directly on 3D Models

WUCSE : Painting lighting and viewing effects

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

Art-Based Rendering of Fur, Grass, and Trees

Types of Computer Painting

Real-time non-photorealistic rendering

Non-Photorealistic Rendering (NPR) Christian Richardt, Rainbow Group

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

A Hybrid Approach to Real-Time Abstraction

CS452/552; EE465/505. Finale!

Fast silhouette and crease edge synthesis with geometry shaders

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 12, NO. 1, JANUARY/FEBRUARY

D animation. Advantages of 3-D3. Advantages of 2-D2. Related work. Key idea. Applications of Computer Graphics in Cel Animation.

Rendering Silhouettes with Virtual Lights

Artistic Silhouettes: A Hybrid Approach

Paint by Numbers and Comprehensible Rendering of 3D Shapes

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

Non-photorealistic Rendering

Stylized Rendering of 3D Scanned Real World Environments

Simple Silhouettes for Complex Surfaces

A Loose and Sketchy Approach in a Mediated Reality Environment

Photorealism vs. Non-Photorealism in Computer Graphics

Real-Time Watercolor Illustrations of Plants Using a Blurred Depth Test

Computer-Generated Pen & Ink Illustration

Non-Photorealistic Rendering: From a general view to Suggestive contours

MIX RENDERINGS TO FOCUS PLAYER'S ATTENTION

Image-Space Painterly Rendering

Rendering Nonphotorealistic Strokes with Temporal and Arc-Length Coherence

Introduction. Illustrative rendering is also often called non-photorealistic rendering (NPR)

EFFICIENT STIPPLE RENDERING

Nonphotorealistic rendering

CMSC 491A/691A Artistic Rendering. Announcements

Tonal Art Maps with Image Space Strokes

Real-Time Rendering of Watercolor Effects for Virtual Environments

Published Research on Line Drawings from 3D Data

Segmentation-Based 3D Artistic Rendering

Real-Time Non- Photorealistic Rendering

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Interactive Volume Illustration

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

Stroke-based Real-time. Non-Photorealistic Rendering

Sketchy Shade Strokes

Effectiveness of Silhouette Rendering Algorithms in Terrain Visualisation

Advanced Computer Graphics: Non-Photorealistic Rendering

A Multiresolution Model for Non-photorealistic Rendering of Trees

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

Chromatic Aberration. CEDEC 2001 Tokyo, Japan

Employing Approximate 3D Models to Enrich Traditional Computer Assisted Animation

Stylistic Reuse of View-Dependent Animations

Stylizing 2.5-D Video


Chapter 3 ATI. Jason L. Mitchell

CS 354R: Computer Game Technology

Painterly Rendering Framework from Composition

Stroke Pattern Analysis and Synthesis

Level of Details in Computer Rendering

Non-Photorealistic Virtual Environments

Image Precision Silhouette Edges

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

THE combination of Darwin s theory and computer graphics

Decoupling Strokes and High-Level Attributes for Interactive Traditional Drawing

Image Precision Silhouette Edges

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Advanced Lighting Techniques Due: Monday November 2 at 10pm

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Non-Photorealistic Rendering from Stereo

Artistic Rendering of Function-based Shape Models

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Transcription:

EECS 487 Non photorealistic Rendering Lee Markosian April 9, 2007

Whether to use photorealism depends on the purpose of the image: Training/simulation Documentation Illustration Story telling Expression

Whether to use photorealism depends on the purpose of the image: Training/simulation (yes) Documentation (yes) Illustration (not usually) Story telling (sometimes) Expression (sometimes)

Qualities of hand drawn images Many details left out Some details emphasized Stylization / abstraction focus on essential rather than particular simple 2D marks evoke complex things Recognizable individual style

Dr. Seuss

Realistic modeling and rendering of plant ecosystems, SIGGRAPH 1998

Monet

Uri Shulevitz

Charles Burns

Louise Gordon

Vesalius (1514 1564)

David Suter

Talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

Technical illustration Saito and Takahashi, SIGGRAPH 1990 Comprehensible rendering style

Method Render intermediate images Do image processing Combine results

Discussion Main idea: G buffers i.e., reference images Approach is general basis for many subsequent algorithms works regardless of shape representation image space operations good for NPR

Discussion Main idea: G buffers i.e., reference images Approach is general basis for many subsequent algorithms works regardless of shape representation image space operations good for NPR (e.g. uniform stroke spacing in image space)

Discussion Parameters need careful tuning can be a problem in animations (e.g. when camera changes) Hard to convey strokes on surfaces Many open questions

talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

Pen and Ink Winkenbach and Salesin, SIGGRAPH 1994 Purpose: render 3D models in pen & ink style

Method Annotate model with procedural textures depend on tone and magnification Render tone reference image Use it to guide pen and ink textures

Smaller versions have fewer strokes (not just smaller strokes)

dependence on orientation

Comments Use of several different textures Note shadow (how is it achieved?) Believable as a sketch?

Comments Use of several different textures Note shadow (how is it achieved?) Believable as a sketch? Yes... but a little too neat and uniform (part of roof is missing!)

Indication User decides where detail is permitted It drops out in other places no indication indication

user's marks selecting detail areas

result

Pen and Ink Salisbury, Anderson, Lischinski and Salesin, SIGGRAPH 1996 Purpose: define a scale independent representation for pen & ink images

Scaling with fixed number of strokes: bad

Scaling with variable number of strokes: good

Method store greyscale image annotated with discontinuities filter greyscale image to desired size, run stroke generation algorithm on it repeatedly try to generate a stroke at random location in image keep stroke if it does not exceed target darkness

Detect sharp features, then modify blurring algorithm to preserve them

Problems Only produces still images Would not provide temporal coherence What s the application?

talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

Painterly rendering: Meier 1996

Painterly rendering Meier, SIGGRAPH 1996 Problem: achieve painterly style with temporal coherence of strokes Method: populate surfaces with stroke particles get stroke attributes from reference images

video

Problem Particles have fixed distribution Need prescribed camera path newer work addresses that: A dynamic drawing algorithm for interactive painterly rendering: http://artis.imag.fr/publications/2006/vbts06/

talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

Art based Rendering of Fur, Grass and Trees. Kowalski, Markosian, Northrup, Bourdev, Barzel, Holden & Hughes. SIGGRAPH 1999.

Dr. Seuss

Graftal textures Detail elements (graftals) generated as needed

Graftals simple bit of geometry (e.g. leaf or tuft ) oriented in local frame can choose level of detail

How to distribute graftals? Needed: Controlled screen space density Placement on surfaces Controlled placement (e.g. only near silhouettes) Persistence between frames

Method Use persistent collection of graftals Each frame, some are created, some destroyed, others persist Desire image tells where graftals are needed Dark tones = greater need for graftals Upon placement, each graftal locally removes darkness from the desire image

Problems Graftal textures defined in code hard to edit how to integrate with UI? Coherence Graftals still appear/disappear suddenly Better at low frame rates!

Art based Rendering w/ Continuous Levels of Detail. Markosian, Meier, Kowalski, Holden, Northrup, & Hughes. NPAR 2000.

Basic graftals Collection of drawing primitives triangle strips / fans plus strokes Shared vertices Local coordinate frame Tuft: hierarchy of graftals

The local frame Base position (e.g. on surface) y (e.g. surface normal) x (e.g. cross product of y and view y vector) y x canonical space x local frame

Placement and duplication Designer creates a few example graftals Copies can be generated on surfaces explicitly, or procedurally Random variation can be used copies are not exact looks less mechanical

Level of detail (LOD) Graftal computes current LOD Decides which primitives to draw

Computing LOD LOD can be derived from: apparent size orientation elapsed time

σ: ratio of current size to rest size σ =.7 σ=1 σ = 1.4

Orientation Value used to selectively suppress LOD E.g.: 1 v n

Movie

Discussion Coherence: much better! Slower Introducing / removing elements Fading & thinning work well Growing looks creepy LOD mechanism too inflexible Need direct UI

Pen & Ink: trees Deussen and Strothotte, SIGGRAPH 2000 Problem: temporally coherent pen and ink rendering of trees Method: Draw leaf entities w/ controlled size/abstraction Do image processing on depth buffer

talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

WYSIWYG NPR: Drawing Strokes Directly on 3D Models. Kalnins, Markosian, Meier, Kowalski, Lee, Davidson, Webb, Hughes & Finkelstein. SIGGRAPH 2002.

Contributions Direct user control for NPR Better silhouettes New media simulation Stroke synthesis by example Hatching with LODs

Overview of Components Base Coat Brush Style Paper Effect Decals Outlines Hatching

Brush Style Per stroke: Color Width Paper effect Rendered as triangle strips.

Strokes in OpenGL Based on Skeletal strokes Hsu et al., UIST 93

Paper Effect Height field texture: Peaks catch pigment Valleys resist pigment Implementation: Pixel shader Stroke alpha = pressure

Re map alpha (stroke pressure) with a paper texture heightfield 1 1 1 a a a 0 a peak 1 0 a valley 1 0 a 1 intermediate

video

talk overview motivation technical illustration pen & ink rendering painterly rendering graftals stroke based rendering tonal art maps

Real Time Hatching Emil Praun Princeton University Hugues Hoppe Microsoft Research Matthew Webb Princeton University Adam Finkelstein Princeton University

Goal Stroke based rendering of 3D models Strokes convey: tone material shape

Challenges Interactive camera and lighting control Temporal (frame to frame) coherence Spatial continuity Artistic freedom

Approach Set of textures Example stroke Result Mesh Preprocess Real Time

Tonal Art Maps Collection of stroke images Will blend design with high coherence scale Stroke nesting property tone

Generating Tonal Art Maps Draw or import bitmap for one stroke Automatically fill TAM with strokes When placing stroke in an image, add it to all finer & darker images Fill table column by column, coarse to fine Space strokes evenly

Even Spacing of Strokes Choose best stroke from large candidate pool Fitness = uniformity & progress towards tone candidate stroke candidate stroke candidate stroke candidate stroke

Even Spacing of Strokes Choose best stroke from large candidate pool Fitness = uniformity & progress towards tone candidate stroke 1 TAM column (same tone)

Texture Blending tone tone v1 v2 6 way blend final v3

Texture Blending Pack grayscale tones in R,G,B channels 6 tones in 2 textures Use multitexture engine single pass 6 way blend Vertex programs compute blend weights static vertex data!!vp1.0 #Vertex Program for Real-Time Hatching. //output vertex homogeneous coordinates DP4 R2.x, c[0], v[opos]; DP4 R2.y, c[1], v[opos]; DP4 R2.z, c[2], v[opos]; DP4 R2.w, c[3], v[opos]; MOV o[hpos], R2; //stroke texture coordinates, transformed DP3 o[tex0].x, c[4], v[tex0]; DP3 o[tex0].y, c[5], v[tex0]; DP3 o[tex1].x, c[4], v[tex0]; DP3 o[tex1].y, c[5], v[tex0]; // splotch mask coordinates MOV o[tex2], v[tex0]; //get the Gouraud shade DP3 R1, c[8], v[nrml]; //apply clamp-linear tone transfer function MUL R1, R1, c[9].x; ADD R1, R1, c[9].y; MAX R1, R1, c[9].z; MIN R1, R1, c[9].w; //now look up the weights for the TAMs blending EXP R2.y, R1.x; //frac(tone) ARL A0.x, R1.x; MOV R3, c[a0.x + 10]; MAD R3, -R2.y, R3, R3; MAD o[col1], R2.y, c[a0.x + 11], R3; MOV R4, c[a0.x + 20]; MAD R4, -R2.y, R4, R4; MAD o[col0], R2.y, c[a0.x + 21], R4; END

Texturing Arbitrary Surfaces Lapped Textures [Praun et al. 2000]

Direction Field Based on surface principal curvatures Optimized to be smooth [Hertzmann & Zorin 2000] Symmetry: 180º instead of 90º

Result

Result

Result

Summary Real time hatching for NPR Strokes rendered as textures High coherence TAMs prevent blend artifacts 6 way blend very fast on modern graphics

Future Work More general TAMs View dependent stroke direction Automatic indication Bill Plympton

Next up Wednesday: more recent NPR Next Monday: course evaluations review for final homework due Final exam: April 20, 4 6 pm CSE 1670