Hardware Support for Non-photorealistic Rendering: A summary Paper last updated by Ramesh Raskar February 2002 Presented by Rachel Probert.

Slides:



Advertisements
Similar presentations
Saito, T. and Takahashi, T. Comprehensible Rendering of 3-D Shapes Proc. of SIGGRAPH '90 Genesis of Image Space NPR.
Advertisements

COMPUTER GRAPHICS SOFTWARE.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/6103b – Shapes Lecture 03b: Shapes COMP 175: Computer Graphics February 3, 2015.
Scan Conversion A. Samal. Scan Conversion Last step in the graphics pipeline Efficiency is a central issue Common primitives – Lines – Polygons – Circles.
CSC418 Computer Graphics n Polygon normals n Back Faces n Visibility Algorithms.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Graphics Pipeline.
Non-Photorealistic Rendering FORMS. Mesh (~170) Parametric (~16) Implicit/CSG (~9) Volumetric (~28) 3D Object Representation in NPR Point Cloud (~4)
Non-Photorealistic Rendering: Toon Shading David Luebke University of Virginia.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
1 Hardware Feature Edges June 7, 2004 Morgan McGuire and John F. Hughes Brown University NPAR 2004 Hardware Feature Edges.
Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering Cass Everitt and Mark J. Kilgard Speaker: Alvin Date: 5/28/2003 NVIDIA.
A Real-Time Soft Shadow Volume Algorithm DTU Vision days Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Sweden
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
Shadow Algorithms Gerald Matzka Computer Science Seminar.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan course. Fixed vs Programmable. Fixed vs Programmable.
The edge buffer : A data structure for easy silhouette rendering by John W. Buchanan and Mario C. Sousa.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie Non-Photorealistic Rendering Techniques for a Game Engine COMP 238 Final Project.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization.
Non-photorealistic Rendering Pablo Picasso - The Bird Cage No electrons were harmed during the production of this presentation.
Week 14 - Wednesday.  What did we talk about last time?  Collision handling  Collision detection  Collision determination  Collision response  BSPs.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Non-Photorealistic Rendering: Toon Shading David Luebke University of Virginia.
Hidden Surface Removal
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
Computer graphics & visualization Shadows / Transparency.
Ramesh Raskar University of North Carolina at Chapel Hill Ramesh Raskar University of North Carolina at Chapel Hill Image Precision Silhouette Edges Michael.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Lecture Fall 2001 Illumination and Shading in OpenGL Light Sources Empirical Illumination Shading Transforming Normals Tong-Yee Lee.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Ray Tracing using Programmable Graphics Hardware
Real Time Nonphotorealistic Rendering. How to achieve real time NPR? Economy of line: present a lot of information with very few strokes. Silhouettes.
Advanced Programmable Shading: Beyond Per-vertex and Per-pixel Shading.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 4: Color and Attributes Isaac Gang University.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
- Introduction - Graphics Pipeline
Week 2 - Friday CS361.
CSC418 Computer Graphics Back Faces Visibility Algorithms.
The Graphic PipeLine
Chapter 6 GPU, Shaders, and Shading Languages
The Graphics Rendering Pipeline
Understanding Theory and application of 3D
Chapter 14 Shading Models.
Introduction to Computer Graphics with WebGL
Programming with OpenGL Part 4: Color and Attributes
Graphics Processing Unit
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Lecture 13 Clipping & Scan Conversion
Programming with OpenGL Part 4: Color and Attributes
Chapter 14 Shading Models.
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Hardware Support for Non-photorealistic Rendering: A summary Paper last updated by Ramesh Raskar February 2002 Presented by Rachel Probert

Traditional Approach to Feature Rendering High memory requirements CPU based computations

Raskar’s Approach Adds a Primitive Shader stage to graphics pipeline. Employs a secondary Z- buffer Uniform line creation Color buffer updated Vertex and Primitive Assembly Primitive Shader Polygon Setup Pixel Shader Vertex Shader

Silhouettes Enlarge all back-facing polygons at degree   

Silhouettes Continued For each polygon if /*front facing*/ color polygon white Else If /*back facing*/ enlarge color black flip normal Vertex and Primitive Assembly Primitive Shader Polygon Setup Pixel Shader Vertex Shader

Ridges All front-facing polygons are modified  

Ridges And Silhouettes For each polygon if front-facing color white for each edge attach new quad at angle  if back-facing Enlarge according to view Color black flip normal Vertex and Primitive Assembly Primitive Shader Polygon Setup Pixel Shader Vertex Shader

Valleys Uses a secondary buffer to “trap” quads to be rendered. New quads are added to every edge at angle . z1 z2  

Valleys Continued For each front-facing polygon render the polygon if(less-than-test(z1)) Update color buffer Update z1 and z2 buffer for each edge of polygon render new black quad at angle  if (between-test(z1,z2)) Update color buffer Pixel Shader Vertex and Primitive Assembly Primitive Shader Polygon Setup Vertex Shader

Intersections Usually created by imprecise conversions or processing Only rendered if they belong to front-facing polygon Rendered

Intersections Continued For each front-facing polygon render the polygon if(less-than-test(z1)) update color buffer else If (between-test(z1,z2)) update color buffer Pixel Shader Vertex and Primitive Assembly Primitive Shader Polygon Setup Vertex Shader

Issues When rendering ridges and valleys: If the dihedral angle between any two adjacent visible front-facing polygons is close to  the ‘z-fighting’ becomes noticeable as new extensions and existing polygons are almost on the same plane

Issues When special features are wide, small gaps can occur. This rarely occurs unless lines are wider than 20 pixels When a ridge is also a silhouette, and  is greater than or equal to 180˚, artifacts can appear unless both features are rendered in the same color.

Performance Additional z buffer is necessary New extensions must be tagged In-between test Vertex transformations increase by a factor of 2-5 New polygons generated on-chip

Possible extensions of Primitive Shader stage New extensions can be rendered with different effects for Non-photorealistic rendering. The silhouette can be made to appear smooth by rendering all back-facing polygons with curved PN triangles The superior polygonal approximation will produce higher quality rendering