Claims
- 1. A method for synthesizing a texture of a desired size from a sample texture, said method comprising the steps of:
generating a matrix of said desired size; providing values to said matrix, wherein said values comprise random values and wherein at least a portion of said values represents a desired structure according to which graphical features of a synthesized texture are to substantially conform; and executing a texture synthesis process that utilizes said matrix to generate a synthesized texture of said desired size having graphical features arranged therein substantially in conformance with said desired structure.
- 2. The method of claim 1 wherein said providing step comprises:
providing constant values to said matrix that represent said desired structure.
- 3. The method of claim 1 wherein said providing step comprises:
providing constant values to said matrix that are arranged therein to represent said desired structure.
- 4. The method of claim 1 wherein said providing step comprises:
populating said matrix with values from a pre-existing file.
- 5. The method of claim 4 further comprising the step of:
randomizing said values from said pre-existing file.
- 6. The method of claim 5 wherein said randomizing step further comprises:
randomizing said values from said pre-existing file to a user-specified degree.
- 7. The method of claim 4 wherein said values from a pre-existing file are nearly the desired result but are not tileable.
- 8. The method of claim 4 wherein said values from a pre-existing file include said at least a portion of values that represent said desired structure, but wherein said matrix having values from said pre-existing file is not readily tileable.
- 9. The method of claim 1 wherein said executing said texture synthesis process further comprises the steps of:
(a) selecting a value from said matrix; (b) determining a first neighborhood of the selected value from said matrix; (c) comparing said first neighborhood to neighborhoods of said sample texture to determine an optimal value of said sample texture; and
- 10. The method of claim 9 further comprising the step of:
(e) repeating steps (a)-(d) for each value of said matrix.
- 11. The method of claim 1 wherein said sample texture comprises a parametric texture map (PTM) texture.
- 12. The method of claim 11 wherein said providing step comprises:
providing texel values to said matrix.
- 13. The method of claim 1 wherein said sample texture comprises a texture of a format selected from the group consisting of:
red-green-blue (RGB), red-green-blue-alpha (RGBA), color index, luminance, and luminance alpha.
- 14. The method of claim 1 wherein said providing step comprises providing pixel values to said matrix.
- 15. The method of claim 1 further comprising the step of re-sizing said synthesized texture.
- 16. The method of claim 1 wherein said desired size is not a power of 2, further comprising the step of:
re-sizing said synthesized texture to a size that is a power of 2.
- 17. A system for generating a synthesized texture from a sample texture, said system comprising:
a first data structure defining said sample texture of a first plurality of values; a second data structure defining a texture of a second plurality of values, wherein at least a portion of said values of said second data structure are random and wherein at least a portion of said values of said second data structure represent a desired structure according to which graphical features are to substantially conform; and a texture synthesis algorithm, said texture synthesis algorithm being operable to utilize at least said first data structure and said second data structure to generate a synthesized texture having graphical features arranged therein in substantial conformance to said desired structure.
- 18. The system of claim 17 wherein said first data structure is of a first size and wherein said second data structure is of a second size.
- 19. The system of claim 17 wherein said at least a portion of said values of said second data structure comprises:
constant values arranged in said second data structure to represent said desired structure.
- 20. The system of claim 17 wherein said second data structure is populated with values from a pre-existing file comprising said at least a portion of said values that identify said desired structure.
- 21. The system of claim 17 wherein said sample texture comprises a parametric texture map (PTM) texture.
- 22. The system of claim 21 wherein said first plurality of values comprise texel values.
- 23. The system of claim 17 wherein said texture synthesis algorithm is operable to transform said second data structure into said synthesized texture.
- 24. The system of claim 23 wherein said second data structure has a size that is not a power of 2, and wherein said texture synthesis algorithm is further operable to re-size said synthesized texture to a size that is a power of 2.
- 25. The system of claim 17 wherein said texture synthesis algorithm is further operable to select a value from said second data structure, determine a first neighborhood of the selected value from said second data structure, compare said first neighborhood to neighborhoods of said first data structure to determine an optimal value of said first data structure, and assign said optimal value to the selected value of said second data structure.
- 26. The system of claim 17 wherein said texture synthesis algorithm is further operable to re-size said synthesized texture.
- 27. A system for synthesizing a texture of a desired size from a sample texture, said system comprising:
code for generating a matrix of said desired size; code for initializing said matrix with a plurality of values, wherein at least a portion of said values are random and wherein at least a portion of said values represent a desired structure according to which graphical features are to be arranged; and code for generating a synthesized texture of said desired size having graphical features arranged therein according to said desired structure.
- 28. The system of claim 27 wherein said code for initializing said matrix further comprises:
code for providing constant values to said matrix arranged therein to identify said desired structure.
- 29. The system of claim 27 wherein said code for initializing said matrix further comprises:
code for populating said matrix with values from a pre-existing file.
- 30. The system of claim 27 wherein said code for generating comprises:
code for transforming at least a portion of said values of said matrix such that said matrix defines said synthesized texture.
- 31. The system of claim 27 wherein said code for generating further comprises:
code for determining a first neighborhood of a selected value from said matrix; code for comparing said first neighborhood to neighborhoods of said sample texture to determine an optimal value of said sample texture; and code for assigning said optimal value of said sample texture to the selected value of said matrix.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to co-pending and commonly assigned U.S. patent application Ser. No. 09/528,700 filed Mar. 17, 2000, entitled “APPARATUS FOR AND METHOD OF RENDERING 3D OBJECTS WITH PARAMETRIC TEXTURE MAPS,” concurrently filed and commonly assigned U.S. patent application Ser. No. ______, entitled “SYSTEM AND METHOD FOR RENDERING A TEXTURE MAP UTILIZING AN ILLUMINATION MODULATION VALUE,” concurrently filed and commonly assigned U.S. patent application Ser. No. ______, entitled “SYSTEM AND METHOD FOR RENDERING DIGITAL IMAGES WITH SURFACE REFLECTANCE PROPERTIES,” and concurrently filed and commonly assigned U.S. patent application Ser. No. ______, entitled “SYSTEM AND METHOD FOR SYNTHESIS OF PARAMETRIC TEXTURE MAP TEXTURES,” the disclosures of which are hereby incorporated herein by reference.