Patent US5549622A successfully refreshed from Google Patents.
Patent US5900882A successfully refreshed from Google Patents.
US5900882A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Determining texture coordinates in computer graphics
Assignee: Samsung Electronics Co Ltd
•
Filing: 1996-11-15
•
Granted: 1999-05-04
•
Expires: 2016-11-15
Abstract
Abstract The texture coordinates (u,v) of a point Q' are determined by: (1) determining the modified texture coordinates (u',v')=(u/z,v/z) by linear interpolation, where z is a world coordinate; (2) determining 1/z by linear interpolation; and (3) dividing (u',v') by 1/z. The division is replaced with multiplying (u',v') by the inverse of 1/z. The inverse is obtained using a lookup table (LUT). The LUT stores inverses of a few values. Linear interpolation is applied to the LUT output to increase the inverse value accuracy.
Inventors
- 👤 Suk Choon Jee
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 17:31
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/40; G06T15/00; G06T15/04
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
339 words
A method for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, the method comprsing: obtaining signals representing a modified texture coordinate TC1' and a value w' such that TC1=TC1'/w'; providing the signal representing the value w' to a circuit which includes a look-up table storing inverses of selected values; the circuit obtaining an inverse value from the look-up table and using interpolation to generate an inverse value 1/w; the circuit multiplying the modified texture coordinate TC1' by 1/w and obtaining the texture coordinate TC1; using the texture coordinate TC1 to obtain a texel value, and using the texel value to modify an image of the point Q', and displaying the modified image of the point Q' on a computer device which displays computer graphics images; wherein: the point Q' is in a segment Q 1 'Q 2 ' which is an image of a segment Q 1 Q 2 , wherein Q 1 ' is the image of a point Q 1 having world coordinates (x 1 ,y 1 ,z 1 ), and Q 2 ' is the image of a point Q 2 having world coordinates (x 2 ,y 2 ,z 2 ), and wherein the point Q 1 ' has screen coordinates (x 1 /z 1 /y 1 /z 1 ) and the point Q 2 ' has screen coordinates (x 2 /z 2 , y 2 /z 2 ); w'=(1-t)/z 1 +t/z 2 wherein t is such that the point Q' has screen coordinates (1-t)*(x 1 /z 1 , y 1 /z 1 )+t(x 2 /z 2 , y 2 /z 2 ); TC1 is either the u coordinate or the v coordinate of the point Q'; and TC1' is either (1-t)u 1 /z 1 +tu 2 /z 2 or (1-t)v 1 /z 1 +tv 2 /z 2 , wherein (u 1 ,v 1 ) are texture coordinates of the point Q 1 ' and (u 2 ,v 2 ) are texture coordinates of the point Q 2 '.
Claim 2
Independent Claim
339 words
A method for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, the method comprsing: obtaining signals representing a modified texture coordinate TC1' and a value w' such that TC1=TC1'/w'; providing the signal representing the value w' to a circuit which includes a look-up table storing inverses of selected values; the circuit obtaining an inverse value from the look-up table and using interpolation to generate an inverse value 1/w; the circuit multiplying the modified texture coordinate TC1' by 1/w and obtaining the texture coordinate TC1; using the texture coordinate TC1 to obtain a texel value, and using the texel value to modify an image of the point Q', and displaying the modified image of the point Q' on a computer device which displays computer graphics images; wherein: the point Q' is in a segment Q 1 'Q 2 ' which is an image of a segment Q 1 Q 2 , wherein Q 1 ' is the image of a point Q 1 having world coordinates (x 1 ,y 1 ,z 1 ), and Q 2 ' is the image of a point Q 2 having world coordinates (x 2 ,y 2 ,z 2 ), and wherein the point Q 1 ' has screen coordinates (x 1 /z 1 /y 1 /z 1 ) and the point Q 2 ' has screen coordinates (x 2 /z 2 , y 2 /z 2 ); w'=(1-t)/z 1 +t/z 2 wherein t is such that the point Q' has screen coordinates (1-t)*(x 1 /z 1 , y 1 /z 1 )+t(x 2 /z 2 , y 2 /z 2 ); TC1 is either the u coordinate or the v coordinate of the point Q'; and TC1' is either (1-t)u 1 /z 1 +tu 2 /z 2 or (1-t)v 1 /z 1 +tv 2 /z 2 , wherein (u 1 ,v 1 ) are texture coordinates of the point Q 1 ' and (u 2 ,v 2 ) are texture coordinates of the point Q 2 '.
Claim 3
Dependent Claim
100 words
The method of claim 1 wherein: the look-up table stores inverses 1/w i for some values w i in a predetermined interval; the circuit generates the index i for the look-up table such that w i approximates w'*F wherein F is a factor such that w'*F is in the predetermined interval, and the circuit provides the index i to the look-up table; the circuit uses linear interpolation to generate the value 1/w from the output of the look-up table, wherein w=w'*F; and the circuit uses TC1' and 1/w to generate the signal TC1'*(1/(w/F)), this signal being the texture coordinate TC1.
Claim 4
Dependent Claim
28 words
The method of claim 2 wherein F=2 k for some non-negative integer k, and: to generate the signal TC1'*(1/(w/F)), the circuit shifts the product TC1'*(1/w) by k bits.
Claim 5
Dependent Claim
113 words
The method of claim 1 further comprising: the circuit generating the value t from the screen coordinates of the points Q 1 ', Q 2 ', Q'; the circuit generating the values (1-t)u 1 /z 1 +tu 2 /z 2 and (1-t)v 1 /z 1 +tv 2 /z 2 from t, u 1 /z 1 , u 2 /z 2 , v 1 /z 1 , v 2 /z 2 ; the circuit generating w' from t, 1/z 1 and 1/z 2 ; the circuit generating the texture coordinates TC1=u and TC1=v; and using the texture coordinates (u,v) to obtain a texel value, and using the texel value to display the point Q'.
Claim 6
Dependent Claim
157 words
The method of claim 1 wherein obtaining signals representing TC1' and w' comprises: a first circuit receiving signals representing the screen coordinates of the points Q', Q 1 ', Q 2 ' and generating signals representing the values t and 1-t; a second circuit receiving the signals representing t and 1-t from the first circuit and also receiving a signal representing at least one of the following pairs of values: (1) u 1 /z 1 and u 2 /z 2 ; (2) v 1 /z 1 and v 2 /z 2 , and generating said modified texture coordinate TC1'; a third circuit receiving the signals representing t, 1-t from the first circuit and also receiving signals representing the values 1/z 1 , 1/z 2 , and generating the value w'; and a circuit receiving the signal representing TC1' from the second circuit and the signal representing w' from the third circuit and generating a signal representing TC1.
Claim 7
Dependent Claim
53 words
The method of claim 1 further comprising: obtaining a signal representing a modified texture coordinate TC2' such that TC2=TC2'/w' and TC2is a texture coordinate of the point Q'; multiplying the modified texture coordinate TC2' by 1/w and obtaining the texture coordinate TC2; and using the texture coordinate TC2 to obtain said texel value.
Claim 8
Independent Claim
312 words
A system for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, the system comprising: a terminal for receiving signals representing a modified texture coordinate TC1' and a value w' such that TC1=TC1'/w'; a circuit connected to the terminal, for receiving the signal representing the value w', the circuit comprising a look-up table storing inverses of selected values, the circuit being for obtaining an inverse value from the look-up table and for using interpolation to generate an inverse value 1/w, and for multiplying the modified texture coordinate TC1' by 1/w and obtaining the texture coordinate TC1, wherein: the point Q' is in a segment Q 1 'Q 2 ' which is an image of a segment Q 1 Q 2 , wherein Q 1 ' is the image of a point Q 1 having world coordinates (x 1 , y 1 , z 1 ), and Q 2 ' is the image of a point Q 2 having world coordinates (x 2 , y 2 , z 2 ), and wherein the point Q 1 ' has screen coordinates (x1/z 1 , y 1 /z 1 ) and the point Q 2 ' has screen coordinates (x 2 /z 2 , y 2 /z 2 ); w'=(1-t)/z 1 +t/z 2 wherein t is such that the point Q' has screen coordinates (1-t)*(x 1 /z 1 , y 1 /z 1 )+t(x 2 /z 2 , y 2 /z 2 ); TC1 is either the u coordinate or the v coordinate of the point Q'; and TC1' is either (1-t)u 1 /z 1 +tu 2 /z 2 or (1-t)v 1 z 1 +tv 2 /z 2 , wherein (u 1 ,v 1 ) are texture coordinates of the point Q 1 ' and (u 2 ,v 2 ) are texture coordinates of the point Q 2 '.
Claim 9
Independent Claim
312 words
A system for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, the system comprising: a terminal for receiving signals representing a modified texture coordinate TC1' and a value w' such that TC1=TC1'/w'; a circuit connected to the terminal, for receiving the signal representing the value w', the circuit comprising a look-up table storing inverses of selected values, the circuit being for obtaining an inverse value from the look-up table and for using interpolation to generate an inverse value 1/w, and for multiplying the modified texture coordinate TC1' by 1/w and obtaining the texture coordinate TC1, wherein: the point Q' is in a segment Q 1 'Q 2 ' which is an image of a segment Q 1 Q 2 , wherein Q 1 ' is the image of a point Q 1 having world coordinates (x 1 , y 1 , z 1 ), and Q 2 ' is the image of a point Q 2 having world coordinates (x 2 , y 2 , z 2 ), and wherein the point Q 1 ' has screen coordinates (x1/z 1 , y 1 /z 1 ) and the point Q 2 ' has screen coordinates (x 2 /z 2 , y 2 /z 2 ); w'=(1-t)/z 1 +t/z 2 wherein t is such that the point Q' has screen coordinates (1-t)*(x 1 /z 1 , y 1 /z 1 )+t(x 2 /z 2 , y 2 /z 2 ); TC1 is either the u coordinate or the v coordinate of the point Q'; and TC1' is either (1-t)u 1 /z 1 +tu 2 /z 2 or (1-t)v 1 z 1 +tv 2 /z 2 , wherein (u 1 ,v 1 ) are texture coordinates of the point Q 1 ' and (u 2 ,v 2 ) are texture coordinates of the point Q 2 '.
Claim 10
Dependent Claim
96 words
The system of claim 7 wherein: the look-up table stores inverses 1/w i for some values w i in a predetermined interval; the circuit comprises circuitry for generating the index i for the look-up table such that w i approximates w'*F wherein F is a factor such that w'*F is in the predetermined interval; the circuit being for using linear interpolation to generate the value 1/w from the output of the look-up table, wherein w=w'*F, and the circuit being for using TC1' and 1/w to generate the signal TC1'*(1/(w/F)), this signal being the texture coordinate TC1.
Claim 11
Dependent Claim
32 words
The system of claim 8 wherein F=2 k for some non-negative integer k, and: the circuit includes a shifter for shifting the product TC1'*(1/w) by k bits to generate the signal TC1'*(1(w/F)).
Claim 12
Dependent Claim
119 words
The system of claim 7 wherein the circuit further comprises: circuitry for generating the value t from the screen coordinates of the points Q 1 ', Q 2 ', Q'; circuitry for generating the values (1-t)u 1 /z 1 +tu 2 /z 2 and (1-t)v 1 /z 1 +tv 2 /z 2 from t, u 1 /z 1 , u 2 /z 2 , v 1 /z 1 , v 2 /z 2 ; circuitry for generating w' from t, 1/z 1 and 1/z 2 ; circuitry for generating the texture coordinates TC1=u and TC1=v; and circuitry for receiving the texture coordinates (u, v), obtaining a texel value, and for using the texel value to display the point Q'.
Claim 13
Dependent Claim
70 words
The system of claim 7 wherein said circuit is also for receiving a signal representing a modified texture coordinate TC2' such that TC2=TC2'/w', wherein TC2is a texture coordinate of the point Q', and for rrultiplying the modified texture coordinate TC2' by 1/w and obtaining the texture coordinate TC2, wherein TC2' is either (1-t)u 1 /z 1 +tu 2 /z 2 or (1-t)v 1 /z 1 +tv 2 /z 2 .
Claim 14
Independent Claim
215 words
A system for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, wherein TC1=TC1'/w', wherein TC1 is a modified texture coordinate, the system comprising: a first lookup table storing inverse values 1/w i of selected values w i which are in a a normalizer for receiving the signal w' and generating an index i for the first lookup table to obtain the signal 1/w wherein w is in the predetermined interval and w=w'*F for some factor F; an interpolation circuit for receiving the signal 1/w i from the lookup table, performing an interpolation, and generating the signal 1/w; and a result generation circuit for generating the texture coordinate TC1 from TC1' and 1/w, wherein the interpolation circuit comprises: a second lookup table for storing the values 1(w i w i+1 ) and providing one of these values in response to the index i; a multiplier for receiving the value 1/(w i w i+1 ) and for receiving from the normalizer a signal representative of the value (w-w i ) and for generating a signal representative of the product (w-w i )*{1/(w i w i+1 )}; and a subtractor for subtracting the mulliplier output from the output 1/w i of the first lookup table and thus generating the signal 1/w.
Claim 15
Independent Claim
215 words
A system for obtaining a texture coordinate TC1 of a point Q' to be displayed by a computer, wherein TC1=TC1'/w', wherein TC1 is a modified texture coordinate, the system comprising: a first lookup table storing inverse values 1/w i of selected values w i which are in a a normalizer for receiving the signal w' and generating an index i for the first lookup table to obtain the signal 1/w wherein w is in the predetermined interval and w=w'*F for some factor F; an interpolation circuit for receiving the signal 1/w i from the lookup table, performing an interpolation, and generating the signal 1/w; and a result generation circuit for generating the texture coordinate TC1 from TC1' and 1/w, wherein the interpolation circuit comprises: a second lookup table for storing the values 1(w i w i+1 ) and providing one of these values in response to the index i; a multiplier for receiving the value 1/(w i w i+1 ) and for receiving from the normalizer a signal representative of the value (w-w i ) and for generating a signal representative of the product (w-w i )*{1/(w i w i+1 )}; and a subtractor for subtracting the mulliplier output from the output 1/w i of the first lookup table and thus generating the signal 1/w.
Claim 16
Dependent Claim
33 words
The system of claim 12 wherein the result generation circuit comprises: a multiplier for generating the product TC1'*(1/w); and a shifter for shifting the multiplier output by k bits wherein k=log 2 F.
Claim 17
Independent Claim
330 words
A method for generating an image of one or more objects by a computer graphics system, the one or more objects ircluding points Q 1 and Q 2 and a point Q in a segment Q 1 Q 2 , wherein the point Q, has world coordinates (x 1 , y 1 , z 1 ), the point Q 2 has world coordinates (x 2 , y 2 , z 2 ), and the point Q has world coordinates (x, y, z), the method comprising: obtaining first signals representing screen coordinates (x 1 ', y 1 ')=(x 1 /z 1 , y 1 /z 1 ) corresponding to the point Q 1 , screen coordinates (x 2 ', y 2 ')=(x 2 /z 2 , y 2 /z 2 ) corresponding to the point Q 2 , and screen coordinates (x', y')=(x/z, y/z) corresponding to the point Q; using the first signals to generate a second signal representing at least one of values t, 1-t such that: (x', y')=(1-t)*(x 1 ', y 1 ')+t(x 2 ', y 2 ') obtaining third signals representing modified texture coordinates TC1'=TC1 1 /z 1 , TC1 2 '=TC1 2 /z 2 , wherein TC 1 1 is a texture coordinate of the point Q 1 , and TC1 2 is a texture coordinate of the point Q 2 ; using the second and third signals to generate a fourth signal representing a value TC1'=(1-t)*TC1 1 '+t*TC1 2 '; obtaining fifth signals representing 1/z 1 and 1/z 2 ; using the second and fifth signals to generate a sixth signal representing a value w'=(1-t)/z 1 +t/z 2 ; using the fourth and sixth signals to generate a signal representing a value TC1=TC1'/w'; using TC1 as a texture coordinate of the point Q to determine a texture corresponding to the point Q, and modifying an image of the point Q with said texture, and displaying the modified image of the point Q on a computer device.
Claim 18
Independent Claim
330 words
A method for generating an image of one or more objects by a computer graphics system, the one or more objects ircluding points Q 1 and Q 2 and a point Q in a segment Q 1 Q 2 , wherein the point Q, has world coordinates (x 1 , y 1 , z 1 ), the point Q 2 has world coordinates (x 2 , y 2 , z 2 ), and the point Q has world coordinates (x, y, z), the method comprising: obtaining first signals representing screen coordinates (x 1 ', y 1 ')=(x 1 /z 1 , y 1 /z 1 ) corresponding to the point Q 1 , screen coordinates (x 2 ', y 2 ')=(x 2 /z 2 , y 2 /z 2 ) corresponding to the point Q 2 , and screen coordinates (x', y')=(x/z, y/z) corresponding to the point Q; using the first signals to generate a second signal representing at least one of values t, 1-t such that: (x', y')=(1-t)*(x 1 ', y 1 ')+t(x 2 ', y 2 ') obtaining third signals representing modified texture coordinates TC1'=TC1 1 /z 1 , TC1 2 '=TC1 2 /z 2 , wherein TC 1 1 is a texture coordinate of the point Q 1 , and TC1 2 is a texture coordinate of the point Q 2 ; using the second and third signals to generate a fourth signal representing a value TC1'=(1-t)*TC1 1 '+t*TC1 2 '; obtaining fifth signals representing 1/z 1 and 1/z 2 ; using the second and fifth signals to generate a sixth signal representing a value w'=(1-t)/z 1 +t/z 2 ; using the fourth and sixth signals to generate a signal representing a value TC1=TC1'/w'; using TC1 as a texture coordinate of the point Q to determine a texture corresponding to the point Q, and modifying an image of the point Q with said texture, and displaying the modified image of the point Q on a computer device.
Claim 19
Dependent Claim
78 words
The method of claim 14 wherein: the second signal is generated by a first circuit; the fourth signal is generated by a second circuit having an input connected to an output of the second circuit; the sixth signal is generated by a third circuit having an input connected to said output of the first circuit; and the signal representing TC1 is generated by a fourth circuit having inputs connected to the outputs of the second and third circuits.
Claim 20
Dependent Claim
118 words
The method of claim 14 further comprising: obtaining signals representing modified texture coordinates TC2 1 '=TC2 1 /z 1 , TC2 2 '=TC2 2 /z 2 , wherein TC2 1 is a texture coordinate of the point Q 1 , and TC2 2 is a texture coordinate of the point Q 2 ; using the signals representing TC2 1 ', TC2 2 ', and the second signals, to generate a signal representing a value TC2'=(1-t)*TC2 1 '+t*TC2 2 '; using the signal representing TC2' and the sixth signal representing W' to generate a signal representing a value TC2=TC2'/w'; and using TC2 as a texture coordinate Of the point Q to determine said texture corresponding to the point Q.
Claim 21
Dependent Claim
322 words
A computer graphics system comprising: a first circuit for receiving screen coordinates (x 1 ', y 1 ')=(x 1 /z 1 , y 1 /z 1 ) of a point Q 1 ', screen coordinates (x 2 ', y 2 ')=(x 2 /z 2 , y 2 /z 2 ) of a point Q 2 ', and screen coordinates (x', y') of a point Q' in a segment Q 1 'Q 2 ', wherein (x 1 , y 1 , z 1 ) are world coordinates of a point Q 1 and (x 2 , y 2 , z 2 ) are world coordinates of a point Q 2 , the first circuit being for generating a signal representing at least one of values t, 1-t such that: (x',y')=(1-t)(x 1 ', y 1 ')+t (x 2 ',y 2 '); a second circuit for receiving: (1) the signal representing at least one of t, 1-t from the first circuit; and (2) signals representing Modified texture coordinates TC1 1 ', TC1 2 ' of respective points Q 1 , Q 2 , wherein TC1 1 =TC1 1 /z 1 , TC1 2 '=TC1 2 /z 2 , and TC1 1 and TC1 2 are texture coordinates of respective points Q 1 , Q 2 , the second circuit being for generating a signal representing TC1'=(1-t)*TC1 1 '+t*TC1 2 '; a third circuit for receiving: (1) the signal representing that least one of t, 1-t from the first circuit, and (2) signals representing 1/z 1 , 1/z 2 , and for generating a signal representing w'=(1-t)/z 1 +t/z 2 ; and a fourth circuit for receiving: (1) the signal representing TC1' from the second circuit, and (2) the signal representing w' from the third circuit, and for generating a signal representing a value TC1=TC1'/w', and using the value TC1 as a texture coordinate to obtain a texture to modify an image at the point Q'.
Claim 22
Dependent Claim
322 words
A computer graphics system comprising: a first circuit for receiving screen coordinates (x 1 ', y 1 ')=(x 1 /z 1 , y 1 /z 1 ) of a point Q 1 ', screen coordinates (x 2 ', y 2 ')=(x 2 /z 2 , y 2 /z 2 ) of a point Q 2 ', and screen coordinates (x', y') of a point Q' in a segment Q 1 'Q 2 ', wherein (x 1 , y 1 , z 1 ) are world coordinates of a point Q 1 and (x 2 , y 2 , z 2 ) are world coordinates of a point Q 2 , the first circuit being for generating a signal representing at least one of values t, 1-t such that: (x',y')=(1-t)(x 1 ', y 1 ')+t (x 2 ',y 2 '); a second circuit for receiving: (1) the signal representing at least one of t, 1-t from the first circuit; and (2) signals representing Modified texture coordinates TC1 1 ', TC1 2 ' of respective points Q 1 , Q 2 , wherein TC1 1 =TC1 1 /z 1 , TC1 2 '=TC1 2 /z 2 , and TC1 1 and TC1 2 are texture coordinates of respective points Q 1 , Q 2 , the second circuit being for generating a signal representing TC1'=(1-t)*TC1 1 '+t*TC1 2 '; a third circuit for receiving: (1) the signal representing that least one of t, 1-t from the first circuit, and (2) signals representing 1/z 1 , 1/z 2 , and for generating a signal representing w'=(1-t)/z 1 +t/z 2 ; and a fourth circuit for receiving: (1) the signal representing TC1' from the second circuit, and (2) the signal representing w' from the third circuit, and for generating a signal representing a value TC1=TC1'/w', and using the value TC1 as a texture coordinate to obtain a texture to modify an image at the point Q'.
Claim 23
Dependent Claim
127 words
The system of claim 17 wherein: the second circuit is also for receiving signals representing modified texture coordinates TC2 1 ', TC2 2 ' of respective points Q 1 , Q 2 , wherein TC2 1 '=TC2 1 /z 1 , TC2 2 '=TC2 2 /z 2 , and TC2 1 and TC2 2 are texture coordinates of respective points Q 1 , Q 2 , the second circuit being also for generating a signal representing TC2'=(1-t)*TC2 1 '+t*TC2 2 '; and the fourth circuit is also for receiving the signal representing TC2' from the second circuit and for generating a signal representing a value TC2=TC2'/w', and using the value TC2 as a texture coordinate to obtain said texture to modify the image at the point Q'.
References Cited (Backward Citations)
US3748447A
Cited
US4779218A
Cited
US4838233A
Cited
US5012438A
Cited
US5594846A
Cited
US5704024A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-05-03 | 2002-11-02 | 2003-05-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-05-03 | 2006-11-02 | 2007-05-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-05-03 | 2010-11-02 | 2011-05-04 | $7700.00 | Window Closed / Lapsed |