SlideShare a Scribd company logo
An Introduction to
NV_path_rendering
    Mark J. Kilgard
  NVIDIA Corporation
     June 8, 2011
Purpose of this Presentation

 Overview of GPU-accelerated path rendering
    Using “stencil, then cover”
 Explain and demonstrate the NV_path_rendering API
    Aimed primarily at programmers
 Introduce you to the content of NVIDIA’s NVpr SDK
What is path rendering?
A rendering approach
    Resolution-independent two-
    dimensional graphics
    Occlusion & transparency depend
    on rendering order
        So called “Painter’s Algorithm”
    Basic primitive is a path to be filled
    or stroked
        Path is a sequence of path
        commands
        Commands are
          – moveto, lineto, curveto, arcto,
            closepath, etc.
Standards
    Content: PostScript, PDF,
    TrueType fonts, Flash, Scalable
    Vector Graphics (SVG), HTML5
    Canvas, Silverlight, Office drawings
    APIs: Apple Quartz 2D, Khronos
    OpenVG, Microsoft Direct2D, Cairo,
    Skia, Qt::QPainter, Anti-grain
    Graphics,
Path Filling vs. Stroking




just filling                              just stroking




                               filling + stroke =
                                  intended content
Handling Common Path Rendering
Functionality: Filtering
 GPUs are highly efficient at image
 filtering
      Fast texture mapping            Qt
          Mipmapping
          Anisotropic filtering
          Wrap modes
 CPUs aren't really
                                      Moiré
                                      artifacts




 GPU
                                      Cairo
Projective Path Rendering Support
Compared
    GPU           Skia            Cairo         Qt
flawless      yes, but bugs   unsupported   unsupported




    correct      correct      unsupported   unsupported
    correct       wrong       unsupported   unsupported
Rendering Paths Clipped to
Some Other Arbitrary Path
 Example clipping the PostScript tiger to a heart
 constructed from two cubic Bezier curves




        unclipped tiger   tiger with pink background clipped to heart
Benchmark Scenes




   Tiger       Dragon   Round Dogs   Butterfly        Spikes


Coat of Arms   Cowboy   Buonaparte   Embrace     Japanese Strokes
Learning NV_path_rendering

 White paper + source code available
    “Getting Started with NV_path_rendering”
 Explains
    Path specification
    “Stencil, then Cover” API usage
    Instanced rendering for text and glyphs
Feedback and Contacts


 We need your feedback
    Issues?
    Questions?


 Contact us by emailing
    nvpr-support@nvidia.com

More Related Content

Viewers also liked

Yolima
YolimaYolima
Introduction law III Class
Introduction law III ClassIntroduction law III Class
Introduction law III Class
Xavier Vázquez Domínguez
 
Overcoming & Preventing Significant Technical SEO Issues
Overcoming & Preventing Significant Technical SEO IssuesOvercoming & Preventing Significant Technical SEO Issues
Overcoming & Preventing Significant Technical SEO Issues
mruud
 
3 idiots life’s learning
3 idiots   life’s learning3 idiots   life’s learning
3 idiots life’s learning
Anwar Tatariya
 
Arcade carestia acquisition 2013
Arcade   carestia acquisition 2013Arcade   carestia acquisition 2013
Arcade carestia acquisition 2013
Arcade Marketing
 
Anti virus
Anti virusAnti virus
Anti virus
Ajit Kumar Pradhan
 
Mike baker fotosdivertidas
Mike baker fotosdivertidasMike baker fotosdivertidas
Mike baker fotosdivertidas
Mike Baker Ovarb
 
Chexplore VC Presentation
Chexplore VC PresentationChexplore VC Presentation
Chexplore VC Presentation
thevegaslist
 
台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド
Koyo Yamamori
 
Killer food obesity
Killer food   obesityKiller food   obesity
Killer food obesity
Adnan Abbas
 
Mangalam institute of management
Mangalam institute of managementMangalam institute of management
Mangalam institute of management
Sourav Singh
 
150603 教育学特殊(学級規模) 第7講
150603 教育学特殊(学級規模) 第7講150603 教育学特殊(学級規模) 第7講
150603 教育学特殊(学級規模) 第7講
Koyo Yamamori
 
Anteprima Pianificazione strategica per gli studi professionali della Guida a...
Anteprima Pianificazione strategica per gli studi professionali della Guida a...Anteprima Pianificazione strategica per gli studi professionali della Guida a...
Anteprima Pianificazione strategica per gli studi professionali della Guida a...
eAgisco
 
