US 11,869,123 B2
Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer
Harish Agarwal, Jaipur (IN); Saurabh Gupta, Aligarh (IN); and Himanshu Verma, Delhi (IN)
Assigned to Adobe Inc., San Jose, CA (US)
Filed by Adobe Inc., San Jose, CA (US)
Filed on Aug. 3, 2021, as Appl. No. 17/444,353.
Prior Publication US 2023/0038647 A1, Feb. 9, 2023
Int. Cl. G06T 11/20 (2006.01); G06T 17/20 (2006.01); G06T 1/20 (2006.01); G06T 15/00 (2011.01); G06T 15/04 (2011.01)
CPC G06T 11/203 (2013.01) [G06T 1/20 (2013.01); G06T 15/005 (2013.01); G06T 15/04 (2013.01); G06T 17/20 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor of a computing system, cause the computing system to:
generate a plurality of tessellate triangles along a vector path, each of the tessellate triangles being represented by a set of vertices;
generate an index buffer that includes a vertex index for each vertex of each of the plurality of tessellate triangles;
generate a compressed vertex buffer by excluding duplicate vertices of the plurality of tessellate triangles, wherein each vertex buffer entry in the compressed vertex buffer corresponds to a unique vertex that maps to one or more vertex indices of the index buffer;
provide the index buffer and the compressed vertex buffer to a graphics processing unit to render the vector path with anti-aliasing; and
issue commands to the graphics processing unit, the commands configured to cause the graphics processing unit to:
map vertices of the commands to a set of triangles that includes each of the tessellate triangles and a replica triangle corresponding to each of the tessellate triangles;
select one or more triangles in the set of triangles for geometry expansion; and
generate rendering parameters based on vertex buffer entries in the compressed vertex buffer that correspond to vertices of the selected one or more triangles to perform the geometry expansion.