System and method for symmetric parameterization of independently tessellated patches
AssigneeNVIDIA Corporation
InventorHenry Packard Moreton
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention sets forth a technique for consistently evaluating geometric patches with shared boundaries using barycentric coordinates. A barycentric parameter is generated and represented using a fixed-point fraction. The barycentric parameter is then used to generate a fixed-point barycentric coordinate. The fixed-point barycentric coordinate is then converted to a floating-point representation for evaluating the geometric patches. Computing shared boundary splits using fixed-point fractions eliminates inconsistencies in associated barycentric coordinates due to round-off errors. Evaluating geometric patch equations using consistent barycentric coordinates facilitates precise, consistent computation of vertices along shared boundaries.
Claims20
A method for evaluating a geometric patch for a tessellation operation when rendering a graphics image in a graphics processing pipeline, the method comprising:
- generating, with a processing unit a first fixed-point barycentric parameter corresponding to a first barycentric parameter;
- computing a second fixed-point barycentric parameter corresponding to a second barycentric parameter based on the first fixed-point barycentric parameter, wherein the second fixed-point barycentric parameter is computed by subtracting the first fixed-point barycentric parameter from 1;
- generating a floating-point barycentric coordinate for use in the tessellation operation based on the first fixed-point barycentric parameter and the second fixed-point barycentric parameter;
- and
- generating a vertex located on a boundary shared by a first geometric patch and a second geometric patch for use in the tessellation operation based on the floating-point barycentric coordinate.
A non-transitory computer-readable medium including instructions that, when executed by a processing unit, cause the processing unit to evaluate a geometric patch for a tessellation operation when rendering a graphics image, by performing the steps of:
- based on a first fixed-point barycentric parameter that corresponds to a first barycentric parameter, computing a second fixed-point barycentric parameter corresponding to a second barycentric parameter, wherein the second fixed-point barycentric parameter is computed by subtracting the first fixed-point barycentric parameter from 1;
- generating a floating-point barycentric coordinate for use in the tessellation operation based on the first fixed-point barycentric parameter and the second fixed-point barycentric parameter;
- and
- generating a vertex located on a boundary shared by a first geometric patch and a second geometric patch for use in the tessellation operation based on the floating-point barycentric coordinate.
A computing device, comprising:
- A processing unit configured to:
- based on a first fixed-point barycentric parameter that corresponds to a first barycentric parameter, compute a second fixed-point barycentric parameter corresponding to a second barycentric parameter, wherein the second fixed-point barycentric parameter is computed by subtracting the first fixed-point barycentric parameter from 1;
- generate a floating-point barycentric coordinate for use in the tessellation operation based on the first fixed-point barycentric parameter and the second fixed-point barycentric parameter;
- and
- generate a vertex located on a boundary shared by a first geometric patch and a second geometric patch for use in the tessellation operation based on the floating-point barycentric coordinate.
Dependencies are inferred from the claim text.