Texture compositing apparatus and method

A texture compositing apparatus and method for combining multiple independent texture colors in a variety of ways in a single execution pass using a single texture compositing unit (TCU) per texture. The TCU receives a control signal, a blend factor, a local data signal(C.sub.local /A.sub.local), and an output data signal (C.sub.in /A.sub.in) generated by another TCU, the local data signal and the output data signal represent a texture color in a RGBA format. Based upon the control signal, the TCU can generate an output signal based on a variety of functions. The outputs that can be generated include but are not limited to: (1) zero; (2) one; (3) C.sub.in ; (4) C.sub.local ; (5) C.sub.in +C.sub.local ; (6) C.sub.in -C.sub.local ; (7) C.sub.in *C.sub.local ; (8) C.sub.in *C.sub.local +A.sub.local ; (9) C.sub.in *A.sub.local +C.sub.local ; (10) (C.sub.in -C.sub.local)*F.sub.blend +C.sub.local ; and (11) (C.sub.in -C.sub.local)*(1-F.sub.blend)+C.sub.local. Another feature of the invention is that multiple TCUs can be serially coupled to enable addition texture colors to be combined in a single execution path.

Skip to:  ·  Claims  ·  References Cited  · Patent History  ·  Patent History

Claims

1. An apparatus, receiving a plurality of texture signals each representing a texture, for combining signals representing at least three of said textures during a single pixel rendering pass, the apparatus comprising:

a first texture composite unit, disposed to receive a first texture signal and a second texture signal of said plurality of texture signal, said first and second texture signals representing independent texture, and a first control signal representing a first relationship between said first texture signal and said second texture signal, for combining said first texture signal and said second texture signal in accordance with said first relationship to generate a first output texture signal;
a second texture composite unit, disposed to receive said first output texture signal, a third texture signal of said plurality of texture signals, and second control signal representing a second relationship between said first output texture signal and said third texture signal, for combining said first output texture signal and said third texture signal in accordance with said second relationship to generate a second output texture signal, wherein said second output texture signal is generated from said first, second, and third texture signals in a single pixel rendering pass.

2. The apparatus of claim 1, wherein the first texture signal and the second texture signal include four texture component signals.

3. The apparatus of claim 2, wherein said four texture component signals include a red color signal, a green color signal, a blue color signal, and an alpha color signal.

4. The apparatus of claim 2, further comprising four texture combine subunits, each texture combine subunit associated with one of said four texture component signals, each of said texture combine subunits having said first blend factor determinator, said blending unit, and said addition unit.

5. The apparatus of claim 4, wherein each of said texture combine subunits receive a control signal, and performs one of the blend function and the add function in response to said control signal in a single pixel rendering pass.

6. The apparatus of claim 4, wherein two or more of said texture combine subunits receive a first control signal and performs one of the blend function and the add function in response to said first control signal in a single pixel rendering pass.

7. The apparatus of claim 1, wherein said second texture composite unit receives said first output texture signal directly from said first texture composite unit.

8. The apparatus of claim 7, wherein said first and second control signals are the same.

9. The apparatus of claim 7, wherein said first and second control signals are different.

10. The apparatus of claim 1, wherein additional texture composite units are sequentially connected such that one additional texture signal is combined by each additional texture composite unit during a single pixel rendering pass.

11. The apparatus of claim 1, wherein the first texture signal comprises a first texture color signal and a first texture alpha signal and said second texture signal comprises a second texture color signal and a second texture alpha signal, the apparatus further comprising:

a subtraction unit, having the first texture color signal and the second texture color signal as inputs, for subtracting said first texture color signal from said second texture color signal.

12. The apparatus of claim 11, further comprising:

a multiplication and add unit, for multiplying the second texture signal with one of said first texture color signal, said first texture alpha signal, said second texture alpha signal, and a level-of-detail signal, and adding one of said first texture color signal and a third signal.

13. The apparatus of claim 11, further comprising:

a multiplication unit, for multiplying said second texture color signal and one of said first texture color signal, said first texture alpha signal, said second texture alpha signal, and a level-of-detail signal.

14. The apparatus of claim 13, further comprising:

a constant generating unit, for generating a signal representing a predefined value.

15. The apparatus of claim 13, further comprising:

a pass-thru unit, coupled to said first texture signal, for outputting the first texture signal.

16. The apparatus of claim 1, further comprising a first storage unit coupled to said first texture composite unit and a second storage unit coupled to said second texture composite unit, said first storage unit storing a representation of a first mipmap level, said second storage unit storing a representation of a second mipmap level.

