IP Library Granted Patent US 8,350,855
Granted Patent B2
US 8,350,855 · App. 11/869,068 · Granted Jan 8, 2013

Systems and methods of reducing anti-aliasing in a procedural texture

Assignee: Georgia Tech Research 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 8,350,855
App. No.
11/869,068
Granted
Jan 8, 2013
Kind
B2
Abstract

The disclosed embodiments provide systems and methods for reducing anti-aliasing in a procedural texture. One method includes creating a procedural reduction map describing the texture as applied to an object, and querying the map for radiance of a pixel in the object. One system includes memory and a processor. The processor is programmed, by the code stored in the memory, to create a procedural reduction map describing the texture as applied to an object, and query the map for radiance of a pixel in the object. One system includes means for creating a procedural reduction map describing the texture as applied to an object, and means for querying the map for radiance of a pixel in the object. The map includes a basis functions and a hierarchy of texels. Each texel includes basis weights and a surface normal distribution. Each basis weight corresponds to one of the basis functions.

Claims (67)

1. A computer-implemented method for anti-aliasing a procedural texture comprising the steps of:

creating, by a computer, a procedural reduction map describing the procedural texture as applied to an object;

receiving a texture coordinate centered on a pixel;

receiving a texture footprint for the pixel;

interpolating the texture coordinate to find a corresponding texel in a hierarchy of texels of the procedural reduction map;

computing a radiance of the pixel based at least in part on a mean of a surface normal distribution of the corresponding texel if the surface normal distribution of the corresponding texel is narrower than a threshold; and

computing the radiance of the pixel based at least in part on a range of normals in the surface normal distribution of the corresponding texel if the surface normal distribution of the corresponding texel is broader than the threshold.

2. The method of claim 1 , wherein the procedural reduction map includes a plurality of basis functions and the hierarchy of texels, and each texel includes a plurality of basis weights and a surface normal distribution, and each of the basis weights corresponds to one of the basis functions.

3. The method of claim 2 , wherein the creating step further comprises the steps of:

analyzing reflectance at each of a plurality of sample points on the object to produce the plurality of basis functions of the procedural reduction map; and

determining the plurality of basis weights and the surface normal distribution for each of the texels in the hierarchy of the procedural reduction map.

4. The method of claim 2 , wherein the creating step further comprises the steps of:

analyzing reflectance at each of a plurality of sample points on the object to produce the plurality of basis functions of the procedural reduction map;

determining the plurality of basis weights and the surface normal distribution for each of a portion of the texels on a base level of the hierarchy; and

aggregating the basis weights and the surface normal distribution of the texels on the base level of the hierarchy to produce the basis weights and the surface normal distribution of the texels on the remaining levels of the hierarchy.

5. A system for anti-aliasing a procedural texture comprising:

memory having stored thereon program code; and

a processor that is programmed by at least the program code to:

create a procedural reduction map describing the procedural texture as applied to an object, the procedural reduction map comprising a plurality of basis functions and a hierarchy of texels, and each texel comprising a plurality of basis weights and a surface normal distribution, and each of the basis weights corresponding to one of the basis functions;

find a matching texel T I , with a sample reflectance function that is in closest proximity to one of the plurality of basis functions B I ;

determine a point P i on the object corresponding to the matching texel;

determine a surface normal n i at the point P i ; and

store the procedural texture the surface normal n i , and the point P i , as the basis function B I .

6. The system of claim 5 , wherein the processor is further programmed by at least the program code to:

analyze reflectance at each of a plurality of sample points on the object to produce the plurality of basis functions of the procedural reduction map; and

determine the plurality of basis weights and the surface normal distribution for each of the texels in the hierarchy of the procedural reduction map.

7. The system of claim 5 , wherein the processor is further programmed by at least the program code to:

analyze reflectance at each of a plurality of sample points on the object to produce the plurality of basis functions of the procedural reduction map;

determine the plurality of basis weights and the surface normal distribution for each of a portion of the texels on a base level of the hierarchy; and

aggregate the basis weights and the surface normal distribution of the texels on the base level of the hierarchy to produce the basis weights and the surface normal distribution of the texels on the remaining levels of the hierarchy.

8. The system of claim 5 , wherein the processor is further programmed by at least the program code to:

receive a texture coordinate centered on the pixel;

receive a texture footprint for the pixel;

