IP Library Granted Patent US 7,928,979
Granted Patent B2
US 7,928,979 · App. 12/024,754 · Granted Apr 19, 2011

Efficient geometric tessellation and displacement

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,928,979
App. No.
12/024,754
Granted
Apr 19, 2011
Kind
B2
Abstract

Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch. Detail within a displacement map also can be increased without negative effects associated with previous systems and methods.

Claims (17)

1. One or more computer storage media having computer-useable instructions embodied thereon for performing a method of tessellating objects for rendering three-dimensional (3D) graphics, wherein the objects are tessellated utilizing one or more patches made up of graphics primitives, each patch having edges and an interior, the method comprising:

defining the one or more patches, wherein each patch is defined by a configurable function and a number of control points;

selecting one or more tessellation factors for tessellation for each patch, wherein the one or more tessellation factors are values associated with tessellation of an edge or with tessellation of an interior; and

dividing an edge into uniform segments when a value of a tessellation factor that corresponds to the edge is odd.

2. The media of claim 1 , wherein the method further comprises:

moving a location of one or more data points continuously as a result of a modification in a value of a tessellation factor that does not result in addition of new data points; and

inserting one or more new data points in conjunction with continuous movement of previously generated data points as a result of a modification in a value of a tessellation factor that results in the addition of new data points.

3. The media of claim 2 , wherein a minimum value of a tessellation factor resulting in tessellation of a patch is one.

4. The media of claim 3 , further comprising removing a patch that utilizes a reserved value for a tessellation factor of the patch.

5. The media of claim 4 , wherein a tessellation factor for a first edge of a patch is not dependent on a tessellation factor of any other edge of the patch.

6. The media of claim 5 , wherein a tessellation factor for an edge of a first patch is the same as a tessellation factor for an adjacent edge of a second patch.

7. The media of claim 6 , wherein a tessellation factor for an interior of a patch is a value that is a function of tessellation factors of each edge of the patch.

8. The media of claim 7 , wherein the value is an average tessellation factor among the corresponding edges.

9. The media of claim 7 , wherein the value is one of: a lowest tessellation factor among the corresponding edges, a highest tessellation factor among the corresponding edges, and an average tessellation factor among the corresponding edges.

10. The media of claim 4 , wherein a density of the number of data points is uniform throughout the patch without regard to primitive geometry.

11. The media of claim 10 , wherein a scaling of the density of data points is automatically generated.

12. The media of claim 4 , wherein a density of the number of data points throughout the patch can be selected from at least one of: selection of a total data-point density, selection of a data-point density along a horizontal axis, and selection of a data-point density along a vertical axis.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF PETER-PIKE J. SLOAN FROM 02/01/2007 TO 02/01/2008 PREVIOUSLY RECORDED ON REEL 020458 FRAME 0879. ASSIGNOR(S) HEREBY CONFIRMS THE ENTIRE AND EXCLUSIVE RIGHTS, TITLE AND INTEREST.. Recorded May 26, 2010
From: PATEL, AMAR; SLOAN, PETER-PIKE J.; PEEPER, CRAIG C.; GLASSENBERG, SAMUEL Z.
To: MICROSOFT CORPORATION
Reel/Frame 024446/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2008
From: PATEL, AMAR; SLOAN, PETER-PIKE J.; PEEPER, CRAIG C.; GLASSENBERG, SAMUEL Z.
To: MICROSOFT CORPORATION
Reel/Frame 020458/0879 →
Continuity (1)
Related Publication 20090237400A1 · Sep 24, 2009