Systems for Efficiently Rendering Vector Objects

    公开(公告)号:US20230377265A1

    公开(公告)日:2023-11-23

    申请号:US17746052

    申请日:2022-05-17

    Applicant: Adobe Inc.

    CPC classification number: G06T17/20 G06T15/005 G06T2219/2016

    Abstract: In implementations of systems for efficiently rendering vector objects, a computing device implements a rendering system to identify unique geometries from a set of geometries of vector objects included in a render tree. The rendering system tessellates the unique geometries and each of the tessellated unique geometries has a unique identifier. Mappings are generated between the vector objects included in the render tree and the tessellated unique geometries using the unique identifiers. The rendering system renders the vector objects included in the render tree for display in a user interface based on the mappings.

    Systems for Generating Anti-Aliased Vector Objects

    公开(公告)号:US20220366621A1

    公开(公告)日:2022-11-17

    申请号:US17307219

    申请日:2021-05-04

    Applicant: Adobe Inc.

    Abstract: In implementations of systems for generating anti-aliased vector objects, a computing device implements an anti-aliasing system to receive input data describing a Bezier curve of a vector object. The anti-aliasing system generates an aliased curve by rasterizing the Bezier curve in a pixel space having pixels including intersected pixels that are intersected by the aliased curve and non-intersected pixels that are not intersected by the aliased curve. The anti-aliasing system segments the pixels into segments in a virtual space, and the segments have a higher density than the pixels. An intersected segment is identified that is intersected by a portion of the aliased curve in the virtual space. The anti-aliasing system determines a winding number for the intersected segment and generates a portion of an anti-aliased curve for display in a user interface by applying a color value to a coverage mask for an intersected pixel of the pixels.

    Rendering of cubic Bezier curves in a graphics processing unit (GPU)

    公开(公告)号:US11010939B2

    公开(公告)日:2021-05-18

    申请号:US16568907

    申请日:2019-09-12

    Applicant: Adobe Inc.

    Abstract: Techniques are disclosed for a graphics processing unit (GPU) to process cubic Bezier curves, and render the cubic Bezier curves. In an example, the GPU receives a cubic Bezier curve. For example, a graphics pipeline of the GPU receives a plurality of corner points of a control polygon in the form of a patch primitive, the control polygon representing the cubic Bezier curve. The graphics pipeline tessellates the cubic Bezier curve into multiple quadratic Bezier curves, such that the multiple quadratic Bezier curves approximate the cubic Bezier curve. The number of quadratic Bezier curves generated in such a manner is adaptively based on a zoom level at which the cubic Bezier curve is to be displayed. For example, as and when the zoom level changes, new number of such quadratic Bezier curves are tessellated from the cubic Bezier curve. The quadratic Bezier curves are then rendered for display.

    Efficiently rendering cubic Bezier curves to produce accurate anti-aliased content

    公开(公告)号:US10269151B1

    公开(公告)日:2019-04-23

    申请号:US15728676

    申请日:2017-10-10

    Applicant: Adobe Inc.

    Abstract: The present disclosure relates to a rendering system that that accurately and efficiently renders regions bounded by cubic Bezier splines. For example, in some embodiments, the rendering system generates control triangles, interior triangles, and anti-aliasing triangles from cubic Bezier spline segments of a vector-based convex object. Based on the generated triangles, the rendering system renders anti-aliased cubic Bezier splines as well as the geometry within the cubic Bezier splines. In one or more embodiments, the rendering system efficiently allocates computations between a central processing unit (CPU) and graphics processing unit (GPU) of a computing device in a manner that significantly reduces computational and memory resources.

    Graphics processing unit instancing control

    公开(公告)号:US12131418B2

    公开(公告)日:2024-10-29

    申请号:US17741976

    申请日:2022-05-11

    Applicant: Adobe Inc.

    Inventor: Harish Kumar

    CPC classification number: G06T15/005 G06T17/20

    Abstract: Graphics processing unit instancing control techniques are described that overcome conventional challenges to expand functionality made available via a graphics processing unit. In one example, these techniques support ordering of primitives within respective instances of a single draw call made to a graphics processing unit. This is performed by ordering primitives within respective instances that correspond to polygons for rendering. The ordering of the primitives overcomes limitations of conventional techniques and reduces visual artifacts through support of correct overlaps and z-ordering of instances.

    Systems for generating anti-aliased vector objects

    公开(公告)号:US12026809B2

    公开(公告)日:2024-07-02

    申请号:US17307219

    申请日:2021-05-04

    Applicant: Adobe Inc.

    CPC classification number: G06T11/203 G06T11/40 G06T11/60

    Abstract: In implementations of systems for generating anti-aliased vector objects, a computing device implements an anti-aliasing system to receive input data describing a Bezier curve of a vector object. The anti-aliasing system generates an aliased curve by rasterizing the Bezier curve in a pixel space having pixels including intersected pixels that are intersected by the aliased curve and non-intersected pixels that are not intersected by the aliased curve. The anti-aliasing system segments the pixels into segments in a virtual space, and the segments have a higher density than the pixels. An intersected segment is identified that is intersected by a portion of the aliased curve in the virtual space. The anti-aliasing system determines a winding number for the intersected segment and generates a portion of an anti-aliased curve for display in a user interface by applying a color value to a coverage mask for an intersected pixel of the pixels.

    Digital Representation of Intertwined Vector Objects

    公开(公告)号:US20240212242A1

    公开(公告)日:2024-06-27

    申请号:US18145915

    申请日:2022-12-23

    Applicant: Adobe Inc.

    CPC classification number: G06T11/60 G06T2200/24 G06T2210/12 G06T2210/62

    Abstract: Digital representation techniques of intertwined vector objects are described. These techniques support a non-destructive representation of intertwined digital objects. Additionally, these techniques support editing of overlaps to change a visual ordering in an intuitive and efficient manner. Optimization operations are also implemented that remove redundancy, combine overlaps into a single representation, address visual artifacts at borders between the intertwined objected, and so forth.

    Systems for Efficiently Generating Blend Objects

    公开(公告)号:US20240037845A1

    公开(公告)日:2024-02-01

    申请号:US17873848

    申请日:2022-07-26

    Applicant: Adobe Inc.

    CPC classification number: G06T15/503 G06T15/005 G06T17/005

    Abstract: In implementations of systems for efficiently generating blend objects, a computing device implements a blending system to assign unique shape identifiers to objects included in an input render tree. The blending system generates a shape mask based on the unique shape identifiers. A color of a pixel of a blend object is computed based on particular objects of the objects that contribute to the blend object using the shape mask. The blending system generates the blend object for display in a user interface based on the color of the pixel.

    Curve antialiasing based on curve-pixel intersection

    公开(公告)号:US11645793B2

    公开(公告)日:2023-05-09

    申请号:US17572546

    申请日:2022-01-10

    Applicant: Adobe Inc.

    CPC classification number: G06T11/203 G06T3/40 G06T11/001 G06T11/60 G06T2200/12

    Abstract: Curve antialiasing based on curve-pixel intersection is leveraged in a digital medium environment. For instance, to apply antialiasing according to techniques described herein, curves of a visual object are mapped from an original pixel space to a virtual pixel space. Virtual pixels of the virtual pixel space that are intersected by the mapped curves are identified and aggregated as intersected virtual pixels. The intersected virtual pixels are then mapped back into the original pixel space to identify which intersected virtual pixels positionally coincide with respective original pixels of the original pixel space. Intersected virtual pixels are mapped to original pixels to generate pixel coverage for original pixels. The generated pixel coverage values for original pixels are applied to render antialiased curves as part of an antialiased version of the original visual object.

    ANTI-ALIASING TWO-DIMENSIONAL VECTOR GRAPHICS USING A MULTI-VERTEX BUFFER

    公开(公告)号:US20220084283A1

    公开(公告)日:2022-03-17

    申请号:US17019881

    申请日:2020-09-14

    Applicant: Adobe Inc.

    Abstract: Methods, systems, and non-transitory computer readable storage media are disclosed for utilizing a central processing unit to generate a compressed multi-vertex buffer to include rendering data from tessellated geometry of a two-dimensional vector graphic for rendering the two-dimensional vector graphic via a GPU rendering pipeline. For example, the disclosed system generates an expanded geometry for control triangles within the tessellated geometry based on an anti-aliasing direction. The disclosed system generates multi-vertex buffer entries including vertex locations and visual attributes (e.g., color, primitive type, anti-aliasing direction, stroke width) of the vector paths corresponding to each triangle in the tessellated geometry. Furthermore, the disclosed system renders the two-dimensional vector graphic by passing the rendering data stored in the compressed multi-vertex buffer to the graphics processing unit in a manner that the graphics processing unit is able to process.

Patent Agency Ranking