interpolate the texture coordinate to find a corresponding texel in the hierarchy of the procedural reduction map; and

compute the radiance of the pixel based on the surface normal distribution of the corresponding texel.

9. The system of claim 8 , wherein the processor is further programmed by at least the program code to:

compute the radiance of the pixel based on the mean of the surface normal distribution of the corresponding texel if the surface normal distribution of the corresponding texel is narrower than a threshold; and

compute the radiance of the pixel based on a range of normals in the surface normal distribution of the corresponding texel if the surface normal distribution of the corresponding texel is broader than the threshold.

10. The system of claim 8 , wherein the processor is further programmed by at least the program code to:

select a plurality of reflectance samples from the surface normal distribution of the corresponding texel;

render each of the selected samples to produce an average radiance;

repeat the selecting and rendering until the difference in average radiance is less than a predefined threshold.

11. The system of claim 5 , wherein the processor is further programmed by at least the program code to:

receive a texture coordinate centered on the pixel and a texture footprint A f for texel associated with the pixel;

compute a minimal sampling area A M for the texel associated with the pixel;

compute a base-level texel area A i for the texel associated with the pixel;

if the texture footprint A f is less than the minimal sampling area A M , compute the radiance of the pixel based on the procedural texture;

if the texture footprint A f is greater than or equal to the minimal sampling area A M and the texture footprint A f is greater than or equal to the base-level texel area A i , compute the radiance of the pixel based on the procedural reduction map; and

if the texture footprint A f is greater than or equal to the minimal sampling area A M and the texture footprint A f is less than the base-level texel area A i , compute a first radiance of the pixel based on the procedural texture and compute a second radiance of the pixel based on the procedural reduction map and compute a final radiance based on a linear interpolation of the first and the second radiance.

12. A system for anti-aliasing a procedural texture comprising:

means for creating a procedural reduction map describing the procedural texture as applied to an object, the procedural reduction map comprising a plurality of basis functions and a hierarchy of texels, and each texel comprising a plurality of basis weights and a surface normal distribution, and each of the basis weights corresponds to one of the basis functions;

means for analyzing reflectance at each of a plurality of sample points on the object to produce the plurality of basis functions of the procedural reduction map;

means for determining the plurality of basis weights and the surface normal distribution for each of a portion of the texels on a base level of the hierarchy;

means for aggregating the basis weights and the surface normal distribution of the texels on the base level of the hierarchy to produce the basis weights and the surface normal distribution of the texels on the remaining levels of the hierarchy; and

means for querying the procedural reduction map for a radiance of a pixel in the object.

13. The system of claim 12 , further comprising:

means for finding a matching texel T I , with a sample reflectance function that is in closest proximity to one of the plurality of basis functions B I ;

means for determining a point P i on the object corresponding to the matching texel;

means for determining a surface normal n i at the point P i ; and

means for storing the procedural texture, the surface normal n i , and the point P i , as the basis function B I .

14. The system of claim 12 , further comprising:

means for receiving a texture coordinate centered on the pixel and a texture footprint A f for texel associated with the pixel;

means for computing a minimal sampling area A M for the texel associated with the pixel;

means for computing a base-level texel area A i for the texel associated with the pixel;

means for, if the texture footprint A f is less than the minimal sampling area A M , computing the radiance of the pixel based on the procedural texture;

means for, if the texture footprint A f is greater than or equal to the minimal sampling area A M and the texture footprint A f is greater than or equal to the base-level texel area A i , computing the radiance of the pixel based on the procedural reduction map; and

means for, if the texture footprint A f is greater than or equal to the minimal sampling area A M and the texture footprint A f is less than the base-level texel area A i , computing a first radiance of the pixel based on the procedural texture and computing a second radiance of the pixel based on the procedural reduction map and computing a final radiance based on a linear interpolation of the first and the second radiance.

Assignments (2)
CONFIRMATORY LICENSE Recorded Dec 22, 2010
From: GEORGIA TECH RESEARCH CORPORATION
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 025549/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2007
From: VAN HORN, ROBERT BROOKS; TURK, GREGORY
To: GEORGIA TECH RESEARCH CORPORATION
Reel/Frame 019932/0968 →
Continuity (2)
Provisional Application 60867480 · Nov 28, 2006
Related Publication 20080122836A1 · May 29, 2008