17. The apparatus of claim 16, wherein said blending factor is equal to a selected composite factor representing one of said first mipmap level and a mid-level mipmap level between said first mipmap level and said second mipmap level, the first texture color signal representing said first mipmap level, the second texture color signal representing said second mipmap level.

18. The apparatus of claim 1, wherein said first texture composite unit includes:

a first blend factor determinator, for determining a first blend factor, said first blend factor representing a blending relationship between said first texture signal and said second texture signal;
a first blending unit, coupled to said first blend factor determinator, for blending said first texture signal and said second texture signal based upon said first blend factor; and
a first addition unit, having the first texture signal and the second texture signal as inputs, for adding the first output texture signal and the second texture signal.

19. A computer based method for combining at least three texture signals, in a single pixel rendering pass, the computer having a first and second texture composite units, comprising the steps of:

receiving a first of said texture signals;
receiving a second of said texture signals, said first and second texture signals representing independent textures;
receiving a first control signal representing a first relationship between first texture signal and said second texture signal; and
combining said first texture signal and said second texture signal in accordance with said first relationship to generate a first output texture signal;
receiving a third of said texture signals;
receiving a second control signal representing a second relationship between said first output texture signal and said third texture signal;
combining said first output texture signal and said third texture signal in accordance with said second relationship to generate a second output texture signal;
wherein said second output texture signal is generated from said first, second, and third texture signals in a single pixel rendering pass.

20. The method of claim 19, wherein a second texture composite unit receives said first output texture signal directly from a first texture composite unit.

21. The method of claim 20, wherein said first and second control signals are the same.

22. The method of claim 20, wherein said first and second control signals are the different.

23. The method of claim 19, wherein additional texture composite units are sequentially connected to each other such that one additional texture is combined by each texture composite unit during a single pixel rendering pass.

24. The method of claim 19, wherein said second relationship can be represented by at least one of a blending operation, a multiplication operation, a subtraction operation, and an additional operation.

25. The method of claim 19, further comprising the steps of:

determining a blend factor representing a relationship between said first texture signal and the second texture signal; and
performing one of a blending operation and an addition operation in a single texture rendering pass in response to said second control signal, said blending operation combining said first texture signal and said second texture signal according to said blend factor, said addition operation adding said first texture signal to said second texture signal to generate said first texture output signal.

26. The method of claim 25, further comprising the step of:

performing a subtraction operation on said first texture signal and said second texture signal in response to said first control signal.

27. The method of claim 25, further comprising the step of:

performing a multiplication operation on said second texture color signal and one of said first texture color signal, said first texture alpha signal, said second texture alpha signal, and a level-of-detail signal in response to said first control signal.

28. The method of claim 25, further comprising the step of:

generating one of a binary one signal and a binary zero signal in response to said first control signal.
Referenced Cited
U.S. Patent Documents
4855934 August 8, 1989 Robinson
4974176 November 27, 1990 Buchner et al.
5063375 November 5, 1991 Lien et al.
5185856 February 9, 1993 Alcorn et al.
5268996 December 7, 1993 Steiner et al.
5327509 July 5, 1994 Rich
5361386 November 1, 1994 Watkins et al.
5422997 June 6, 1995 Nagashima
5438654 August 1, 1995 Drebin et al.
5459823 October 17, 1995 Silverbrook et al.
5463728 October 31, 1995 Blahut et al.
5469536 November 21, 1995 Blank
5471572 November 28, 1995 Buchner et al.
5544291 August 6, 1996 Gilley et al.
5548709 August 20, 1996 Hannah et al.
5579456 November 26, 1996 Cosman
5594854 January 14, 1997 Baldwin et al.
Other references
  • Williams. Lance, "Pyramidal Parameters", ACM Computer Graphics, vol. 17, No. 3, Jul. 1983. Herbert, "Survey of Texture Mapping", IEEE -Proc. Graphics Interface 86, Nov. 1986.
Patent History
Patent number: 5740343
Type: Grant
Filed: Nov 3, 1995
Date of Patent: Apr 14, 1998
Assignee: 3DFX Interactive, Incorporated (Mountain View, CA)
Inventors: Gary Tarolli (Concord, MA), Scott Sellers (Menlo Park, CA), James E. Margeson, III (Santa Clara, CA)
Primary Examiner: Joseph H. Feild
Assistant Examiner: Rudolph Buchel
Law Firm: Fenwick & West LLP
Application Number: 8/552,740
Classifications
Current U.S. Class: 395/130; 395/501; 395/506
International Classification: G06T 1140;