What is path rendering?
What is path rendering? What is path rendering?
3D Rendering vs. Path RenderingCharacteristic GPU 3D rendering Path renderingDimensionality Projective 3D 2D, typically affinePixel mapping Resolution independent Resolution independentOcclusion Depth buffering Painter’s algorithmRendering primitives Points, lines, triangles PathsPrimitive constituents Vertices Control pointsConstituents per primitive 1, 2, or 3 respectively UnboundedTopology of filled primitives Always convex Can be concave, self-intersecting, and have holesDegree of primitives 1 st order (linear) Up to 3 rd order (cubic)Rendering modes Filled, wire-frame Filling, strokingLine properties Width, stipple pattern Width, dash pattern, capping, join styleColor processing Programmable shading Painting + filter effectsText rendering No direct support (2 nd class support) Omni-present (1 st class support)Raster operations Blending Brushes, blend modes, compositingColor model RGB or sRGB RGB, sRGB, CYMK, or grayscaleClipping operations Clip planes, scissoring, stenciling Clipping to an arbitrary clip pathCoverage determination Per-color sample Sub-color sample
CPU vs. GPU atRendering Tasks over Time100%100%90%90%80%80%70%70%60%60%50%40%GPUCPU50%40%GPUCPU30%30%20%20%10%10%0%1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012Pipelined 3D Interactive Rendering0%1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012Path RenderingGoal of NV_path_rendering is to make path rendering a GPU taskRender all interactive pixels, whether 3D or 2D or web content with the GPU
- Page 3: Mark KilgardPrincipal System Softwa
- Page 6 and 7: Data visualization
- Page 8 and 9: Physics simulationCUDA N-Body
- Page 10 and 11: Training
- Page 12 and 13: Impressive stuff
- Page 14 and 15: Can GPUs render & improve the immer
- Page 16 and 17: Seminal Path Rendering PaperJohn Wa
- Page 18 and 19: Live DemoClassic PostScript content
- Page 22 and 23: What is NV_path_rendering?OpenGL ex
- Page 24 and 25: Detail on AlternativesSame results,
- Page 26 and 27: GeForce 650 (Kepler) Results0.101.0
- Page 28 and 29: NV_path_rendering is more than just
- Page 30 and 31: Path Filling and Strokingjust filli
- Page 32 and 33: Excellent Geometric Fidelity for St
- Page 34 and 35: Pixel pipelineVertex pipelinePath p
- Page 37 and 38: Path Rendering Example (2 of 3)Init
- Page 39 and 40: “Stencil, then Cover”Path Fill
- Page 41 and 42: Adding Stroking to the StarAfter th
- Page 43 and 44: “Stencil, then Cover”Path Strok
- Page 45 and 46: Handling Common Path RenderingFunct
- Page 47 and 48: Projective Path Rendering Support C
- Page 49 and 50: Accessible Samples of a Transformed
- Page 51 and 52: Demo
- Page 53 and 54: Without glPathStencilDepthOffsetBad
- Page 55 and 56: Clip Planes Work with Path Renderin
- Page 57 and 58: Rendering Paths Clipped toSome Othe
- Page 59 and 60: Arbitrary Programmable GPU Shading
- Page 61 and 62: Anti-aliasing DiscussionGood anti-a
- Page 63 and 64: RealFlashScenesame scene, GPU-rende
- Page 65 and 66: Improved Color Space:sRGB Path Rend
- Page 67 and 68: Learning NV_path_renderingWhite pap
- Page 69 and 70: Whitepapers“Getting Started with
CPU vs. GPU atRendering Tasks over Time100%100%90%90%80%80%70%70%60%60%50%40%GPUCPU50%40%GPUCPU30%30%20%20%10%10%0%1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012Pipelined 3D Interactive Rendering0%1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012Path RenderingGoal of NV_<strong>path</strong>_<strong>rendering</strong> <strong>is</strong> to make <strong>path</strong> <strong>rendering</strong> a GPU taskRender all interactive pixels, whether 3D or 2D or web content with the GPU