Presented at SIGGRAPH Asia 2012 in Singapore on Friday, 30 November 14:15 - 16:00 during the "Points and Vectors" session.
Find the paper at http://developer.nvidia.com/game/gpu-accelerated-path-rendering or on Slideshare.
For thirty years, resolution-independent 2D standards (e.g. PostScript, SVG) have relied largely on CPU-based algorithms for the filling and stroking of paths. Learn about our approach to accelerate path rendering with our GPU-based "Stencil, then Cover" programming interface. We've built and productized our OpenGL-based system.
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingMark Kilgard
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS106.html
Location: West Hall Meeting Room 503, Los Angeles Convention Center
Date: Wednesday, August 8, 2012
Time: 2:40 PM – 3:40 PM
The future of GPU-based visual computing integrates the web, resolution-independent 2D graphics, and 3D to maximize interactivity and quality while minimizing consumed power. See what NVIDIA is doing today to accelerate resolution-independent 2D graphics for web content. This presentation explains NVIDIA's unique "stencil, then cover" approach to accelerating path rendering with OpenGL and demonstrates the wide variety of web content that can be accelerated with this approach.
More information: http://developer.nvidia.com/nv-path-rendering
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondMark Kilgard
Location: Conference Hall K, Singapore EXPO
Date: Thursday, November 29, 2012
Time: 11:00 AM - 11:50 PM
Presenter: Mark Kilgard (Principal Software Engineer, NVIDIA, Austin, Texas)
Abstract: Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Topic Areas: Computer Graphics; Development Tools & Libraries; Visualization; Image and Video Processing
Level: Intermediate
Presented at the GPU Technology Conference 2012 in San Jose, California.
Tuesday, May 15, 2012.
Standards such as Scalable Vector Graphics (SVG), PostScript, TrueType outline fonts, and immersive web content such as Flash depend on a resolution-independent 2D rendering paradigm that GPUs have not traditionally accelerated. This tutorial explains a new opportunity to greatly accelerate vector graphics, path rendering, and immersive web standards using the GPU. By attending, you will learn how to write OpenGL applications that accelerate the full range of path rendering functionality. Not only will you learn how to render sophisticated 2D graphics with OpenGL, you will learn to mix such resolution-independent 2D rendering with 3D rendering and do so at dynamic, real-time rates.
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS104.html
Date: Wednesday, August 8, 2012
Time: 11:50 AM - 12:50 PM
Location: SIGGRAPH 2012, Los Angeles
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Get OpenGL 4.3 beta drivers for NVIDIA GPUs from http://www.nvidia.com/content/devzone/opengl-driver-4.3.html
Presented at the GPU Technology Conference 2012 in San Jose, California.
Monday, May 14, 2012.
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Topics covered include the latest advances available for Cg 3.1, the OpenGL Shading Language (GLSL); programmable tessellation; improved support for Direct3D conventions; integration with Direct3D and CUDA resources; bindless graphics; and more. When you utilize the latest OpenGL innovations from NVIDIA in your graphics applications, you benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Preprint for SIGGRAPH Asia 2012
Copyright ACM, 2012
For thirty years, resolution-independent 2D standards (e.g. PostScript,
SVG) have depended on CPU-based algorithms for the filling and
stroking of paths. However advances in graphics hardware have largely
ignored the problem of accelerating resolution-independent 2D graphics
rendered from paths.
Our work builds on prior work to re-factor the path rendering task
to leverage existing capabilities of modern pipelined and massively
parallel GPUs. We introduce a two-step “Stencil, then Cover” (StC)
paradigm that explicitly decouples path rendering into one GPU
step to determine a path’s filled or stenciled coverage and a second
step to rasterize conservative geometry intended to test and reset the
coverage determinations of the first step while shading color samples
within the path. Our goals are completeness, correctness, quality, and
performance—but we go further to unify path rendering with OpenGL’s
established 3D rendering pipeline. We have built and productized our
approach to accelerate path rendering as an OpenGL extension.
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
Slides for SIGGRAPH paper presentation of "Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline".
Presented by Vineet Batra (Adobe) on Thursday, August 13, 2015 at 2:00 pm - 3:30 pm, Los Angeles Convention Center, Room 150/151.
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingMark Kilgard
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS106.html
Location: West Hall Meeting Room 503, Los Angeles Convention Center
Date: Wednesday, August 8, 2012
Time: 2:40 PM – 3:40 PM
The future of GPU-based visual computing integrates the web, resolution-independent 2D graphics, and 3D to maximize interactivity and quality while minimizing consumed power. See what NVIDIA is doing today to accelerate resolution-independent 2D graphics for web content. This presentation explains NVIDIA's unique "stencil, then cover" approach to accelerating path rendering with OpenGL and demonstrates the wide variety of web content that can be accelerated with this approach.
More information: http://developer.nvidia.com/nv-path-rendering
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondMark Kilgard
Location: Conference Hall K, Singapore EXPO
Date: Thursday, November 29, 2012
Time: 11:00 AM - 11:50 PM
Presenter: Mark Kilgard (Principal Software Engineer, NVIDIA, Austin, Texas)
Abstract: Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Topic Areas: Computer Graphics; Development Tools & Libraries; Visualization; Image and Video Processing
Level: Intermediate
Presented at the GPU Technology Conference 2012 in San Jose, California.
Tuesday, May 15, 2012.
Standards such as Scalable Vector Graphics (SVG), PostScript, TrueType outline fonts, and immersive web content such as Flash depend on a resolution-independent 2D rendering paradigm that GPUs have not traditionally accelerated. This tutorial explains a new opportunity to greatly accelerate vector graphics, path rendering, and immersive web standards using the GPU. By attending, you will learn how to write OpenGL applications that accelerate the full range of path rendering functionality. Not only will you learn how to render sophisticated 2D graphics with OpenGL, you will learn to mix such resolution-independent 2D rendering with 3D rendering and do so at dynamic, real-time rates.
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS104.html
Date: Wednesday, August 8, 2012
Time: 11:50 AM - 12:50 PM
Location: SIGGRAPH 2012, Los Angeles
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Get OpenGL 4.3 beta drivers for NVIDIA GPUs from http://www.nvidia.com/content/devzone/opengl-driver-4.3.html
Presented at the GPU Technology Conference 2012 in San Jose, California.
Monday, May 14, 2012.
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Topics covered include the latest advances available for Cg 3.1, the OpenGL Shading Language (GLSL); programmable tessellation; improved support for Direct3D conventions; integration with Direct3D and CUDA resources; bindless graphics; and more. When you utilize the latest OpenGL innovations from NVIDIA in your graphics applications, you benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Preprint for SIGGRAPH Asia 2012
Copyright ACM, 2012
For thirty years, resolution-independent 2D standards (e.g. PostScript,
SVG) have depended on CPU-based algorithms for the filling and
stroking of paths. However advances in graphics hardware have largely
ignored the problem of accelerating resolution-independent 2D graphics
rendered from paths.
Our work builds on prior work to re-factor the path rendering task
to leverage existing capabilities of modern pipelined and massively
parallel GPUs. We introduce a two-step “Stencil, then Cover” (StC)
paradigm that explicitly decouples path rendering into one GPU
step to determine a path’s filled or stenciled coverage and a second
step to rasterize conservative geometry intended to test and reset the
coverage determinations of the first step while shading color samples
within the path. Our goals are completeness, correctness, quality, and
performance—but we go further to unify path rendering with OpenGL’s
established 3D rendering pipeline. We have built and productized our
approach to accelerate path rendering as an OpenGL extension.
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
Slides for SIGGRAPH paper presentation of "Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline".
Presented by Vineet Batra (Adobe) on Thursday, August 13, 2015 at 2:00 pm - 3:30 pm, Los Angeles Convention Center, Room 150/151.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
In this whitepaper, you will learn how to mix conventional 3D rendering with GPU-accelerated path rendering within your OpenGL program using the NV_path_rendering extension.
Presented as a pre-conference tutorial at the GPU Technology Conference in San Jose on September 20, 2010.
Learn about NVIDIA's OpenGL 4.1 functionality available now on Fermi-based GPUs.
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineMark Kilgard
SIGGRAPH 2015 paper.
We describe our successful initiative to accelerate Adobe Illustrator with the graphics hardware pipeline of modern GPUs. Relying on OpenGL 4.4 plus recent OpenGL extensions for advanced blend modes and first-class GPU-accelerated path rendering, we accelerate the Adobe Graphics Model (AGM) layer responsible for rendering sophisticated Illustrator scenes. Illustrator documents render in either an RGB or CMYK color mode. While GPUs are designed and optimized for RGB rendering, we orchestrate OpenGL rendering of vector content in the proper CMYK color space and accommodate the 5+ color components required. We support both non-isolated and isolated transparency groups, knockout, patterns, and arbitrary path clipping. We harness GPU tessellation to shade paths smoothly with gradient meshes. We do all this and render complex Illustrator scenes 2 to 6x faster than CPU rendering at Full HD resolutions; and 5 to 16x faster at Ultra HD resolutions.
presentation accompanying the paper "Realizing OpenGL: Two Implementations of One Architecture" at the 1997 SIGGRAPH/Eurographics Workshop on Graphics Hardware held in Los Angeles, California over August 3-4, 1997
NV_path_rendering is an OpenGL extension for CUDA-capable NVIDIA GPUs for performing resolution-independent 2D rendering. Standards such as Scalable Vector Graphics (SVG), PostScript, PDF, Adobe Flash, and TrueType fonts rely on path rendering. With NV_path_rendering, this important class of rendering is accelerated by the GPU in a way that co-exists with conventional 3D rendering.
For more information see:
http://developer.nvidia.com/nv-path-rendering
Understanding Hardware Acceleration on Mobile BrowsersAriya Hidayat
GPU acceleration on mobile browsers, if it is leveraged correctly, can lead to a smooth and fluid applications, thus improving the user experience. There has been a lot of mentions and best practices of hardware acceleration these days, although so far it has been pretty general and hasn’t provided much technical direction apart from simple magical advice such as “use translate3d”. This talk sheds some more light on browser interactions with the GPU and explain what happens behind the scenes, covering the topic of acceleration of primitive drawing, the use of tiled backing store, and composited layer. Knowing the actual machinery behind hardware acceleration, you will be in the position to plan your strategy to improve the performance of your web application.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
In this whitepaper, you will learn how to mix conventional 3D rendering with GPU-accelerated path rendering within your OpenGL program using the NV_path_rendering extension.
Presented as a pre-conference tutorial at the GPU Technology Conference in San Jose on September 20, 2010.
Learn about NVIDIA's OpenGL 4.1 functionality available now on Fermi-based GPUs.
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineMark Kilgard
SIGGRAPH 2015 paper.
We describe our successful initiative to accelerate Adobe Illustrator with the graphics hardware pipeline of modern GPUs. Relying on OpenGL 4.4 plus recent OpenGL extensions for advanced blend modes and first-class GPU-accelerated path rendering, we accelerate the Adobe Graphics Model (AGM) layer responsible for rendering sophisticated Illustrator scenes. Illustrator documents render in either an RGB or CMYK color mode. While GPUs are designed and optimized for RGB rendering, we orchestrate OpenGL rendering of vector content in the proper CMYK color space and accommodate the 5+ color components required. We support both non-isolated and isolated transparency groups, knockout, patterns, and arbitrary path clipping. We harness GPU tessellation to shade paths smoothly with gradient meshes. We do all this and render complex Illustrator scenes 2 to 6x faster than CPU rendering at Full HD resolutions; and 5 to 16x faster at Ultra HD resolutions.
presentation accompanying the paper "Realizing OpenGL: Two Implementations of One Architecture" at the 1997 SIGGRAPH/Eurographics Workshop on Graphics Hardware held in Los Angeles, California over August 3-4, 1997
NV_path_rendering is an OpenGL extension for CUDA-capable NVIDIA GPUs for performing resolution-independent 2D rendering. Standards such as Scalable Vector Graphics (SVG), PostScript, PDF, Adobe Flash, and TrueType fonts rely on path rendering. With NV_path_rendering, this important class of rendering is accelerated by the GPU in a way that co-exists with conventional 3D rendering.
For more information see:
http://developer.nvidia.com/nv-path-rendering
Understanding Hardware Acceleration on Mobile BrowsersAriya Hidayat
GPU acceleration on mobile browsers, if it is leveraged correctly, can lead to a smooth and fluid applications, thus improving the user experience. There has been a lot of mentions and best practices of hardware acceleration these days, although so far it has been pretty general and hasn’t provided much technical direction apart from simple magical advice such as “use translate3d”. This talk sheds some more light on browser interactions with the GPU and explain what happens behind the scenes, covering the topic of acceleration of primitive drawing, the use of tiled backing store, and composited layer. Knowing the actual machinery behind hardware acceleration, you will be in the position to plan your strategy to improve the performance of your web application.
Cna yuo raed tihs?
Ever wondered how?
Imagine, every pixel, every color, every detail harmoniously coming together to present this very message. If you're intrigued by how this digital canvas works, then prepare to be intrigued even further.
Are you the aspiring game developer, craving a solid foundation in GUI intricacies?
Or perhaps, a budding designer yearning to unravel the screen's layout with a more discerning eye?
Or maybe you're the tech enthusiast, eager to decode the magic behind every pixel.
Well, you're in for a treat!
GDSC KIIT proudly presents our latest Huddle Tech Talk that promises to quench your curiosity. Allow us to introduce:
"Graphics Pipelining: How Your Computer Creates Amazing Pictures, a Peek Behind the Screen"
Event Details:
Date: August 27, 2023
Time: 10:30 am - 12:00 pm
Venue: C-WL-101, Campus 14, KIIT University
If you're interested in decoding how modern displays work and unraveling the way all the layers come together to present this screen to you, then this event is for you. Don't miss out on understanding the very medium through which you're engaging with this message.
So, mark your calendar, set your sights on the screen, and prepare to be captivated in a way that only GDSC KIIT can deliver.
Deep Dive into Microsoft Silverlight Graphicsgoodfriday
Come hear about the Silverlight 3 rendering pipeline, and learn how to enhance your application experience with the latest additions to the Silverlight graphics APIs.
Talk given at The Rich Web Experience 2008. Check out blog for more demos, and sample code.
I hate images. Not pictures or icons, mind you, but user interface graphics. I think that small gradient PNGs that web developers set to repeat are the spacer gifs of today. Images are hard to change, and slower to download.
We have developed technology that allows a wide range of graphical interfaces to be streamed efficiently over wide area networks. This is an enabling technology that enables remote graphics akin to the way MPEG compression enables video streaming.
D11: a high-performance, protocol-optional, transport-optional, window system...Mark Kilgard
Consider the dual pressures toward a more tightly integrated workstation window system: 1) the need to efficiently handle high bandwidth services such as video, audio, and three-dimensional graphics; and 2) the desire to achieve the under-realized potential for local window system performance in X11.
This paper proposes a new window system architecture called D11 that seeks higher performance while preserving compatibility with the industry-standard X11 window system. D11 reinvents the X11 client/server architecture using a new operating system facility similar in concept to the Unix kernel's traditional implementation but designed for user-level execution. This new architecture allows local D11 programs to execute within the D11 window system kernel without compromising the window sytem's integrity. This scheme minimizes context switching, eliminates protocol packing and unpacking, and greatly reduces data copying. D11 programs fall back to the X11 protocol when running remote or connecting to an X11 server. A special D11 program acts as an X11 protocol translator to allow X11 programs to utilize a D11 window system.
[The described system was never implemented.]
NVIDIA OpenGL and Vulkan Support for 2017Mark Kilgard
Learn how NVIDIA continues improving both Vulkan and OpenGL for cross-platform graphics and compute development. This high-level talk is intended for anyone wanting to understand the state of Vulkan and OpenGL in 2017 on NVIDIA GPUs. For OpenGL, the latest standard update maintains the compatibility and feature-richness you expect. For Vulkan, NVIDIA has enabled the latest NVIDIA GPU hardware features and now provides explicit support for multiple GPUs. And for either API, NVIDIA's SDKs and Nsight tools help you develop and debug your application faster.
NVIDIA booth theater presentation at SIGGRAPH in Los Angeles, August 1, 2017.
http://www.nvidia.com/object/siggraph2017-schedule.html?id=sig1732
Get your SIGGRAPH driver release with OpenGL 4.6 and the latest Vulkan functionality from
https://developer.nvidia.com/opengl-driver
EXT_window_rectangles extends OpenGL with a new per-fragment test called the "window rectangles test" for use with FBOs that provides 8 or more inclusive or exclusive rectangles for rasterized fragments. Applications of this functionality include web browsers and virtual reality.
NV_path_rendering is an OpenGL extension for GPU-accelerated path rendering. Recent functionality improvements provide better performance, better typography, rounded rectangles, conics, and OpenGL ES support. This functionality is available today with NVIDIA's 337.88 drivers.
The latest NV_path_rendering specification documents these new functional improvements:
https://www.opengl.org/registry/specs/NV/path_rendering.txt
You can find sample code here:
https://github.com/markkilgard/NVprSDK
presented at SIGGRAPH 2014 in Vancouver during NVIDIA's "Best of GTC" sponsored sessions
http://www.nvidia.com/object/siggraph2014-best-gtc.html
Watch the replay that includes a demo of GPU-accelerated Illustrator and several OpenGL 4 demos running on NVIDIA's Tegra Shield tablet.
http://www.ustream.tv/recorded/51255959
Find out more about the OpenGL examples for GameWorks:
https://developer.nvidia.com/gameworks-opengl-samples
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
14. Complete Web
Pages Rendered
via OpenGL
without Pre-rendered Glyph Bitmaps and all on GPU
15. No tricks
Every glyph is
rendered from its
outline; no render-to-texture
Not just zoomed & rotated,
also perspective Magnify & minify
with
no transitional
pixelization
or tile popping
artifacts
synced
to refresh
rate; 60 Hz
updates
17. 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
18. Path Rendering Standards
Document Resolution- Immersive 2D Graphics Office
Printing and Independent Web Programming Productivity
Exchange Fonts Experience Interfaces Applications
Java 2D
API
OpenType Flash
QtGui
API
TrueType
Scalable Mac OS X
Vector 2D API Adobe Illustrator
Graphics
Open XML
Paper (XPS) Inkscape
HTML 5 Khronos API Open Source
19. Seminal Path Rendering Paper
John Warnock & Douglas Wyatt, Xerox PARC
Presented SIGGRAPH 1982
Warnock founded Adobe months later
John Warnock
Adobe founder
20. Reasons to
GPU-accelerate Path Rendering
Increasing screen
Multi-touch
resolutions
Increasing screen densities Power wall
More functionality with less
latency…
Immersive 2D web content
…with less power
21. Live Demo
Classic PostScript content
Complex text
rendering
Flash content New York Times rendered from
its resolution-independent form
22. Live demo!
Gradients with
blending
Dashed stroking Complex
gradient
content
Maps with text
Dragon, and
zoomed dragon 3D dice, but really
2D + gradients
23. Last Year’s SIGGRAPH Results in
Real-time
“Digital Micrography” Ron Maharik, Mikhail Bessmeltsev, Alla
Sheffer, Ariel Shamir, and Nathan Carr
SIGGRAPH 2011
“Girl with Words in
Her Hair” scene
591 paths
338,507 commands
1,244,474 scalar
coordinates
24. Our Contributions
A novel “stencil, then cover” programming interface
for path rendering, well-suited to acceleration by
GPUs
Our NV_path_rendering API
Our programming interface’s efficient
implementation within OpenGL to avoid CPU
bottlenecks
Productized, shipping in GeForce/Quadro drivers
Accompanying algorithms to handle
tessellation-free stenciled stroking of paths
standard stroking embellishments such as dashing
clipping paths to arbitrary paths
mixing 3D and path rendering
25. Notable Prior Art
Loop & Blinn 2005: Resolution
independent curve rendering using
programmable graphics hardware
Kokojima, et al. 2006: Resolution
independent rendering of
deformable vector objects using
graphics hardware
Rueda, et al. 2008: GPU-based
rendering of curved polygons
using simplicial coverings
26. CPU vs. GPU at
Rendering Tasks over Time
100% 100%
90% 90%
80% 80%
70% 70%
60% 60%
50% GPU 50% GPU
CPU CPU
40% 40%
30% 30%
20% 20%
10% 10%
0% 0%
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Pipelined 3D Interactive Rendering Path Rendering
Goal of our research is to make path rendering a GPU task
Render all interactive pixels, whether 3D or 2D or web content with the GPU
27. Our Approach Step 1 Step 2:
Stencil Cover
repeat
“Stencil, then Cover” (StC)
Map the path rendering task from a
sequential algorithm…
…to a pipelined and massively parallel task
Break path rendering into two steps
First, “stencil” the path’s coverage into stencil
buffer
Second, conservatively “cover” path
Test against path coverage determined in the 1st step
Shade the path
And reset the stencil value to render next path
28. Our Implemented System:
NV_path_rendering
OpenGL extension to GPU-accelerate path rendering
Uses “stencil, then cover” (StC) approach via OpenGL calls
Create a path object
Step 1: “Stencil” the path object into the stencil buffer
GPU provides fast stenciling of filled or stroked paths
Step 2: “Cover” the path object and stencil test against its
coverage stenciled by the prior step
Application can configure arbitrary shading during the
step
More details later
Supports the union of functionality of all major path rendering
standards
Includes all stroking embellishments
Includes first-class text and font support
Allows functionality to mix with traditional 3D and programmable
shading
30. Stencil Fill Process Visualized
Visualization
of “invisible”
stencil-only
geometry
generated
during
stencil step
Net result
of stencil
increments
and
decrements
is path’s
winding
number
32. Stroking Approach
Stroked line segments are straightforward
Drawn as rectangles into the stencil buffer
Curved stroked segments are involved
Curved segments are broken into stroked quadratic
segments
Hulls are formed around each stroked quadratic segment
An intricate fragment discard shader solves the cubic
equation for every sample to determine the sample’s
containment in the quadratic stroke segment
If contained, the sample’s stencil sample is updated
Caps & joins are also drawn into the stencil buffer
Covering geometry is computed as union of
rectangles, hulls, and cap/join geometry
33. Quadratic Stroking Hulls Visualized
Simple
quadratic
Bezier
segment,
moving
control points
Drawn
with stroking
Non-convex
hull used
for the
stroking stencil
step is
visualized
35. Excellent Geometric Fidelity for
Stroking
Correct stroking is hard
Lots of CPU
implementations GPU-accelerated OpenVG reference
approximate stroking
GPU-accelerated stroking
avoids such short-cuts
GPU has FLOPS to
compute true stroke point
containment Cairo Qt
Stroking with tight end-point curve
36. Combined for a Complex Scenes
With Many Paths
Stencil Fill Geometry Cover Fill Geometry Filling-only Result
Complete Tiger
240 paths
2,510 commands
12,174 coordinates
Stencil Stroke Geometry Cover Stroke Geometry Stroking-only Result
37. Configuration
GPU: GeForce 480 GTX (GF100)
CPU: Core i7 950 @ 3.07 GHz NV_path_rendering
Compared to Alternatives
With Release 300 driver NV_path_rendering Alternative APIs rendering same content
2,000.00 2,000.00
16x Cairo
1,800.00 1,800.00
8x Qt
1,600.00 Skia Bitmap
1,600.00 4x
Skia Ganesh FBO (16x)
2x
1,400.00 1,400.00 Skia Ganesh Aliased (1x)
1x Direct2D GPU
1,200.00 Direct2D WARP
Frames per second
Frames per second
1,200.00
1,000.00 1,000.00
Alternative approaches
800.00
800.00 are all much slower
600.00
600.00
400.00
400.00
200.00
200.00
-
-
100x100
200x200
300x300
400x400
500x500
600x600
700x700
800x800
900x900
1000x1000
1100x1100
100x100
200x200
300x300
400x400
500x500
600x600
700x700
800x800
900x900
1000x1000
1100x1100
Window Resolution in Pixels Window Resolution in Pixels
38. Configuration
GPU: GeForce 480 GTX (GF100)
CPU: Core i7 950 @ 3.07 GHz Detail on Alternatives
Same results, changed Y Axis
Alternative APIs rendering same content
250.00
2,000.00 Cairo
Cairo Qt
1,800.00 Skia Bitmap
Qt
Skia Ganesh FBO (16x)
1,600.00 Skia Bitmap 200.00
Skia Ganesh Aliased (1x)
Skia Ganesh FBO (16x)
Direct2D GPU
1,400.00 Skia Ganesh Aliased (1x)
Direct2D WARP
Direct2D GPU
1,200.00 Direct2D WARP
Frames per second
150.00
Frames per second
1,000.00
Fast, but
800.00
unacceptable
100.00
quality
600.00
400.00
50.00
200.00
-
-
100x100
200x200
300x300
400x400
500x500
600x600
700x700
800x800
900x900
1000x1000
1100x1100
200x200
500x500
800x800
1000x1000
1100x1100
100x100
300x300
400x400
600x600
700x700
900x900
Window Resolution in Pixels
Window Resolution in Pixels
40. Partial Solutions Not Enough
Path rendering has 30 years of heritage and
history
Can’t do a 90% solution and expect
Software to change
John Warnock
Trying to “mix” CPU and GPU methods doesn’t work Adobe founder
Expensive to move software—needs to be an
unambiguous win
Must surpass CPU approaches on all fronts
Performance
Quality
Functionality
Conformance to standards
More power efficient
Enable new applications Inspiration: Perceptive Pixel
41. Dashing Content Examples
Artist made
windows with
Same cake dashed line
missing dashed segment
stroking details
Technical diagrams
and charts often
Frosting on cake is dashed employ dashing
elliptical arcs with round
end caps for “beaded” look;
flowers are also dashing
All content shown
is fully GPU rendered Dashing character outlines for quilted look
42. First-class, Resolution-independent
Font Support
Fonts are a standard, first-class part of all path rendering systems
Foreign to 3D graphics systems such as OpenGL and Direct3D, but natural
for path rendering
Because letter forms in fonts have outlines defined with paths
TrueType, PostScript, and OpenType fonts all use outlines to specify
glyphs
NV_path_rendering makes font support easy
Can specify a range of path objects with
A specified font
Sequence or range of Unicode character points
No requirement for applications use font API to load glyphs
You can also load glyphs “manually” from
your own glyph outlines
43. 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
44. Complex Clipping Example
tiger is 240 paths
cowboy clip is
the union of 1,366 paths
result of clipping tiger
to the union of all the cowboy paths
45. NV_path_rendering is more than just
matching CPU vector graphics
3D and vector graphics mix Superior quality
CPU
GPU Competitors
Arbitrary programmable shader on
2D in perspective is free paths— bump mapping
46. Mixing 3D Depth Buffering and
Path Rendering
PostScript tigers surrounding Utah teapot
Plus overlaid TrueType font rendering
No textures involved, no multi-pass
47. Live demo!
Solid
or
wireframe
teapots
Very fast
Teapots + tigers in same 3D scene
Zoom on tigers
All the detail is there
48. Handling Uncommon Path Rendering
Functionality: Projection
Projection “just works”
Because GPU does everything
with perspective-correct
interpolation
49. Example of Bump Mapping on
Path Rendered Text
Phrase “Brick wall!” is path rendered and bump
mapped with a Cg fragment shader
light source position
50. Handling Common Path Rendering
Functionality: Filtering
GPUs are highly efficient at
image filtering Qt
Fast texture mapping
Mipmapping
Anisotropic filtering
Wrap modes
Moiré
CPUs aren't artifacts
really
Cairo
GPU
51. Anti-aliasing Discussion
Good anti-aliasing is a big deal for path rendering
Particularly true for font rendering of small point sizes
Features of glyphs are often on the scale of a pixel or less
NV_path_rendering uses multiple stencil samples per pixel for
reasonable antialiasing
Otherwise, image quality is poor
4 samples/pixel bare minimum
8 or 16 samples/pixel is pretty sufficient
But 16 requires expensive 2x2 supersampling of 4x
multisampling
16x is quite memory intensive
Alternative: quality vs. performance tradeoff
Fast enough to render multiple passes to improve quality
Approaches
Accumulation buffer
Alpha accumulation
52. Real
Flash
Scene
same scene, GPU-rendered
without conflation
conflation
artifacts abound,
rendered by Skia
conflation is aliasing &
edge coverage percents
are un-predicable in general;
means conflated pixels
flicker when animated slowly
53. Improved Color Space:
sRGB Path Rendering
Modern GPUs have native
Radial color gradient example
support for perceptually-correct moving from saturated red to blue
for
sRGB framebuffer blending
sRGB texture filtering
No reason to tolerate
uncorrected linear RGB color
artifacts!
More intuitive for artists to
linear RGB
transition between saturated
control red and saturated blue has
Negligible expense for GPU to dark purple region
perform sRGB-correct
rendering
However quite expensive for
software path renderers to
perform sRGB rendering
Not done in practice
sRGB
perceptually smooth
transition from saturated
red to saturated blue
54. Trying Out
NV_path_rendering
Operating system support
2000, XP, Vista, Windows 7, Linux, FreeBSD, and Solaris
Unfortunately no Mac support
GPU support
GeForce 8 and up (easy rule: all CUDA-capable GPUs)
Most efficient on Fermi and Kepler GPUs
Current performance can be expected to improve
Shipping since NVIDIA’s Release 275 drivers
Available since summer 2011
New Release 300+ drivers have remarkable
NV_path_rendering performance
Try it, you’ll like it
There’s an SDK freely available with example code!
https://developer.nvidia.com/nv-path-rendering
55. Future Work
Using NV_path_rendering in actual web and 2D
applications
Standardizing the programming interface
Moving these algorithms to mobile devices
Path rendering test bed on Nexus 7
Editor's Notes
NV_path_rendering provides a new third pipeline—in addition to the vertex and pixel pipelines—for rendering pixels