Premium
Hierarchical Rasterization of Curved Primitives for Vector Graphics Rendering on the GPU
Author(s) -
Dokter Mark,
Hladky Jozef,
Parger Mathias,
Schmalstieg Dieter,
Seidel HansPeter,
Steinberger Markus
Publication year - 2019
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/cgf.13622
Subject(s) - computer science , vector graphics , rendering (computer graphics) , computer graphics (images) , polygon (computer graphics) , real time rendering , scalability , computer graphics , graphics , graphics hardware , theoretical computer science , telecommunications , frame (networking) , database
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.