"Social Innovation for Employment" information session
"Social Innovation for Employment" information session "Social Innovation for Employment" information session
"Social Innovation for Employment" information session
Nahdet El Mahrousa
 
Proof That NEVER GIVE UP Really Works
Proof That NEVER GIVE UP Really WorksProof That NEVER GIVE UP Really Works
Proof That NEVER GIVE UP Really Works
sohbat khan
 
Dreamworks
Dreamworks Dreamworks
Dreamworks
russian21
 

Viewers also liked (20)

Yolima
YolimaYolima
Yolima
 
Introduction law III Class
Introduction law III ClassIntroduction law III Class
Introduction law III Class
 
Overcoming & Preventing Significant Technical SEO Issues
Overcoming & Preventing Significant Technical SEO IssuesOvercoming & Preventing Significant Technical SEO Issues
Overcoming & Preventing Significant Technical SEO Issues
 
3 idiots life’s learning
3 idiots   life’s learning3 idiots   life’s learning
3 idiots life’s learning
 
Arcade carestia acquisition 2013
Arcade   carestia acquisition 2013Arcade   carestia acquisition 2013
Arcade carestia acquisition 2013
 
Anti virus
Anti virusAnti virus
Anti virus
 
Fizyka
FizykaFizyka
Fizyka
 
Mike baker fotosdivertidas
Mike baker fotosdivertidasMike baker fotosdivertidas
Mike baker fotosdivertidas
 
Doc1
Doc1Doc1
Doc1
 
Chexplore VC Presentation
Chexplore VC PresentationChexplore VC Presentation
Chexplore VC Presentation
 
台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド
 
Killer food obesity
Killer food   obesityKiller food   obesity
Killer food obesity
 
Mangalam institute of management
Mangalam institute of managementMangalam institute of management
Mangalam institute of management
 
150603 教育学特殊(学級規模) 第7講
150603 教育学特殊(学級規模) 第7講150603 教育学特殊(学級規模) 第7講
150603 教育学特殊(学級規模) 第7講
 
Chemia cała
Chemia całaChemia cała
Chemia cała
 
Anteprima Pianificazione strategica per gli studi professionali della Guida a...
Anteprima Pianificazione strategica per gli studi professionali della Guida a...Anteprima Pianificazione strategica per gli studi professionali della Guida a...
Anteprima Pianificazione strategica per gli studi professionali della Guida a...
 
"Social Innovation for Employment" information session
"Social Innovation for Employment" information session "Social Innovation for Employment" information session
"Social Innovation for Employment" information session
 
Proof That NEVER GIVE UP Really Works
Proof That NEVER GIVE UP Really WorksProof That NEVER GIVE UP Really Works
Proof That NEVER GIVE UP Really Works
 
Mike baker imagenes
Mike baker imagenesMike baker imagenes
Mike baker imagenes
 
Dreamworks
Dreamworks Dreamworks
Dreamworks
 

Similar to NV_path_rendering

Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
Ariya Hidayat
 
Modern OpenGL scientific visualization
Modern OpenGL scientific visualizationModern OpenGL scientific visualization
Modern OpenGL scientific visualization
Nicolas Rougier
 
An Introduction to NV_path_rendering
An Introduction to NV_path_renderingAn Introduction to NV_path_rendering
An Introduction to NV_path_rendering
Mark Kilgard
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path Rendering
Mark Kilgard
 
NV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked QuestionsNV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked Questions
Mark Kilgard
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
BlrDroid
 
Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
Ariya Hidayat
 
Understanding hardware acceleration on mobile browsers presentation
Understanding hardware acceleration on mobile browsers presentationUnderstanding hardware acceleration on mobile browsers presentation
Understanding hardware acceleration on mobile browsers presentation
Justin Dorfman
 
CAPTCHA and Convolutional neural network
CAPTCHA and Convolutional neural network CAPTCHA and Convolutional neural network
CAPTCHA and Convolutional neural network
Bushra Jbawi
 
Graphics pipelining
Graphics pipeliningGraphics pipelining
Graphics pipelining
Areena Javed
 
Hardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for AndroidHardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for Android
National Cheng Kung University
 
What is OpenGL ?
What is OpenGL ?What is OpenGL ?
What is OpenGL ?
Mohammad Hosein Nemati
 
