advanced computer graphics cs 563 non photorealistic
play

Advanced Computer Graphics CS 563: Non Photorealistic Rendering - PowerPoint PPT Presentation

Advanced Computer Graphics CS 563: Non Photorealistic Rendering Frederik Clinckemaillie Computer Science Dept. Worcester Polytechnic Institute (WPI) Uses of Non Photorealistic R Rendering d i Different styles of Non Photorealistic


  1. Advanced Computer Graphics CS 563: Non ‐ Photorealistic Rendering Frederik Clinckemaillie Computer Science Dept. Worcester Polytechnic Institute (WPI)

  2. Uses of Non ‐ Photorealistic R Rendering d i  Different styles of Non Photorealistic  Different styles of Non ‐ Photorealistic Rendering(NPR) are used for different reasons  Displaying information  Displaying information  Creating emotion  Imitate art style  Imitate art style

  3. T Toon Shading Sh di  Cartoon ‐ like rending effects  Silhouette Edges  Simple Shading: Simple Shading:  Solid shading  Two ‐ tone shading  Specular/Diffuse three ‐ tone shading

  4. Cel Shading C l Sh di  Solid Shading is trivial  Solid Shading is trivial  Two ‐ Tone Shading  Calculate the diffuse shading dot product (n * l) for l l h d ff h d d d ( * l) f each vertex  If n * l < 0 surface is facing away  If n l < 0, surface is facing away  Use values on a 1 ‐ D texture map  Implemented on CPU or as Vertex Shader  Implemented on CPU or as Vertex Shader  Tone Mapping

  5. Additional Work in Cel Shading  Card and Mitchell [2002]  Card and Mitchell [2002]  Determined how to perform algorithm on GPU effectively effectively  Barla et al. [2001]  Added view dependent effects by using 2 D maps  Added view ‐ dependent effects by using 2 ‐ D maps  Rusinkiewicz et al. [2006]  Proposed Alternate shading model with high ‐ contrast P d Alt t h di d l ith hi h t t by adjusting effective light position

  6. C l Sh di Cel Shading (cont.) ( t )  Specular/Diffuse three tone shading  Specular/Diffuse three ‐ tone shading  Calculate the specular shading dot product (L * R) for each vertex each vertex  Map to 1 ‐ D texture map

  7. Silh Silhouette Edge Rendering tt Ed R d i  Adds silhouettes to emphasize edges  Adds silhouettes to emphasize edges  Different categories of algorithms:  Surface Angle S f A l  Procedural Geometry  Image Processing Image Processing  Vector Edge Detection  Hybrid  Hybrid

  8. T Types of Edges: f Ed  Boundary edge  Boundary edge  One not shared by two polygons  Crease edge: C d  Angle is greater than 60 degrees  Material edge l d  One where polygons are different materials  Silhouette edge  Two neighboring triangles face different directions as compared to eye vector d

  9. S Surface Angle Silhouetting f A l Silh tti  Using the dot product of the viewpoint and the  Using the dot product of the viewpoint and the surface normal  Results are mapped to circle map R lt d t i l  Results close to 0 are near Silhouette edge  Does not work for with Surfaces with hard edges  No vertex interpolation p

  10. Procedural Geometry Silhouetting P d l G t Silh tti  Render front faces normally render the edges of  Render front faces normally, render the edges of the backfaces behind front faces  Z ‐ bias method Z bi th d  Move backfaces closer so that edges become in front  Edges thickness is not constant Ed thi k i t t t

  11. Procedural Geometry Silhouetting P d l G t Silh tti  Backface triangles are fattened  Backface triangles are fattened.  Slope of triangle and distance from viewer determine fattening  Corners are cut of to avoid elongated corners

  12. R Results lt

  13. H l M th d Halo Method  Move the backfaces outwards by shifting their  Move the backfaces outwards by shifting their vertices along the shared vertex normals  Creates a halo behind front faces C t h l b hi d f t f

  14. Li Limitations it ti  Fattening cannot work on curved surfaces  Fattening cannot work on curved surfaces  Shell techniques work on curved surfaces only if the surface representation can be displaced th f t ti b di l d along surface normals  Z ‐ bias works with all curved surfaces Z bi k ith ll d f  Little control over edge appearance  Semitransparent surfaces are difficult to render  Edges look poor without antialiasing

  15. Silh Silhouetting by Image Processing tti b I P i  Entirely based on data stored in buffers  Entirely based on data stored in buffers  No modifications on the geometry of the scene  Look for silhouette edges by searching for z ‐ buffer discontinuities

  16. Silh Silhouette Edge Rendering tt Ed R d i  Process:  Process:  Use Vertex shaders to render the world space normals and z ‐ depth to a texture and z depth to a texture  Normals are colors, z ‐ depths are alpha channels  Implement a Sobel edge detection filter p e e t a Sobe edge detect o te  Benefits  Handles all primitives  Handles all primitives  Meshes do not need to be connected or consistent  Flaws  Flaws  Edges might not be found if discontinuities are small

  17. Silh Silhouette Edge Detection tt Ed D t ti  Other methods have weaknesses:  Other methods have weaknesses:  Often need two passes to render the silhouette  No control on edge rendering style  No control on edge rendering style  Detect silhouette edges and render them directly  Obtain more fine control on how lines are rendered Ob i fi l h li d d  Edges become independent of the model  An edge is defined by: A d i d fi d b (n 0 *v > 0) != (n 1 * v > 0)

  18. Fi di Finding Silhouette Edges Silh tt Ed  Standard: Loop through list of edges  Standard: Loop through list of edges  Improving efficiency:  Removing triangles inside planar polygons l d l l  Storing dot products for faces  In static scenes, preserve silhouettes until view moves I i ilh il i a certain distance

  19. H b id Silh Hybrid Silhouetting tti  Northrup and Markosian p  Find a list of silhouette edges.  Render all triangles and silhouette edges  Render all triangles and silhouette edges, assigning each a different ID number(color)  ID buffer is read back and visible silhouette edges  ID buffer is read back and visible silhouette edges are determined from it  Visible segments are then checked for overlaps  Visible segments are then checked for overlaps and linked together  Stylized strokes are added on path  Stylized strokes are added on path

  20. References T Tomas Akenine ‐ Moller, Eric Haines, and Naty Ho Ak i M ll E i H i d N H  man. Real ‐ Time Rendering, Third edition. Wellesley, MA: A K Peters, Ltd., 2008.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend