System and method for antialiasing bump texture and bump mapping
First Claim
1. Apparatus for antialiasing textured bumps in a textured bump map in a dynamic model image display system, the bumps having texel tilt values in U and V directions, which are calculated in an angle processor, comprising:
- means for calculating bump curvature values from texel tilt values by determining the largest absolute difference between the texel'"'"'s tilt values and the neighboring texel tilt values; and
means for integrating the specular highlight of a textured bump by generating integration values for the highlights across the pixel based on the bump curvature values thereby creating a uniform antialiased highlight.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for antialiasing bump texture and bump mapping which overcomes the disadvantages of previous methods of antialiasing bump maps without significantly expanding the required physical hardware needed for the calculations. A bump curvature value computed from the difference in heights between adjacent texels is applied to the specular shading calculations for bump maps. The bump curvature is used to open an “integration window” over the specular highlight of the bump. The resulting integral provides a highlight value which approximates the specular highlight. The highlight value is then added to the pixel shading value in the frame buffer. The process decreases the brightness of the highlights while increasing the overall brightness near the highlights, in a user-controlled blend that preserves the proper average effect of the specularity or reflectiveness. The process has no effect where there are no bumps or where the viewer is so close to the surface. Two user-supplied coefficients properly account for the content of the bump texture and the values of the surface materials coefficients.
45 Citations
22 Claims
-
1. Apparatus for antialiasing textured bumps in a textured bump map in a dynamic model image display system, the bumps having texel tilt values in U and V directions, which are calculated in an angle processor, comprising:
-
means for calculating bump curvature values from texel tilt values by determining the largest absolute difference between the texel'"'"'s tilt values and the neighboring texel tilt values; and
means for integrating the specular highlight of a textured bump by generating integration values for the highlights across the pixel based on the bump curvature values thereby creating a uniform antialiased highlight. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
a bump angle memory coupled to the angle processor, for storing the texel tilt values received from the angle processor; and
a bump curvature memory for storing the bump curvature values calculated by the curvature value calculating means.
-
-
3. The apparatus of claim 1 further comprising:
-
a frame buffer for storing pixel values shaded by adding the integration values received from the means for integrating the specular highlight; and
a display device coupled to the frame buffer to display the dynamic images.
-
-
4. The apparatus of claim 1 wherein the means for integrating the specular highlight further comprises:
-
a scaling multiplier coupled to a curvature value memory for multiplying the bump curvature value by the smaller value of 1 and a projected pixel size value to produce a scaled bump curvature value;
a multiplier coupled to receive the scaled bump curvature value and for multiplying the scaled bump curvature value received from the scaling multiplier by an amplitude factor to correlate antialiasing effects to the specular exponent;
a vector dot product processor coupled to the multiplier, for calculating a vector dot product of L, an incident angle of light, and R, a reflection of the eye vector about the bumped normal;
an interval calculator coupled to the vector dot product processor, to calculate the value of L·
R plus ½
of the scaled bump curvature value, and the third value of L·
R minus ½
of the scaled bump curvature value;
a highlight integration means which produces an integration value and integrates at least three values across a number space where L·
R is a center point and is received from the vector dot product processor, and a second value is the center point plus ½
of a bump curvature interval and a third value is the center point minus ½
of the bump curvature interval; and
an exponentiator coupled to receive the integration value and to raise the quantity computed in the integration means to the power of a specular exponent such that a reflected shading value is computed and added to the pixel value.
-
-
5. The apparatus of claim 4 wherein the highlight integration means uses integration values which are mapped to an alternate number domain and the center point, and a second point and a third point maintain their equivalent relative values in the alternate number domain.
-
6. The apparatus of claim 4 wherein the means for integrating the specular highlight further comprises a processor to sum values in cosine space received from the interval calculator to produce an integration value which is the sum of three point values, L·
- R, L·
R plus ½
of the bump curvature value, and L·
R minus ½
of the bump curvature value and the three point values are summed with a 1;
2;
1 weighting and then divided by 4 to define the average cosine value over the interval.
- R, L·
-
7. The apparatus of claim 1 wherein the means for integrating the specular highlight further comprises:
-
a scaling multiplier coupled to a curvature value memory for multiplying the bump curvature value by the smaller value of 1 and a projected scaled pixel size value to produce a scaled bump curvature value;
a multiplier coupled to receive the scaled bump curvature value for multiplying a scaled bump curvature value received from the scaling multiplier by a user-supplied amplitude factor to correlate antialiasing effects with the specular exponent;
a vector dot product processor coupled to the multiplier, for calculating a vector dot product of L, an incident angle of light, and R, a reflection of the eye vector about the bumped normal;
an interval calculator coupled to the vector dot product processor, to calculate a second value of L·
R plus ½
of the bump curvature value, and a third value of L·
R minus ½
of the bump curvature value;
a highlight integration means which converts the curvature value to radians and sums the values of the first value L·
R, the second value and the third value, wherein the second and third integration points are calculated as L·
R plus ½
of the bump curvature value in radians and L·
R minus ½
of the bump curvature value in radians, respectively, and the three points are summed with a 1;
2;
1 weighting and then divided by 4 to define the average cosine value over the interval; and
an exponentiator coupled to receive the integration value and to raise the quantity computed in the integration means to the power of a specular exponent such that a reflected shading value is computed and added to the pixel value.
-
-
8. The apparatus of claim 4 further comprising an adder means to add the reflected shading value from the exponentiator to the pixel value in a frame buffer.
-
9. The apparatus as described in claim 4 further comprising an exponent reducer which decreases the specular exponent by dividing the specular exponent by the larger value of 1 or the bump curvature value multiplied by a user set coefficient, wherein the user coefficient reduces the specular exponent when the bump curvature value is at its maximum, increasing the brightness of areas outside the specular highlight.
-
10. The apparatus as described in claim 9 further comprising a bump curvature value control means for the user to adjust and control the magnitude of the bump curvature value.
-
11. The apparatus as described in claim 9 further comprising a specular exponent control means for the user to adjust and control the amount the specular exponent is reduced.
-
12. The apparatus as described in claim 9 which further comprises:
-
a user controlled means for adjusting the curvature value width; and
a user specular exponent control means for the user to adjust and control the amount the specular exponent is reduced.
-
-
13. A method for antialiasing textured bumps in a textured bump map in a dynamic model image display system, the bumps having texel tilt values in U and V directions, which are calculated in an angle processor, the method comprising the steps of:
-
computing bump curvature values by finding the absolute value of the difference in the texel tilt values between adjacent texels; and
integrating the specular highlight of a textured bump by generating integration values representative of the highlights across the pixel, based on the bump curvature value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
multiplying each bump curvature value by the smaller of the value 1 or the projected pixel size to decrease antialiasing as a viewer gets closer to the textured bump map and produce a bump curvature value;
multiplying the bump curvature value by an amplitude to correlate the textured bump antialiasing with a specular exponent;
determining an average cosine value for each textured bump; and
raising the average cosine value to a specular shading exponent such that a reflected shading value is computed which is added to a pixel value in a frame buffer.
-
-
15. The method of claim 14 wherein the step for determining the average cosine value comprises:
-
taking the vector dot product of L, the incident angle of light, and R, a reflection of the eye vector about the bumped normal; and
integrating the value across the cosine space wherein the integration includes a center point at L·
R and two other points on the curve are L·
R plus ½
of the bump curvature value and L·
R minus ½
of the bump curvature value and these three values are summed with a 1;
2;
1 weighting and then divided by 4 to define an average cosine value over the interval.
-
-
16. The method of claim 13 wherein the step of computing the bump curvature value by finding the absolute value of the height difference between adjacent texel values further comprises the step of finding an absolute value of the height difference for the adjacent texel values in the U and V directions and texel diagonals.
-
17. The method of claim 15 wherein the integration step is further comprised of the steps of:
replacing the value of the dot product of L and R plus ½
of the interval, with 2 minus the value, if the value is greater than 1.
-
18. The method of claim 14 wherein the method further comprises:
dividing the specular shading exponent by the larger value of 1 or the bump curvature value times a user supplied coefficient, whereby the brightness of an area surrounding a specular highlight is increased to result in an overall normal brightness.
-
19. The method of claim 13 where the method further comprises:
integrating the value across cosine space such that the specular behavior of a bump map is not affected when the curvature is 0 or if a viewer is close to the bump map.
-
20. The method of claim 14 wherein the method further comprises:
adjusting the bump curvature value so that distant specular highlights are reduced even though bumps in the bump map cannot be seen in a distant MIP map.
-
21. The method of claim 14 wherein the method further comprises:
adjusting the specular exponent to raise the brightness of areas near the specular highlight.
-
22. The method of claim 21 wherein the method of controlling the specular exponent further comprises:
adjusting the specular exponent to raise the brightness of areas near the specular highlight through dividing by the greater of the values 1 and the bump curvature value multiplied by a user controlled coefficient, such that the specular exponent is reduced as the curvature amplitude increases.
Specification