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...
Gespeichert in:
Veröffentlicht in: | Computer graphics forum 2019-05, Vol.38 (2), p.93-103 |
---|---|
Hauptverfasser: | , , , , , |
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 & Sons Ltd. Published by John Wiley & Sons Ltd.</rights><rights>2019 The Eurographics Association and John Wiley & 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 |