Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU

In this paper, we introduce the CPatch, a curved primitive that can be used to construct arbitrary vector graphics. A CPatch is a generalization of a 2D polygon: Any number of curves up to a cubic degree bound a primitive. We show that a CPatch can be rasterized efficiently in a hierarchical manner...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer graphics forum 2019-05, Vol.38 (2), p.93-103
Hauptverfasser: Dokter, Mark, Hladky, Jozef, Parger, Mathias, Schmalstieg, Dieter, Seidel, Hans‐Peter, Steinberger, Markus
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 103
container_issue 2
container_start_page 93
container_title Computer graphics forum
container_volume 38
creator Dokter, Mark
Hladky, Jozef
Parger, Mathias
Schmalstieg, Dieter
Seidel, Hans‐Peter
Steinberger, Markus
description In this paper, we introduce the CPatch, a curved primitive that can be used to construct arbitrary vector graphics. A CPatch is a generalization of a 2D polygon: Any number of curves up to a cubic degree bound a primitive. We show that a CPatch can be rasterized efficiently in a hierarchical manner on the GPU, locally discarding irrelevant portions of the curves. Our rasterizer is fast and scalable, works on all patches in parallel, and does not require any approximations. We show a parallel implementation of our rasterizer, which naturally supports all kinds of color spaces, blending and super‐sampling. Additionally, we show how vector graphics input can efficiently be converted to a CPatch representation, solving challenges like patch self intersections and false inside‐outside classification. Results indicate that our approach is faster than the state‐of‐the‐art, more flexible and could potentially be implemented in hardware.
doi_str_mv 10.1111/cgf.13622
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2236160693</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2236160693</sourcerecordid><originalsourceid>FETCH-LOGICAL-c2972-6d5eea3c5158028244fa1ac48d368ec0f8be9a1695551137cdee4e2c2c69051f3</originalsourceid><addsrcrecordid>eNp1kD1PwzAQhi0EEqUw8A8sMTGk9UfsJCOKaIpUiaqiiM0yzrl1VZJip63Kr8cQVm65G57nTvcidEvJiMYam5UdUS4ZO0MDmsosyaUoztGA0DhnRIhLdBXChhCSZlIM0NvUgdferJ3RW7zQoQPvvnTn2ga3Fpd7f4Aaz737cJ07QMC29fgVTBdb5fUuegEvoKmj1qxwtLo14Gq-vEYXVm8D3Pz1IVpOHl_KaTJ7rp7Kh1liWJGxRNYCQHMjqMgJy1maWk21SfOayxwMsfk7FJrKQghBKc9MDZACM8zIgghq-RDd9Xt3vv3cQ-jUpt37Jp5UjHFJJZEFj9R9TxnfhuDBql18SfuTokT9BKdicOo3uMiOe_botnD6H1RlNemNbwCPbqg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2236160693</pqid></control><display><type>article</type><title>Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU</title><source>Wiley Online Library Journals Frontfile Complete</source><source>Business Source Complete</source><creator>Dokter, Mark ; Hladky, Jozef ; Parger, Mathias ; Schmalstieg, Dieter ; Seidel, Hans‐Peter ; Steinberger, Markus</creator><creatorcontrib>Dokter, Mark ; Hladky, Jozef ; Parger, Mathias ; Schmalstieg, Dieter ; Seidel, Hans‐Peter ; Steinberger, Markus</creatorcontrib><description>In this paper, we introduce the CPatch, a curved primitive that can be used to construct arbitrary vector graphics. A CPatch is a generalization of a 2D polygon: Any number of curves up to a cubic degree bound a primitive. We show that a CPatch can be rasterized efficiently in a hierarchical manner on the GPU, locally discarding irrelevant portions of the curves. Our rasterizer is fast and scalable, works on all patches in parallel, and does not require any approximations. We show a parallel implementation of our rasterizer, which naturally supports all kinds of color spaces, blending and super‐sampling. Additionally, we show how vector graphics input can efficiently be converted to a CPatch representation, solving challenges like patch self intersections and false inside‐outside classification. Results indicate that our approach is faster than the state‐of‐the‐art, more flexible and could potentially be implemented in hardware.</description><identifier>ISSN: 0167-7055</identifier><identifier>EISSN: 1467-8659</identifier><identifier>DOI: 10.1111/cgf.13622</identifier><language>eng</language><publisher>Oxford: Blackwell Publishing Ltd</publisher><subject>CCS Concepts ; Computing methodologies → Rasterization ; Graphical representations ; Graphics processing units ; Intersections ; Software reviews ; Theory of computation → Massively parallel algorithms</subject><ispartof>Computer graphics forum, 2019-05, Vol.38 (2), p.93-103</ispartof><rights>2019 The Author(s) Computer Graphics Forum © 2019 The Eurographics Association and John Wiley &amp; Sons Ltd. Published by John Wiley &amp; Sons Ltd.</rights><rights>2019 The Eurographics Association and John Wiley &amp; Sons Ltd.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c2972-6d5eea3c5158028244fa1ac48d368ec0f8be9a1695551137cdee4e2c2c69051f3</citedby><cites>FETCH-LOGICAL-c2972-6d5eea3c5158028244fa1ac48d368ec0f8be9a1695551137cdee4e2c2c69051f3</cites><orcidid>0000-0001-5977-8536 ; 0000-0003-4960-5740 ; 0000-0002-6231-0202 ; 0000-0002-9074-4374 ; 0000-0002-1343-8613 ; 0000-0003-2813-2235</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://onlinelibrary.wiley.com/doi/pdf/10.1111%2Fcgf.13622$$EPDF$$P50$$Gwiley$$H</linktopdf><linktohtml>$$Uhttps://onlinelibrary.wiley.com/doi/full/10.1111%2Fcgf.13622$$EHTML$$P50$$Gwiley$$H</linktohtml><link.rule.ids>314,776,780,1411,27901,27902,45550,45551</link.rule.ids></links><search><creatorcontrib>Dokter, Mark</creatorcontrib><creatorcontrib>Hladky, Jozef</creatorcontrib><creatorcontrib>Parger, Mathias</creatorcontrib><creatorcontrib>Schmalstieg, Dieter</creatorcontrib><creatorcontrib>Seidel, Hans‐Peter</creatorcontrib><creatorcontrib>Steinberger, Markus</creatorcontrib><title>Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU</title><title>Computer graphics forum</title><description>In this paper, we introduce the CPatch, a curved primitive that can be used to construct arbitrary vector graphics. A CPatch is a generalization of a 2D polygon: Any number of curves up to a cubic degree bound a primitive. We show that a CPatch can be rasterized efficiently in a hierarchical manner on the GPU, locally discarding irrelevant portions of the curves. Our rasterizer is fast and scalable, works on all patches in parallel, and does not require any approximations. We show a parallel implementation of our rasterizer, which naturally supports all kinds of color spaces, blending and super‐sampling. Additionally, we show how vector graphics input can efficiently be converted to a CPatch representation, solving challenges like patch self intersections and false inside‐outside classification. Results indicate that our approach is faster than the state‐of‐the‐art, more flexible and could potentially be implemented in hardware.</description><subject>CCS Concepts</subject><subject>Computing methodologies → Rasterization</subject><subject>Graphical representations</subject><subject>Graphics processing units</subject><subject>Intersections</subject><subject>Software reviews</subject><subject>Theory of computation → Massively parallel algorithms</subject><issn>0167-7055</issn><issn>1467-8659</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><recordid>eNp1kD1PwzAQhi0EEqUw8A8sMTGk9UfsJCOKaIpUiaqiiM0yzrl1VZJip63Kr8cQVm65G57nTvcidEvJiMYam5UdUS4ZO0MDmsosyaUoztGA0DhnRIhLdBXChhCSZlIM0NvUgdferJ3RW7zQoQPvvnTn2ga3Fpd7f4Aaz737cJ07QMC29fgVTBdb5fUuegEvoKmj1qxwtLo14Gq-vEYXVm8D3Pz1IVpOHl_KaTJ7rp7Kh1liWJGxRNYCQHMjqMgJy1maWk21SfOayxwMsfk7FJrKQghBKc9MDZACM8zIgghq-RDd9Xt3vv3cQ-jUpt37Jp5UjHFJJZEFj9R9TxnfhuDBql18SfuTokT9BKdicOo3uMiOe_botnD6H1RlNemNbwCPbqg</recordid><startdate>201905</startdate><enddate>201905</enddate><creator>Dokter, Mark</creator><creator>Hladky, Jozef</creator><creator>Parger, Mathias</creator><creator>Schmalstieg, Dieter</creator><creator>Seidel, Hans‐Peter</creator><creator>Steinberger, Markus</creator><general>Blackwell Publishing Ltd</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0001-5977-8536</orcidid><orcidid>https://orcid.org/0000-0003-4960-5740</orcidid><orcidid>https://orcid.org/0000-0002-6231-0202</orcidid><orcidid>https://orcid.org/0000-0002-9074-4374</orcidid><orcidid>https://orcid.org/0000-0002-1343-8613</orcidid><orcidid>https://orcid.org/0000-0003-2813-2235</orcidid></search><sort><creationdate>201905</creationdate><title>Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU</title><author>Dokter, Mark ; Hladky, Jozef ; Parger, Mathias ; Schmalstieg, Dieter ; Seidel, Hans‐Peter ; Steinberger, Markus</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c2972-6d5eea3c5158028244fa1ac48d368ec0f8be9a1695551137cdee4e2c2c69051f3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>CCS Concepts</topic><topic>Computing methodologies → Rasterization</topic><topic>Graphical representations</topic><topic>Graphics processing units</topic><topic>Intersections</topic><topic>Software reviews</topic><topic>Theory of computation → Massively parallel algorithms</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Dokter, Mark</creatorcontrib><creatorcontrib>Hladky, Jozef</creatorcontrib><creatorcontrib>Parger, Mathias</creatorcontrib><creatorcontrib>Schmalstieg, Dieter</creatorcontrib><creatorcontrib>Seidel, Hans‐Peter</creatorcontrib><creatorcontrib>Steinberger, Markus</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Computer graphics forum</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Dokter, Mark</au><au>Hladky, Jozef</au><au>Parger, Mathias</au><au>Schmalstieg, Dieter</au><au>Seidel, Hans‐Peter</au><au>Steinberger, Markus</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU</atitle><jtitle>Computer graphics forum</jtitle><date>2019-05</date><risdate>2019</risdate><volume>38</volume><issue>2</issue><spage>93</spage><epage>103</epage><pages>93-103</pages><issn>0167-7055</issn><eissn>1467-8659</eissn><abstract>In this paper, we introduce the CPatch, a curved primitive that can be used to construct arbitrary vector graphics. A CPatch is a generalization of a 2D polygon: Any number of curves up to a cubic degree bound a primitive. We show that a CPatch can be rasterized efficiently in a hierarchical manner on the GPU, locally discarding irrelevant portions of the curves. Our rasterizer is fast and scalable, works on all patches in parallel, and does not require any approximations. We show a parallel implementation of our rasterizer, which naturally supports all kinds of color spaces, blending and super‐sampling. Additionally, we show how vector graphics input can efficiently be converted to a CPatch representation, solving challenges like patch self intersections and false inside‐outside classification. Results indicate that our approach is faster than the state‐of‐the‐art, more flexible and could potentially be implemented in hardware.</abstract><cop>Oxford</cop><pub>Blackwell Publishing Ltd</pub><doi>10.1111/cgf.13622</doi><tpages>11</tpages><orcidid>https://orcid.org/0000-0001-5977-8536</orcidid><orcidid>https://orcid.org/0000-0003-4960-5740</orcidid><orcidid>https://orcid.org/0000-0002-6231-0202</orcidid><orcidid>https://orcid.org/0000-0002-9074-4374</orcidid><orcidid>https://orcid.org/0000-0002-1343-8613</orcidid><orcidid>https://orcid.org/0000-0003-2813-2235</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 0167-7055
ispartof Computer graphics forum, 2019-05, Vol.38 (2), p.93-103
issn 0167-7055
1467-8659
language eng
recordid cdi_proquest_journals_2236160693
source Wiley Online Library Journals Frontfile Complete; Business Source Complete
subjects CCS Concepts
Computing methodologies → Rasterization
Graphical representations
Graphics processing units
Intersections
Software reviews
Theory of computation → Massively parallel algorithms
title Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-29T15%3A57%3A02IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Hierarchical%20Rasterization%20of%20Curved%20Primitives%20for%20Vector%20Graphics%20Rendering%20on%20the%20GPU&rft.jtitle=Computer%20graphics%20forum&rft.au=Dokter,%20Mark&rft.date=2019-05&rft.volume=38&rft.issue=2&rft.spage=93&rft.epage=103&rft.pages=93-103&rft.issn=0167-7055&rft.eissn=1467-8659&rft_id=info:doi/10.1111/cgf.13622&rft_dat=%3Cproquest_cross%3E2236160693%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2236160693&rft_id=info:pmid/&rfr_iscdi=true