dev_int_96
dev_int_96dev_int_96
dev_int_96
Gregory Brunner
 
아이폰강의(7) pdf
아이폰강의(7) pdf아이폰강의(7) pdf
아이폰강의(7) pdf
sunwooindia
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimization
Yoss Cohen
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
Nico Ludwig
 
NVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyNVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and Transparency
Mark Kilgard
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overview
slantsixgames
 
Realizing OpenGL
Realizing OpenGLRealizing OpenGL
Realizing OpenGL
Mark Kilgard
 
OpenLayers 3.0
OpenLayers 3.0OpenLayers 3.0
OpenLayers 3.0
Camptocamp
 

Similar to NV_path_rendering (20)

Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
 
Modern OpenGL scientific visualization
Modern OpenGL scientific visualizationModern OpenGL scientific visualization
Modern OpenGL scientific visualization
 
An Introduction to NV_path_rendering
An Introduction to NV_path_renderingAn Introduction to NV_path_rendering
An Introduction to NV_path_rendering
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path Rendering
 
NV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked QuestionsNV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked Questions
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
 
Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
 
Understanding hardware acceleration on mobile browsers presentation
Understanding hardware acceleration on mobile browsers presentationUnderstanding hardware acceleration on mobile browsers presentation
Understanding hardware acceleration on mobile browsers presentation
 
CAPTCHA and Convolutional neural network
CAPTCHA and Convolutional neural network CAPTCHA and Convolutional neural network
CAPTCHA and Convolutional neural network
 
Graphics pipelining
Graphics pipeliningGraphics pipelining
Graphics pipelining
 
Hardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for AndroidHardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for Android
 
What is OpenGL ?
What is OpenGL ?What is OpenGL ?
What is OpenGL ?
 
dev_int_96
dev_int_96dev_int_96
dev_int_96
 
아이폰강의(7) pdf
아이폰강의(7) pdf아이폰강의(7) pdf
아이폰강의(7) pdf
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimization
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
NVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyNVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and Transparency
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overview
 
Realizing OpenGL
Realizing OpenGLRealizing OpenGL
Realizing OpenGL
 
OpenLayers 3.0
OpenLayers 3.0OpenLayers 3.0
OpenLayers 3.0
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 

NV_path_rendering

  • 1. An Introduction to NV_path_rendering Mark J. Kilgard NVIDIA Corporation June 8, 2011
  • 2. Purpose of this Presentation Overview of GPU-accelerated path rendering Using “stencil, then cover” Explain and demonstrate the NV_path_rendering API Aimed primarily at programmers Introduce you to the content of NVIDIA’s NVpr SDK
  • 3. What is path rendering? A rendering approach Resolution-independent two- dimensional graphics Occlusion & transparency depend on rendering order So called “Painter’s Algorithm” Basic primitive is a path to be filled or stroked Path is a sequence of path commands Commands are – moveto, lineto, curveto, arcto, closepath, etc. Standards Content: PostScript, PDF, TrueType fonts, Flash, Scalable Vector Graphics (SVG), HTML5 Canvas, Silverlight, Office drawings APIs: Apple Quartz 2D, Khronos OpenVG, Microsoft Direct2D, Cairo, Skia, Qt::QPainter, Anti-grain Graphics,
  • 4. Path Filling vs. Stroking just filling just stroking filling + stroke = intended content
  • 5. Handling Common Path Rendering Functionality: Filtering GPUs are highly efficient at image filtering Fast texture mapping Qt Mipmapping Anisotropic filtering Wrap modes CPUs aren't really Moiré artifacts GPU Cairo
  • 6. Projective Path Rendering Support Compared GPU Skia Cairo Qt flawless yes, but bugs unsupported unsupported correct correct unsupported unsupported correct wrong unsupported unsupported
  • 7. Rendering Paths Clipped to Some Other Arbitrary Path Example clipping the PostScript tiger to a heart constructed from two cubic Bezier curves unclipped tiger tiger with pink background clipped to heart
  • 8. Benchmark Scenes Tiger Dragon Round Dogs Butterfly Spikes Coat of Arms Cowboy Buonaparte Embrace Japanese Strokes
  • 9. Learning NV_path_rendering White paper + source code available “Getting Started with NV_path_rendering” Explains Path specification “Stencil, then Cover” API usage Instanced rendering for text and glyphs
  • 10. Feedback and Contacts We need your feedback Issues? Questions? Contact us by emailing nvpr-support@nvidia.com