DOC PREVIEW
UW-Madison CS 779 - Comprehensible Rendering of 3-D Shapes

This preview shows page 1-2-3-19-20-39-40-41 out of 41 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

NPR TodayComprehensible Rendering of 3-D ShapesComprehensible RenderingG-buffersGetting G-buffersAlgorithmsFinding EdgesContours and HatchingShadingMore ResultsSlide 11LimitationsFuture WorkSlide 14Painterly Rendering with Curved Brush Strokes of Multiple Sizes :Aaron Hertzmann (SIGGRAPH 98 paper) Presented by: Arup DuttaPainterly renderingKey ConceptAlgorithm equivalentfunction paint(sourceImage, R1…Rn)procedure paintLayer(canvas, referenceImage, R)function makeStroke(x0,y0,R,refImage)function makeSplineStroke(x0,y0,R,refImage)Slide 23Slide 24ExamplesSlide 26Questions???Slide 28Slide 29Goals:Previous Work:Process:Color Difference Image:Brush Stroke Properties:How to find these values?:Stroke Painting ProcessAlgorithm:Slide 38Slide 39Results:Future Work:03/28/03 © 2005 University of WisconsinNPR Today•“Comprehensible Rendering of 3-D Shapes”, Takafumi Saito and Tokiichiro Takahashi, SIGGRAPH 1990•“Painterly Rendering with Curved Brush Strokes of Multiple Sizes”, Aaron Hertzmann, SIGGRAPH 98•“An Algorithm For Automatic Painterly Rendering Based On Local Source Image Approximation”, Michio Shiraishi and Yasushi Yamaguchi, NPAR 200003/15/03 © 2005 University of WisconsinComprehensible Rendering of 3-D ShapesTakafumi Saito and Tokiichiro TakahashiSIGGRAPH 199003/15/03 © 2005 University of WisconsinComprehensible Rendering•Focus on conveying information, rather than realism•Goal: A range of enhancements to “standard” shaded models–Edge enhancement, contour lines, hatching, …03/15/03 © 2005 University of WisconsinG-buffers•Extend color and depth buffers with additional images–Objects identifiers–Parameters–World coordinates–Normal vectors–…normals z & uv03/15/03 © 2005 University of WisconsinGetting G-buffers•Almost any algorithm can be modified to produce G-buffers–Ray-tracing – get info from hit points–Hardware – use programmable shaders•Common technique now, but done here first•PBRT has almost all the required information available03/15/03 © 2005 University of WisconsinAlgorithms•Shading•Edges/Silhouettes–Find discontinuities in depth •Hatching–Trace parameter lines•Contours–Trace lines of constant depth03/15/03 © 2005 University of WisconsinFinding Edges•Use edge detection filters on the depth image–Look for places with rapid change in depth–Tuning the filters provides control of extracted edges•Then just draw edges, or add back into result03/15/03 © 2005 University of WisconsinContours and Hatching•Trace lines of constant z to get screen-space contours•Or, use world coordinate image to get world-space contours•Control spacing to get hatchingz=xy03/15/03 © 2005 University of WisconsinShading•World coordinates and normals enable shading•Or, use any procedural shading algorithm•Note meta-information is required–e.g. Materials associated with polygon IDsShading & contours03/15/03 © 2005 University of WisconsinMore Results03/15/03 © 2005 University of WisconsinMore Results03/15/03 © 2005 University of WisconsinLimitations•All results to image precision–May lose contour lines, or they may be hard to track–Use floating point images to help resolve this–Use layered images (multiple surfaces at each pixel)•Not all algorithms are amenable to fast hardware implementation03/15/03 © 2005 University of WisconsinFuture Work•The ideas from this paper re-emerged in many different algorithms–Generating an image of visible surface IDs was most common (could be done on earliest hardware)•Hardware fragment shaders have made much of this redundant–For example, can easily get contour images or false-color03/15/03 © 2005 University of Wisconsin© 2005 University of WisconsinPainterly Rendering with Curved Brush Strokes of Multiple Sizes:Aaron Hertzmann(SIGGRAPH 98 paper) Presented by: Arup Dutta© 2005 University of WisconsinPainterly rendering•Objective: Creating an image with a hand-painted appearance from a photograph•Pictorially:From this: Produce this:© 2005 University of WisconsinKey Concept•Painters use varying brush sizes to capture detail:© 2005 University of WisconsinAlgorithm equivalent•Procedure:–Build painting one layer at a time, from biggest to smallest radius brushes–At each layer, add detail missing from previous layer•Source image= Original photograph•Reference image= Gaussian blurred image•3 functions cover this algorithm© 2005 University of Wisconsinfunction paint(sourceImage, R1…Rn)© 2005 University of Wisconsinprocedure paintLayer(canvas, referenceImage, R)•canvas is the image we are updating layer by layer. referenceImage is the Gaussian blurred form of source image•Determine grid size for given radius•For each pixel of referenceImage calculate area error for grid size. If it is above a certain value, find pixel within grid with largest difference between canvas and referenceImage–Apply makeStroke() algorithm for this point and store the stroke returned.•After exiting above ‘for loop’, paint all strokes on the canvas. Gaussian blurred reference imageEucledean difference of r,g,b distances© 2005 University of Wisconsinfunction makeStroke(x0,y0,R,refImage)•Generic procedure for placing stroke on canvas•Places a circle of radius R at the location x0,y0•Disadvantage: Circles very visible© 2005 University of Wisconsinfunction makeSplineStroke(x0,y0,R,refImage)•makeSplineStroke(x0,y0,R,refImage): Makes image closer to what a typical painting would look like, by:–Placing long, curved brush strokes, thus eliminating a regular uniform stroke appearance–Placing many small brush strokes in high frequency information region, and placing large brush strokes over areas with little detail.© 2005 University of Wisconsinfunction makeSplineStroke(x0,y0,R,refImage)•Brush strokes of constant color•Stroke placement normal to image gradient•Stroke stops when –color deviates from control point by more than specified threshold OR–predetermined stroke length is reached•Stroke points are separated by brush radius distance R.•E.g.Image gradientStroke direction© 2005 University of Wisconsinfunction makeSplineStroke(x0,y0,R,refImage)© 2005 University of WisconsinExamples•Style can be changed by changing parameters of the algorithm such as brush radius, thresholds, adding random jitter etc.© 2005 University of WisconsinFuture Work•No one ‘right’ algorithm. Future work should continue to extend strategies


View Full Document

UW-Madison CS 779 - Comprehensible Rendering of 3-D Shapes

Download Comprehensible Rendering of 3-D Shapes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Comprehensible Rendering of 3-D Shapes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Comprehensible Rendering of 3-D Shapes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?