发明名称 |
Systems and methods for generating refined, high fidelity normal maps for 2D and 3D textures |
摘要 |
Systems, methods and program storage devices are disclosed, which comprise instructions to cause one or more processing units to dynamically generate refined normal maps for 2D texture maps, e.g., supplied by a programmer or artist. Generally speaking, there are two pertinent properties to keep in balance when generating normal vectors comprising a normal map: “smoothness” and “bumpiness.” The smoothness of the normal vectors is influenced by how many neighboring pixels are involved in the “smoothening” calculation. Incorporating the influence of a greater number of neighboring pixels' values reduces the overall bumpiness of the normal map, as each pixel's value takes weight from those neighboring pixels. Thus, the techniques described herein iteratively: downsample height maps; generate normal maps; scale the normal maps to maintain bumpiness; and blend the generated scaled normal maps with generated normal maps from previous iterations—until the smoothness of the resultant normal map has reached desired levels. |
申请公布号 |
US9245358(B2) |
申请公布日期 |
2016.01.26 |
申请号 |
US201414292731 |
申请日期 |
2014.05.30 |
申请人 |
Apple Inc. |
发明人 |
Wang Norman N.;Oriol Timothy R.;Gasselin de Richebourg Jacques P.;Porcino Domenico P. |
分类号 |
G09G5/00;G06T11/00;G09G5/02;G06T5/00;G06T3/40 |
主分类号 |
G09G5/00 |
代理机构 |
Blank Rome LLP |
代理人 |
Blank Rome LLP |
主权项 |
1. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause one or more processing units to:
(a) obtain a representation of a first two-dimensional image, wherein the representation comprises a first plurality of pixels, and wherein each pixel in the first plurality of pixels comprises a first plurality of pixel color values and a transparency value; (b) convert the first plurality of pixel color values into a luminance value for each pixel in the first plurality of pixels; (c) create a height map over the first two-dimensional image using the converted luminance values for each pixel in the first plurality of pixels, wherein each position in the height map corresponds to a pixel from the first plurality of pixels; (d) create a first normal map over the first two-dimensional image by calculating a normal vector for each pixel in the height map; (e) create a first blurred height map according to a first parameter; (f) create a second normal map over the first two-dimensional image by calculating a normal vector for each pixel in the first blurred height map; (g) scale the second normal map in accordance with a range of the first normal map; (h) blend the second normal map with the previously-created normal map to create a resultant normal map; and (i) repeat steps (e)-(h) iteratively, increasing the value of the first parameter with each iteration, until the resultant normal map has a desired level of smoothness. |
地址 |
Cupertino CA US |