Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mark J. Kilgard

dblp:06/995 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2020
0009-0004-1521-3567ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Graphics, computer vision, multimedia, augmented reality and games · 5 · 3 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer graphics and multimedia
5 papers
Rendering · 100%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 50% Compilers and program optimization · 50%

Topics — the 8 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Rendering › geometric rendering
vector graphics rendering
0.832020
Polar stroking: new theory and methods for stroking paths · ACM Trans. Graph. 2020
Accelerating vector graphics rendering using the graphics hardware pipeline · ACM Trans. Graph. 2015
GPU-accelerated path rendering · ACM Trans. Graph. 2012
Rendering
GPU rendering
0.222020
Polar stroking: new theory and methods for stroking paths · ACM Trans. Graph. 2020
GPU-accelerated path rendering · ACM Trans. Graph. 2012
Rendering › geometric rendering › vector graphics rendering
path rendering
0.112012
GPU-accelerated path rendering · ACM Trans. Graph. 2012
Rendering › graphics standards
OpenGL
0.112008
Modern OpenGL: its design and evolution · SIGGRAPH ASIA Courses 2008
Rendering
graphics pipeline
0.012012
GPU-accelerated path rendering · ACM Trans. Graph. 2012
Programming languages and type systems
domain-specific languages
0.012003
Cg: a system for programming graphics hardware in a C-like language · ACM Trans. Graph. 2003
Rendering › graphics pipeline
programmable graphics pipeline
0.022008
Modern OpenGL: its design and evolution · SIGGRAPH ASIA Courses 2008
Cg: a system for programming graphics hardware in a C-like language · ACM Trans. Graph. 2003
Rendering
real-time rendering
0.012003
Cg: a system for programming graphics hardware in a C-like language · ACM Trans. Graph. 2003

Methods — techniques the papers use, named apart from their topics

tessellation error bounding · 0.4arc length accumulation · 0.4OpenGL · 0.3GPU tessellation · 0.2CMYK color space rendering · 0.2two-step stencil-then-cover · 0.1stencil buffer · 0.1direct3d · 0.1c-like language design · 0.1
YearPublicationVenuePosition
2020 Polar stroking: new theory and methods for stroking paths
abstract
Stroking and filling are the two basic rendering operations on paths in vector graphics. The theory of filling a path is well-understood in terms of contour integrals and winding numbers, but when path rendering standards specify stroking, they resort to the analogy of painting pixels with a brush that traces the outline of the path. This means important standards such as PDF, SVG, and PostScript lack a rigorous way to say what samples are inside or outside a stroked path. Our work fills this gap with a principled theory of stroking. Guided by our theory, we develop a novel polar stroking method to render stroked paths robustly with an intuitive way to bound the tessellation error without needing recursion. Because polar stroking guarantees small uniform steps in tangent angle, it provides an efficient way to accumulate arc length along a path for texturing or dashing. While this paper focuses on developing the theory of our polar stroking method, we have successfully implemented our methods on modern programmable GPUs.
Mark J. Kilgard
ACM Trans. Graph.1
2015 Accelerating vector graphics rendering using the graphics hardware pipeline
abstract
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.
Vineet Batra, Mark J. Kilgard, Tristan Lorach
ACM Trans. Graph.2
2012 GPU-accelerated path rendering
abstract
For thirty years, resolution-independent 2D standards (e.g. PostScript, SVG) have depended on CPU-based algorithms for the filling and stroking of paths. Advances in graphics hardware have largely ignored accelerating resolution-independent 2D graphics rendered from paths. We introduce a two-step "Stencil, then Cover" (StC) programming interface. Our GPU-based approach builds upon existing techniques for curve rendering using the stencil buffer, but we explicitly decouple in our programming interface the stencil step to determine a path's filled or stroked coverage from the subsequent cover 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---yet we go further to unify path rendering with OpenGL's established 3D and shading pipeline. We have built and productized our approach to accelerate path rendering as an OpenGL extension.
Mark J. Kilgard, Jeff Bolz
ACM Trans. Graph.1
2008 Modern OpenGL: its design and evolution
abstract
OpenGL was conceived in 1991 to provide an industry standard for programming the hardware graphics pipeline. The original design has evolved considerably over the last 17 years. Whereas capabilities mandated by OpenGL such as texture mapping and a stencil buffer were present only on the world's most expensive graphics hardware back in 1991, now these features are completely pervasive in PCs and now even available in several hand-held devices. Over that time, OpenGL's original fixed-function state machine has evolved into a complex data-flow including several application-programmable stages. And the performance of OpenGL has increased from 100x to over 1,000x in many important raw graphics operations.
Mark J. Kilgard, Kurt Akeley
SIGGRAPH ASIA Courses1
2003 Cg: a system for programming graphics hardware in a C-like language
abstract
The latest real-time graphics architectures include programmable floating-point vertex and fragment processors, with support for data-dependent control flow in the vertex processor. We present a programming language and a supporting system that are designed for programming these stream processors. The language follows the philosophy of C, in that it is a hardware-oriented, general-purpose language, rather than an application-specific shading language. The language includes a variety of facilities designed to support the key architectural features of programmable graphics processors, and is designed to support multiple generations of graphics architectures with different levels of functionality. The system supports both of the major 3D graphics APIs: OpenGL and Direct3D. This paper identifies many of the choices that we faced as we designed the system, and explains why we made the decisions that we did.
William R. Mark, R. Steven Glanville, Kurt Akeley, Mark J. Kilgard
ACM Trans. Graph.4