Layer combination in a surface composition system
First Claim
1. A computer-based method of rendering a two-dimensional graphic scene, the method comprising:
- a) receiving a scene graph including a first static layer having a corresponding depth value, a second static layer having a corresponding depth value, and a moving layer, the moving layer having a depth value between respective depth values of the first static layer and the second static layers;
each of the first static layer and the second layer containing a corresponding vector element;
b) determining a first area of pixels in the first static layer and a second area of pixels in the second static layer, the pixels of the first area having different pixel addresses from the pixels of the second area;
c) creating a first surface that includes the first area and the second area, the first surface comprising a depth value corresponding to each pixel of the first area and the second area;
d) creating a second surface that includes a moving area of the moving layer; and
e) providing the first surface and the second surface to a graphics processing unit for composition of the first surface and the second surface based on the depth values;
f) rasterizing at least one vector element of the second static layer prior to providing the first surface and the second surface to the graphics processing unit for composition, and not rasterizing at least one other vector element of the second layer.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for processing and rendering multiple layers of a two-dimensional scene. A system provides a mechanism to determine a number of scene surfaces and a mapping between scene layers and scene surfaces. The mechanisms may include combining and aggregating areas of layers to create one opaque surface, aggregating non-overlapping semi-transparent opaque areas of layers, or creating surfaces from overlapping semi-transparent surfaces. Moving objects are accommodated, so that layers below a moving object may be rendered properly in frames where the moving object is above the layer and frames where the moving object is not above the layer, for each pixel.
16 Citations
18 Claims
-
1. A computer-based method of rendering a two-dimensional graphic scene, the method comprising:
-
a) receiving a scene graph including a first static layer having a corresponding depth value, a second static layer having a corresponding depth value, and a moving layer, the moving layer having a depth value between respective depth values of the first static layer and the second static layers;
each of the first static layer and the second layer containing a corresponding vector element;b) determining a first area of pixels in the first static layer and a second area of pixels in the second static layer, the pixels of the first area having different pixel addresses from the pixels of the second area; c) creating a first surface that includes the first area and the second area, the first surface comprising a depth value corresponding to each pixel of the first area and the second area; d) creating a second surface that includes a moving area of the moving layer; and e) providing the first surface and the second surface to a graphics processing unit for composition of the first surface and the second surface based on the depth values; f) rasterizing at least one vector element of the second static layer prior to providing the first surface and the second surface to the graphics processing unit for composition, and not rasterizing at least one other vector element of the second layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage memory comprising computer program instructions for rendering a two-dimensional graphic scene, the program instructions executable by one or more processors to perform actions including:
-
a) receiving at least one moving layer having a corresponding depth value; b) receiving a plurality of static layers, each static layer having a corresponding depth value, each static layer separated from other static layers by one or more of the at least one moving layers, each static layer containing at least one vector element; c) determining a set of topmost opaque pixels, including pixels from at least two of the static layers; d) creating an opaque surface including the set of topmost opaque pixels, the opaque surface having a depth buffer that indicates a z-order for each pixel, including at least two different z-order values; e) creating one or more moving surfaces derived from the at least one moving layer, the moving surface having a depth buffer that indicates a z-order for each pixel; and f) providing the opaque surface and the one or more moving surfaces to a compositor for composition of the opaque surface and the one or more moving surfaces; wherein creating the opaque surface comprises rasterizing at least one vector element from a static layer of the plurality of static layers and determining pixels from the static layer of the plurality of static layers to exclude from rasterization; and
wherein rasterizing the at least one vector element is performed prior to providing the opaque surface and the one or more moving surfaces to the compositor. - View Dependent Claims (11, 12)
-
-
13. A computer-based system for rendering a two-dimensional graphic scene having a plurality of static layers and at least one moving layer, each of the plurality of static layers containing at least one vector element and separated from other static layers of the plurality of static layers by at least one moving layer, the system comprising:
-
a) a rasterizer configured to perform actions including; i) receiving a scene graph representing the graphic scene; ii) determining at least two areas of respective static layers of the plurality of static layers to be aggregated into one static surface; iii) after determining the at least two areas, rasterizing the at least two areas to create the one static surface, each pixel of the one static surface having a corresponding depth level; and iv) creating at least one moving surface based on the at least one moving layer, each pixel of the at least one moving surface having a corresponding depth level; and b) a processor configured to compose a frame of the graphic scene by composing the one static surface and the moving surface by employing the depth level of each pixel of the at least one moving surface and the depth level of each pixel of the one static surface; wherein the rasterizer actions further include selectively rasterizing each pixel of a vector element of at least one static layer of the plurality of static layers prior to providing the static surface and the moving surface to the processor, based on whether the pixel is obscured by an opaque element of another static layer of the plurality of static layers. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification