Outer Rim Archives
Archives · 2017 · 9773331

Granted patent

Methods and systems for efficient graphics rendering

Number
9773331
Published
2017-09-26
Filed
2014-07-25
Assignee
DISNEY ENTERPRISES, INC.
Inventors
Kaminski; Edward, Frattarola; Gary
CPC
G06T11/40; G06T15/205
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Generates an efficient polygon mesh with concavities and holes by adjusting a polygon grid to fit detected pixels of interest in an image.

Abstract

Methods and systems are disclosed for generating a polygon mesh that may have concavities and/or holes. One example of such a method includes generating a polygon grid, adjusting the grid to fit input image dimensions, adjusting the polygons within the grid to fit detected pixels of interest, simplifying the resulting polygon collection to reduce the total number of polygons, and generating a polygon mesh based on the simplified collection of polygons.

Background

BRIEF DESCRIPTION OF THE DRAWINGS(1) FIG. 1 is a flowchart for one embodiment of a method for creating a hull that may have concavities.(2) FIG. 1A is a flowchart for one embodiment of a method for creating a hull that may have concavities.(3) FIG. 2 is a flowchart for one embodiment of a method for creating a hull that may have concavities.(4) FIG. 3A illustrates a collection of columns derived from an image and that form a first hull.(5) FIG. 3B illustrates a collection of rows derived from an image and that form a second hull.(6) FIGS. 4A through 4D illustrate methods to grow columns and rows in a hull.(7) FIG. 5 illustrates a hull that may be created using one of the methods from FIG. 1, 1A, or 2.(8) FIG. 6 illustrates one example of a polygon mesh corresponding to the hull from FIG. 5 overlaid on an image.(9) FIG. 7 is a block diagram of a computer graphics system for creating a hull that may have concavities.(10) FIG. 8 is a flowchart for one embodiment of a method for generating a polygon mesh.(11) FIG. 9 is a flowchart for one embodiment of a method forgenerating a polygon mesh.(12) FIGS. 10A through 10F are flowcharts for generating a polygon mesh.(13) FIGS. 11A and 11B illustrate scan line run lengths that may be used during the process of generating a polygon mesh.(14) FIGS. 12A through 12C illustrate rectangles that may be divided and combined during the process of generating a polygon mesh.(15) FIG. 13 illustrates one example of a polygon mesh overlaid on an ima

Claims

1. A method for graphics rendering, comprising: creating by a processing element a collection of polygons based on one or more dimensions of an input image; determining by the processing element an adjustment amount for each polygonwithin the collection of polygons by consecutively analyzing the polygons for pixels of interest; modifying by the processing element each polygon based on the respective adjustment amounts for polygons in the collection; comparing by the processing element a pair of polygons of the collection of polygons to determine a shared portion of an edge of the pairof polygons and an unshared portion of the edge of the pair of polygons; generating by the processing element a first new polygon by combining the pair of polygons along the shared portion of the edge; generating by the processing element a second new polygon based on the unshared portion of the edge; generating by the processing element a polygon mesh based at least in part on the generated polygons; and rendering an image for display based, atleast in part, on the polygon mesh. 13. A method for graphics rendering, comprising: creating by a processing element a collection of polygons based on one or more dimensions of an input image; determining by the processing element an adjustment amount for each polygonwithin the collection of polygons by consecutively analyzing the polygons for pixels of interest; modifying by the processing element each polygon based on the respective adjustment amounts for polygons in the collection; comparing by the processing element a pluralityof polygons of the collection of polygons to determine a shared edge and an unshared edgeof the plurality of polygons; generating by the processing element a first new polygon bycombining the plurality of polygons along the shared edge; generating by the processing element a second new polygon based on the unshared edge; generating by the processing element a polygon mesh based at least in part on the generated polygons; and rendering an imagefor display based, at least in part, on the polygon mesh, wherein generating the first and second new polygons comprises reducing the total number of polygons in the collection. 16. A method for rendering images, comprising: obtaining by a processing element one or more dimensions of an input image; generating by the processing element a collection of polygons based on the input image dimensions; determining pixels of interest within each polygon; modifying at least one polygon of the collection of polygons based on the pixels of interest; determining a shared portion of an edge of a pair of polygons of the collection of polygons and an unshared portion of the edge of the pair of polygons of the collection of polygons; generating a first new polygon by combining the pair of polygons along the shared portion of the edge; generating a second new polygon based on the unshared portion of the edge; creating a polygon mesh based at least in part on the generated polygons; and rendering the input image for display based, at least in part, on the polygon mesh. 20. A computing device for rendering images, comprising: a processing unit configured to generate a polygon grid corresponding to an image; detect the position of pixels of interest within each polygon; modify the polygon grid based on the detected pixels of interest; simplify the polygon grid to generate a polygon mesh by combining a plurality of polygons in the polygon grid along shared portions of edges of the plurality of polygons and generating new polygons along unshared portions of edges of the plurality of polygons to reduce a number ofpolygons in the polygon mesh; and a display coupled to the processing unit and configuredto render the image using the polygon mesh generated by the processing unit.