Source: http://www.google.ca/patents/US7307640
Timestamp: 2018-01-20 09:33:30
Document Index: 423988452

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60']

Patent US7307640 - Method and apparatus for efficient generation of texture coordinate ... - Google Patents
A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. The system includes a graphics and audio processor including a 3D graphics pipeline and an audio digital signal processor. Emboss style effects are created using fully pipelined...http://www.google.ca/patents/US7307640?utm_source=gb-gplus-sharePatent US7307640 - Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
Publication number US7307640 B2
Application number US 11/106,673
Also published as US6980218, US20050195210
Publication number 106673, 11106673, US 7307640 B2, US 7307640B2, US-B2-7307640, US7307640 B2, US7307640B2
Inventors Eric Demers, Mark M. Leather, Mark G. Segal
Patent Citations (106), Non-Patent Citations (99), Referenced by (36), Classifications (10), Legal Events (2)
Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US 7307640 B2
provisional Application No. 60/161,915, filed Oct. 28, 1999 and its corresponding utility application Ser. No. 09/465,754, filed Dec. 17, 1999, both entitled “Vertex Cache For 3D Computer Graphics”;
provisional Application No. 60/226,912, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,215, filed Nov. 28, 2000, both entitled “Method and Apparatus for Buffering Graphics Data in a Graphics System”;
provisional Application No. 60/226,889, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,419, filed Nov. 28, 2000, both entitled “Graphics Pipeline Token Synchronization”;
provisional Application No. 60/226,891, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,382, filed Nov. 28, 2000, both entitled “Method And Apparatus For Direct and Indirect Texture Processing In A Graphics System”;
provisional Application No. 60/226,888, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,367, filed Nov. 28, 2000, both entitled “Recirculating Shade Tree Blender For A Graphics System”;
provisional Application No. 60/226,893, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,381, filed Nov. 28, 2000, both entitled “Method And Apparatus For Environment-Mapped Bump-Mapping In A Graphics System”;
provisional Application No. 60/227,007, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,216, filed Nov. 28, 2000, both entitled “Achromatic Lighting in a Graphics System and Method”;
provisional Application No. 60/226,900, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,226, filed Nov. 28, 2000, both entitled “Method And Apparatus For Anti-Aliasing In A Graphics System”;
provisional Application No. 60/226,910, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,380, filed Nov. 28, 2000, both entitled “Graphics System With Embedded Frame Buffer Having Reconfigurable Pixel Formats”;
utility application Ser. No. 09/585,329, filed Jun. 2, 2000, entitled “Variable Bit Field Color Encoding”;
provisional Application No. 60/226,890, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,227, filed Nov. 28, 2000, both entitled “Method And Apparatus For Dynamically Reconfiguring The Order Of Hidden Surface Processing Based On Rendering Mode”;
provisional Application No. 60/226,915, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,212, filed Nov. 28, 2000, both entitled “Method And Apparatus For Providing Non-Photorealistic Cartoon Outlining Within A Graphics System”;
provisional Application No. 60/227,032, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,225, filed Nov. 28, 2000, both entitled “Method And Apparatus For Providing Improved Fog Effects In A Graphics System”;
provisional Application No. 60/226,885, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,664, filed Nov. 28, 2000, both entitled “Controller Interface For A Graphics System”;
provisional Application No. 60/227,033, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,221, filed Nov. 28, 2000, both entitled “Method And Apparatus For Texture Tiling In A Graphics System”;
provisional Application No. 60/226,899, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,667, filed Nov. 28, 2000, both entitled “Method And Apparatus For Pre-Caching Data In Audio Memory”;
provisional Application No. 60/226,913, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,378, filed Nov. 28, 2000, both entitled “Z-Textu ring”;
provisional Application No. 60/227,031, filed Aug. 23, 2000 entitled “Application Program Interface for a Graphics System”;
provisional Application No. 60/227,030, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,663, filed Nov. 28, 2000, both entitled “Graphics System With Copy Out Conversions Between Embedded Frame Buffer And Main Memory”;
provisional Application No. 60/226,886, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/722,665, filed Nov. 28, 2000, , both entitled “Method and Apparatus for Accessing Shared Resources”;
provisional Application No. 60/226,894, filed Aug. 23, 2000 and its corresponding utility application Ser. No. 09/726,220, filed Nov. 28, 2000, both entitled “Graphics Processing System With Enhanced Memory Controller”;
use of a texture-combining unit capable of performing texture subtraction in one pass,
use of texture combining for bump mapping that performs texture combining in texture hardware,
scaling of the binormals (Tangent and Binormal) by scaling a model view matrix and applying the model view matrix to the binormals,
computation of texture displacements using the Binormal and Tangent vectors but not the Normal input vector,
increased performance through use of two distinct dot product computation units (one dot unit performs model view matrix multiply, the second computes in parallel the dot products of the Tangent and Binormal with the light direction vector as well as the square of the light direction vector),
fully pipelined hardware can perform the necessary computations using a small number of distinct operations.
In accordance with one aspect of the present invention, a graphics rendering system is provided with enhanced vertex transformation and lighting (T&L) hardware that is capable of performing at least simple emboss-style bump-mapping in addition to the conventional T&L operations. This style of bump-mapping is useful when the surface geometry of an object is being animated. The vector geometry processing portion of the T&L hardware is enhanced to accommodate processing a transformation of object-space vertex surface binormals (i.e., the Tangent and Binormal vectors) to eye-space and the computation of a texture coordinate displacement based on light direction (light-to-vertex) vector dot products with the transformed binormals.
In this example, main processor 110 (e.g., an enhanced IBM Power PC 750) receives inputs from handheld controllers 108 (and/or other input devices) via graphics and audio processor 114. Main processor 110 interactively responds to user inputs, and executes a video game or other program supplied, for example, by external storage media 62 via a mass storage access device 50 106 50 such as an optical disk drive. As one example, in the context of video game play, main processor 110 can perform collision detection and animation processing in addition to a variety of interactive and control functions.
Command processor 200 performs command processing operations 200 a that convert attribute types to floating point format, and pass the resulting complete vertex polygon data to graphics pipeline 180 for rendering/rasterization. A programmable memory arbitration circuitry 130 (see FIG. 4) arbitrates access to shared main, memory 112 between graphics pipeline 180, command processor 200 and display controller/video interface unit 164.
Transform unit 300 performs a variety of 2D and 3D transform and other operations 300 a (see FIG. 5). Transform unit 300 may include one or more matrix memories 300 b for storing matrices used in transformation processing 300 a. Transform unit 300 transforms incoming geometry per vertex from object space to screen space; and transforms incoming texture coordinates and computes projective texture coordinates (300 c). Transform unit 300 may also perform polygon clipping/culling (300 d). Lighting processing 300 e also performed by transform unit 300 b provides per vertex lighting computations for up to eight independent lights in one example embodiment. As discussed herein in greater detail, Transform unit 300 also performs texture coordinate generation (300 c) for emboss-style bump mapping effects.
Texture unit 500 performs texture processing using both regular (non-indirect) and indirect texture lookup operations. A more detailed description of the example graphics pipeline circuitry and procedures for performing regular and indirect texture look-up operations is disclosed in commonly assigned co-pending patent application, Ser. No. 09/722,382, entitled “Method And Apparatus For Direct And Indirect Texture Processing In A Graphics System” and its corresponding provisional application, Ser. No. 60/226,891, filed Aug. 23, 2000, both of which are incorporated herein by reference.
[ Tx Ty Tz ] = ModuleViewNormalMatrix ( 3 x3 ) [ Txv Tyv Tzv ] [ Bx By Bz ] = ModelViewNormalMatrix ( 3 x3 ) [ Bxv Byv Bzv ]
L rot = [ Tx Ty Tz Bx By Bz ]
[ Lx Ly Lz ] = [ Vx - Lpx Vy - Lpy Vz - Lpz ]   [ Vx - Lpz Vy - Lpy Vz - Lpz ]  
[ Δ s Δ t ] = [ Tx Ty Tz Bx By Bz ] · [ Lx Ly Lz ]
Note that this preferred example algorithm does not use the Normal input vector to compute displacements. Only the Binormal and Tangent vectors are required. Other implementations specify a 3×3 matrix multiply including the eye-space Normal as an extra row.
[ S1 T1 ] = [ S0 + Δ s T0 + Δ t ] = [ S0 T0 ] + [ Tx Ty Tz Bx By Bz ] · [ Lx Ly Lz ]
Compute T eye =MV·T
Compute B eye =MV·B
Compute Teye·L
Compute Beye·L
Compute Δs=T·L/∥L∥
Compute Δt=B·L/∥L∥
vector dot-products between light direction vector L and each Binormal vector T and B; and
an L2 vector product from light direction vector L.
The L2 vector product is subsequently provided to inverse square-root computation unit 305 for computing an inverse magnitude value of the light direction vector. The Binormal and Tangent vector lighting dot-products T·L and B·L from dot unit 303 are provided to floating multiplier 306 along with the computed inverse magnitude value of the light direction vector from unit 305. Floating point multiplier 306 then computes the texture coordinate displacements ΔS and ΔT which are passed to floating point adder 308. Transformed texture coordinates S0 and T0 are provided per vertex to delay FIFO 307 and are passed in a timely fashion to floating point adder 308 for combination with computed coordinate displacements ΔS and ΔT. The new texture coordinates generated, S1 and T1, are then passed to a vertex buffer unit (not shown) within transform unit 300 and subsequently passed via graphics pipeline 180 to texture unit 500 for texture lookup. In the preferred embodiment, the texture combining unit used is capable of performing texture subtraction in one pass instead of multiple passes. The preferred texture combining operation does not use an accumulation buffer, but instead does texture combining in texture hardware.
Vector dot unit 303 includes floating multipliers 317, 318 and 319 and floating point adders 320 and 321 for computing vector dot products of the light direction vector and the Tangent and Binormal eye space vector components. Dot unit 303 may also include multiplexor 302 for receiving and staging light direction vector and transformed eye-space Tangent and Binormal vector data from floating point adder 304 and dot unit 301. Floating point multipliers 317 through 319 are used in combination with floating point adders 320 and 321 to provide a light direction vector squared product, L2, a Tangent lighting vector dot-product (T·L) and a Binormal lighting dot product (B·L) at the output of floating point adder 321. A table illustrating an example schedule of computational events for accomplishing emboss-style bump-mapping occurring per pipeline data clocking cycle/stage within Transform Unit 300 using dot unit 301 and dot unit 302 is provided immediately below:
Cycle # Vector Dot Unit #1 VFp Adder Vector Dot Unit #2
1 Load T
2 Txe = M0 · T
3 Tye = M1 · T
4 Tze = M2 · T
5 Load B
6 Bxe = M0 · B
7 Bye = M1 · B
8 Bze = M2 · B Lx = Vex − Lpx
9 Ly = Vey − Lpy
10 Lz = Vez − Lpz
11 Out Txe
12 Out Tye
13 Out Tze
14 Ld Teye, L
15 Out Bxe Out T · L; Ld L
16 Out Bye Out L2
17 Out Bze
18 Ld Beye
19 Out B · L
During relative cycles/stages numbered 1 through 8, the Tangent and vectors are loaded into dot unit 301 and the transforms to eye space are During cycles 9 through 11, light direction vector components Lx, Ly, an Lz are computed by floating point adder 304 using eye space vertex on components and negative signed light position components. During cycles 11-13, the computed Tangent vector eye space components are loaded into multiplexing/staging buffer 302. During Cycle 14, the computed light direction vector, L, and the computed Tangent eye space vector, Teye=(Txe, Tye, Tze), are loading into the vector dot unit 303 for computing the T·L dot product. On cycle 15, the computed light direction vector, L, is again loaded into the vector dot unit 303 to compute the light direction vector squared product, L2. Finally, the binormal eye space vector, Beye=(Bxe, Bye, Bze), is loaded on cycle 18 to compute the B·L dot product. The hardware described above is fully pipelined and can compute the required values in a minimal number of distinct operations.
GXTexCoord Dst_Coord; // name of generated texture coordinates
GxtexGenType Func; // coordinate generation function type
GXTexGenSrc Src_param; // Source parameters for coord generation
u32 MatIdx; // Texture Matrix Index.
translating emboss-style bump mapping commands into other graphics, API commands the graphics support hardware understands, or
implementing the bump mapping functions in software with a potential corresponding decrease in performance depending upon the speed of the processor, or
“stubbing” (i.e., ignoring) the bump mapping commands to provide a rendered image that does not include embossed effects.
While the FIG. 6 flowchart can be implemented entirely in software, entirely in hardware or by a combination of hardware and software, the preferred embodiment performs most of these calculations in hardware to obtain increased speed performance and other advantages. Nevertheless, in other implementations (e.g., where a very fast processor is available), the computations and steps of FIG. 6 may be implemented in software to provide similar or identical imaging results.
US4275413 3 Jul 1979 23 Jun 1981 Takashi Sakamoto Linear interpolator for color correction
US4357624 20 Mar 1981 2 Nov 1982 Combined Logic Company Interactive video production system
US4388620 5 Jan 1981 14 Jun 1983 Atari, Inc. Method and apparatus for generating elliptical images on a raster-type video display
US4425559 2 Jun 1980 10 Jan 1984 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4491836 13 Sep 1982 1 Jan 1985 Calma Company Graphics display system and method including two-dimensional cache
US4570233 1 Jul 1982 11 Feb 1986 The Singer Company Modular digital image generator
US4586038 12 Dec 1983 29 Apr 1986 General Electric Company True-perspective texture/shading processor
US4615013 2 Aug 1983 30 Sep 1986 The Singer Company Method and apparatus for texture generation
US4625289 9 Jan 1985 25 Nov 1986 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4653012 15 Aug 1984 24 Mar 1987 Marconi Avionics Limited Display systems
US4658247 30 Jul 1984 14 Apr 1987 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4692880 15 Nov 1985 8 Sep 1987 General Electric Company Memory efficient cell texturing for advanced video object generator
US4695943 27 Sep 1984 22 Sep 1987 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4710876 5 Jun 1985 1 Dec 1987 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US4725831 27 Apr 1984 16 Feb 1988 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4768148 27 Jun 1986 30 Aug 1988 Honeywell Bull Inc. Read in process memory apparatus
US4785395 27 Jun 1986 15 Nov 1988 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
US4790025 26 Sep 1985 6 Dec 1988 Dainippon Screen Mfg. Co., Ltd. Processing method of image data and system therefor
US4808988 13 Apr 1984 28 Feb 1989 Megatek Corporation Digital vector generator for a graphic display system
US4812988 29 Aug 1986 14 Mar 1989 U.S. Philips Corporation Processor for the elimination of concealed faces for the synthesis of images in three dimensions
US4817175 4 May 1987 28 Mar 1989 Schlumberger Systems And Services, Inc. Video stream processing system
US4829295 25 Mar 1987 9 May 1989 Namco Ltd. Image synthesizer
US4829452 5 Jul 1984 9 May 1989 Xerox Corporation Small angle image rotation using block transfers
US4833601 28 May 1987 23 May 1989 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4855934 3 Oct 1986 8 Aug 1989 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4862392 7 Mar 1986 29 Aug 1989 Star Technologies, Inc. Geometry processor for graphics display system
US4888712 4 Nov 1987 19 Dec 1989 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4897806 19 Jun 1985 30 Jan 1990 Pixar Pseudo-random point sampling techniques in computer graphics
US4907174 2 Jun 1988 6 Mar 1990 Sun Microsystems, Inc. Z-buffer allocated for window identification
US4914729 18 Feb 1987 3 Apr 1990 Nippon Gakki Seizo Kabushiki Kaisha Method of filling polygonal region in video display system
US4918625 18 Jul 1989 17 Apr 1990 Cae-Link Corporation Method and apparatus for processing translucent objects
US4935879 5 Aug 1988 19 Jun 1990 Daikin Industries, Ltd. Texture mapping apparatus and method
US4945500 20 Nov 1989 31 Jul 1990 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US4965751 18 Aug 1987 23 Oct 1990 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US4974176 18 Dec 1987 27 Nov 1990 General Electric Company Microtexture for close-in detail
US4974177 14 Jun 1989 27 Nov 1990 Daikin Industries Ltd. Mapping circuit of a CRT display device
US4975977 28 Nov 1989 4 Dec 1990 Hitachi, Ltd. Rotation processing method of image and system therefor
US4989138 14 May 1990 29 Jan 1991 Tektronix, Inc. Single bus graphics data processing pipeline with decentralized bus arbitration
US5003496 26 Aug 1988 26 Mar 1991 Eastman Kodak Company Page memory control in a raster image processor
US5016183 13 Sep 1988 14 May 1991 Computer Design, Inc. Textile design system and method
US5018076 16 Sep 1988 21 May 1991 Chips And Technologies, Inc. Method and circuitry for dual panel displays
US5043922 7 Sep 1989 27 Aug 1991 International Business Machines Corporation Graphics system shadow generation using a depth buffer
US5056044 8 Aug 1990 8 Oct 1991 Hewlett-Packard Company Graphics frame buffer with programmable tile size
US5062057 9 Dec 1988 29 Oct 1991 E-Machines Incorporated Computer display controller with reconfigurable frame buffer memory
US5086495 16 Dec 1988 4 Feb 1992 International Business Machines Corporation Solid modelling system with logic to discard redundant primitives
US5097427 26 Mar 1991 17 Mar 1992 Hewlett-Packard Company Texture mapping for computer graphics display controller system
US5136664 23 Feb 1988 4 Aug 1992 Bersack Bret B Pixel rendering
US5144291 2 Nov 1987 1 Sep 1992 Matsushita Electric Industrial Co., Ltd. Means for eliminating hidden surface
US5163126 10 May 1990 10 Nov 1992 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
US5170468 18 Aug 1987 8 Dec 1992 Hewlett-Packard Company Graphics system with shadow ram update to the color map
US5179638 26 Apr 1990 12 Jan 1993 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5204944 28 Jul 1989 20 Apr 1993 The Trustees Of Columbia University In The City Of New York Separable image warping methods and systems using spatial lookup tables
US5224208 16 Mar 1990 29 Jun 1993 Hewlett-Packard Company Gradient calculation for texture mapping
US5239624 17 Apr 1991 24 Aug 1993 Pixar Pseudo-random point sampling techniques in computer graphics
US5241658 21 Aug 1990 31 Aug 1993 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
US5255353 20 Apr 1992 19 Oct 1993 Ricoh Company, Ltd. Three-dimensional shadow processor for an image forming apparatus
US5268996 20 Dec 1990 7 Dec 1993 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5278948 21 Aug 1992 11 Jan 1994 International Business Machines Corporation Parametric surface evaluation method and apparatus for a computer graphics display system
US5307450 28 Sep 1993 26 Apr 1994 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
US5315692 18 Aug 1992 24 May 1994 Hughes Training, Inc. Multiple object pipeline display system
US5345541 20 Dec 1991 6 Sep 1994 Apple Computer, Inc. Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
US5357579 15 Jul 1993 18 Oct 1994 Martin Marietta Corporation Multi-layer atmospheric fading in real-time computer image generator
US5361386 17 Aug 1993 1 Nov 1994 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
US5363475 5 Dec 1989 8 Nov 1994 Rediffusion Simulation Limited Image generator for generating perspective views from data defining a model having opaque and translucent features
US5377313 29 Jan 1992 27 Dec 1994 International Business Machines Corporation Computer graphics display method and system with shadow generation
US5392385 22 May 1992 21 Feb 1995 International Business Machines Corporation Parallel rendering of smoothly shaped color triangles with anti-aliased edges for a three dimensional color display
US5392393 4 Jun 1993 21 Feb 1995 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5394516 28 Jun 1991 28 Feb 1995 U.S. Philips Corporation Generating an image
US5402532 30 Sep 1994 28 Mar 1995 International Business Machines Corporation Direct display of CSG expression by use of depth buffers
US5404445 31 Oct 1991 4 Apr 1995 Toshiba America Information Systems, Inc. External interface for a high performance graphics adapter allowing for graphics compatibility
US5412796 22 Apr 1991 2 May 1995 Rediffusion Simulation Limited Method and apparatus for generating images simulating non-homogeneous fog effects
US5416606 23 Sep 1994 16 May 1995 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding an image in accordance with image characteristics
US5421028 31 Mar 1994 30 May 1995 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
US5422997 9 Jul 1993 6 Jun 1995 Kabushiki Kaisha Toshiba Texture address generator, texture pattern generator, texture drawing device, and texture address generating method
US5432895 1 Oct 1992 11 Jul 1995 University Corporation For Atmospheric Research Virtual reality imaging system
US5438663 12 Nov 1993 1 Aug 1995 Toshiba America Information Systems External interface for a high performance graphics adapter allowing for graphics compatibility
US5448689 28 Apr 1994 5 Sep 1995 Hitachi, Ltd. Graphic data processing system
US5457775 15 Sep 1993 10 Oct 1995 International Business Machines Corporation High performance triangle interpolator
US5461712 18 Apr 1994 24 Oct 1995 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5467438 24 May 1993 14 Nov 1995 Matsushita Electric Industrial Co., Ltd. Method and apparatus for compensating for color in color images
US5467459 2 Aug 1993 14 Nov 1995 Board Of Regents Of The University Of Washington Imaging and graphics processing system
US5473736 26 Apr 1993 5 Dec 1995 Chroma Graphics Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects
US5475803 10 Jul 1992 12 Dec 1995 Lsi Logic Corporation Method for 2-D affine transformation of images
US5487146 8 Mar 1994 23 Jan 1996 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5490240 9 Jul 1993 6 Feb 1996 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
US5495563 15 Jan 1991 27 Feb 1996 U.S. Philips Corporation Apparatus for converting pyramidal texture coordinates into corresponding physical texture memory addresses
US5504499 29 Jun 1993 2 Apr 1996 Hitachi, Ltd. Computer aided color design
US5504917 14 Jan 1994 2 Apr 1996 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US6163319 * 9 Mar 1999 19 Dec 2000 Silicon Graphics, Inc. Method, system, and computer program product for shading
US6392655 * 7 May 1999 21 May 2002 Microsoft Corporation Fine grain multi-pass for multiple texture rendering
3 "Cartoon Shading, Using Shading Mapping," 1 page, http://www.goat.com/alias/shaders.thm#toonshad.
5 "Developer's Lair, Multitexturing with the ATI Rage Pro," (7 pages0 from ati.com web site (2000).
8 "OpenGL Projected Textures," from web site:HTTP:// reality.sgi.com, 5 pages.
10 "Skeletal Animation and Skinning," fron ATI.com web site, 2 pages (Summer 2000).
11 10.2 Alpha Blending, http://www.sgi.com/software/opengl/advaned98/notes/node146.html.
12 10.3 Sorting, http://www.sgi.com/software/opengl/advanced98/notes/node147.html.
13 10.4 Using the Alpha Function, http://www.sgi.com/software/opengl/advanced98/notes/node148.html.
14 Akeley, Kurt, "Reality Engine Graphics", 1993, Silicon Graphics Computer Systems, pp.109-116.
15 Alpha (transparency) Effects, Future Technology Research Index, http://www.futuretech.vuurwerk.n1/alpha.html.
16 Arkin, Alan, email, subject: "Texture distortion problem," from web site: HTTP://reality.sgi.com (Jul. 1997).
17 Blythe, David, 5.6 Transparency Mapping and Trimming with Alpha, http://toolbox.sgi.com/TasteOfDT/d...penGL/advanced98./notes/nodes41.html, Jun. 11, 1998.
18 Cambridge Amino-Scene III, infor Sheet, Cambridge Animation Systems, 2 pages, http://www.cam-ani.co.uk/casweb/products/software/Scenelll.htm.
19 Computer Graphics World, Dec. 1997.
20 Datasheet, SGS-Thomson Microelectronic, nVIDIA(TM), RIVA 128(TM) 128-Bit 3D Multimedia Accelerator (Oct. 1997).
21 Debevec, Paul, et al., "Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping," University of California at Berkeley.
22 Decaudin, Philippe, "Cartoon-Looking Rendering of 3D Scenes," Syntim Project Inria, 6 pages , http://www-syntim.inria.fr/syntim/recherche/decaudin/cartoon-eng.html.
23 Digimation Inc., "The Incredible Comicshop," infor sheet, 2 pages, http://www.digimation.com/asp/product/asp?product<SUB>-</SUB>id=33.
24 Efficient Command/Data Interface Protocol For Grahics, IBM TDB, vol. 36, issue 9A, Sep. 1, 1993, pp. 307-312.
25 Elber, Gershon, "Line Art Illustrations of Parametric and Implicit Forms," IEEE Transactions on Visualization and Computer Graphics, vol. 4, No. 1, Jan.-Mar. 1998.
26 Feth, Bill, "Non-Photorealistic Rendering," wif3@cornell.edu, CS490-Bruce Land, 5 pages (Spring 1998).
27 Gibson, Simon, et al., "Interactive Rendering with Real-World Illumination," Rendering Techniques 2000; 11th Eurographics Workshop on Rendering, pp. 365-376 (Jun. 2000).
28 Hachigian, Jennifer, "Super Cel Shader 1.00 Tips and Tricks,"2 pages, wysiwyg://thePage.13/http://members.xoom.com/<SUB>-</SUB>XMCM.jarvia/3D/celshade.html.
29 Haeberli, Paul et al., "Texture Mapping as a Fundamental Drawing Primitive," Proceedings of the Fourth Eurographics Workshop on Rendering, 11 pages, Paris, France (Jun. 1993).
30 Hart, Evan et al., "Grahpics by rage," Game Developers Conference 2000, from ATI.com web site (2000).
31 Hart, Evan et al., "Vertex Shading with Direct3D and OpenGL," Game Developers Conference 2001, from ATI.com web site (2001).
32 Heidrich et al., "Applications of Pixel Textures in Visualization and Realistic Image Synthesis," Proceedings 1999 Symposium On Interactive 3D Graphics, pp. 127-134 (Apr. 19990.
33 Hook, Brian, "An Incomplete Guide to Programming DirectDraw and Direct3D Immediate Mode (Release 0.46)," printed from web site: www.wksoftware.com, 42 pages.
34 Hoppe, Hugues, "Optimization of Mesh Locality for Transparent Vertex Caching," Proceedings of Siggraph, pp. 269-276 (Aug. 8-13, 1999).
35 Hourcade et al, "Algorithms for Antialised Cast Shadows", Computers and Graphics, vol. 9, No. 3, pp. 260-265 (19850.
36 INFO: Rendering a Triangle Using an Execute Buffer, printed from web site support.microsoft.com, 6 pages (last reviewed Oct. 20, 2000).
37 Markosian, Lee et al., "Real-Time Nonphotorealistic Rendering," Brown University site of the NSF Science and Technology Center for Computer Graphics and Scientific Visualization, Providence, RI, 5 pages (undated).
38 Michael McCool, "Shadow Volume Reconstruction from Depth Maps", ACM Transactions on Graphics, vol. 19, No. 1, Jan. 2000, pp. 1-26.
39 Mitchell et al., "Multitexturing in DirectX6", Game Developer, Sep. 1998, www.gdmag.com.
40 Moller, Tomas et al., "Real-Time Rendering," pp. 179-183 (AK Peter Ltd., 1999).
41 Mulligan, Vikram, Toon, info sheet, 2 pages, http://digitalcarversguild.com/products/toon/toon.thml.
42 NVIDIA.com, technical presentation, "Advanced Pixel Shader Details" (Nov. 10, 2000).
43 NVIDIA.com, technical presentation, "AGDC Per-Pixel Shading" (Nov. 15, 2000).
44 NVIDIA.com, technical presentation, Introduction to DX8 Pixel Shaders (Nov. 10, 2000).
45 Peter J. Kovach, Inside Direct 3D, "Alpha Testing," pp. 289-291 (19990.
46 Photograph of Nintendo 64 System.
47 Photograph of Sega Dreamcast System.
48 Photograph of Sony PlayStation II System.
49 Press Releases, "ATI's Radeon family of products delivers the most comprehensive support for the advance graphics features of DirectX 8.0," Canada, from ATI.com web site, 2 pages (Nov. 9, 20000.
50 Product Presentation, "RIVIA128(TM) Leadership 3D Accelaration," 2 pages.
51 Raskar, Ramesh et al., "Image Precision Silhouette Edges," Symposium on Interactive 3D Graphics 1999, Atlanta, 7 pages (Apr. 26-29, 1999).
52 Render Man Artist Tools, Using Arbitrary Output Variable in Photorealistic Renderman (With Applications(, PhotoRealistic Renderman Application Note #24, 8 pages, Jun. 1998, http://www.pixar.com/products/renderman/toolkit/Toolkit/AppNotes/appnote.24.html.
53 RenderMan Artist Tools, PhotoRealistic RenderMan 3.8 User's Manual, Pixar (Aug. 19980.
54 RenderMan Interface Version 3.2 (Jul. 2000).
55 Reynolds, Craig, "Stylized Depiction in Computer Graphics, Non-Photorealistic, Painterly and 'Toon Rendering," and annotated survey of online resources, 13 pages, last update May 30, 2000, http://www.red.com/cwr/painterly.html.
56 Schlechtweg, Stefan et al., "Emphasising in Line-drawings," Norsk samarbeid innen grafisk databehandling: NORSIGD Info, medlemsblad for NORSIGD, Nr 1/95, pp. 9-10.
57 Schlechtweg, Stefan et al., Rendering Line-Drawings with Limited Resources, Proceedings of GRAPHICON '96, 6th International Conferenceand Exhibition on Computer Graphics and Visualization in Russia, (St. Petersburg, Jul. 1-5, 1996) vol. 2, pp. 131-137.
58 Search Results for: skinning, from ATI.com web site, 5 pages (May 24, 2001).
59 Segal, Mark, et al., "Fast Shadows and Lighting Effects Using Texture Mapping," Computer Graphics, 26, 2, pp. 249-252 (Jul. 1992).
60 Shade, Jonathan et al., "Layered Depth Images," Computer Graphics Proceedings, Annual Conference Series, pp. 231-242 (1998).
61 Singh, Karan et al., "Skinning Characters using Surface-Oriented Free-Form Deformations," Toronto Canada.
62 Slide Presentation, Sébastien Dominé, "nVIDIA Mesh Skinning, OpenGI".
63 Softimage/3D Full Support, "Toon Assistant," 1998 Avid Technology, inc., 1 page, http://www.softimage.com/3dsupport/techn...uments/3.8/features3.8/rel<SUB>-</SUB>notes.56.html.
64 Technical Brief: What's New With Microsoft DirectX7, posted Nov. 10, 1999, www.nvidia.com.
65 Technical Brief; Transform and Lighting, Nov. 10, 1999, www.nvidia.com.
66 The RenderMan Interface Version 3.1, (Sep. 1989).
67 Thompson, Nigel, "Rendering with Immediate Mode," Microsoft Interactive Developer Column: Fun and Games, printed from web site msdn.microsoft.com, 8 pages (Mar. 97).
68 Thompson, Tom, "Must-See 3-D Engines," Byte Magazine, printed from web site www.byte.com, 10 pages (Jun. 1996).
69 Toony Shaders, "Dang I'm tired of photorealism," 4 pages, http://www.visi.com/~mcdonald/toony.html.
70 U.S. Appl. No. 09/337,293, filed Jun. 21, 1999, Multi-Format Vertex Data Processing Apparatus and Method [issued as U.S. Patent No. 6,501,479 B1 on Dec. 31, 2002].
71 Videum Conference Pro (PCI) Specification, product of Winnov (Winnov), published Jul. 21, 1999.
72 VIDI Presenter 3D Repository, "Shaders." 2 pages, http://www.webnation.com/vidirep/panels/renderman/shaders/toon.phtml.
73 web site information, CartoonReyes, http://www.zentertainment.com/zentropy/review/cartoonreyes.html.
74 Web site materials, "Renderman Artist Tools, PhotoRealistic RenderMan 3.8 User'r Manual," Pixar.
75 White paper, Dietrich, Sim, "Cartoon Rendering and Advanced Texture Features of the GeForce 256 Texture Matrix, Projective Textures, Cube Maps, Texture Coordinate Generation and DOTPRODUCT3 Texture Blending" (Dec. 16, 1999).
76 White paper, Huddy, Richard, "The Efficient Use of Vertex Buffers," (Nov. 1, 2000).
77 White paper, Kilgard, Mark J., "Improving Shadows and Reflections via the Stencil Buffer" (Nov. 3, 1999).
78 White paper, Rogers, Douglas H., "Optimizing Direct3D for the GeForce 256" (Jan. 3, 2000).
79 White paper, Spitzer, John, et al., "Using GL<SUB>-</SUB>NV<SUB>-</SUB>array<SUB>-</SUB>range and GL<SUB>-</SUB>NV<SUB>-</SUB>Fence on GEForce Products and Beyond" (Aug. 1, 2000).
80 Whitepaper: "Z Buffering, Interpolation and More W-Buffering", Doug Rogers, Jan. 31, 2000, www.nvidia.com.
81 Whitepaper: 3D Graphics Demystified, Nov. 11, 1999, www.nvidia.com.
82 Whitepaper: Anisotropic Texture Filtering in OpenGL, posted Jul. 17, 2000, www.nvidia.com.
83 Whitepaper: Color Key in D3D, posted Jan. 11, 2000, www.nvidia.com.
84 Whitepaper: Cube Environment Mapping, posted Jan. 14, 2000, www.nvidia.com.
85 Whitepaper: Dot Product Texture Blending, Dec. 3, 1999, www.nvidia.com.
86 Whitepaper: Implementing Fog in Direct3D, Jan. 3, 2000, www.nvidia.com.
87 Whitepaper: Mapping Texels to Pixels in D3D, posted Apr. 5, 2000, www.nvidia.com.
88 Whitepaper: Optimizing Direct3D for the GeForce 256, Jan. 3, 2000, www.nvidia.com.
89 Whitepaper: Using GL<SUB>-</SUB>NV<SUB>-</SUB>vertex<SUB>-</SUB>array and GL<SUB>-</SUB>NV<SUB>-</SUB>fence, posted Aug. 1, 2000, www.nvidia.com.
90 Whitepaper: Vertex Blending Under DX7 for the GeForce 256, Jan. 5, 2000, www.nvidia.com.
91 Whitepaper; Guard Band Clipping, posted Jan. 31, 2000, www.nvidia.com.
92 Whitepaper; Technical Brief: AGP 4X with Fast Writes, Nov. 10, 1999, www.nvidia.com.
93 Whitepapers: "Texture Addressing," Sim Dietrich, Jan. 6, 2000, www.nvidia.com.
94 Williams, Lance, "Casting Curved Shadows on Curved Surfaces," Computer Graphics (SIGGRAPH '78 Proceedings), vol. 12, No. 3, pp. 270-274 (Aug. 1978).
95 Winner, Stephanie, et al., "Hardware Acceleraed Rendering Of Antialiasing Using A Modified A-buffer Algorithm," Computer Graphics Proceedings, Annual Conference Series, 1997, pp. 307-316.
96 Woo et al., "A Survey of Shadow Algorithms," IEEE Computer Graphics and Applications, vol. 10, No. 6, pp.13-32 (Nov. 1990).
97 ZDNet Review, from PC Magazine, "Screen Shot of Alpha-channel Transparency," Jan. 15, 1999, wysiwyg://16/http://www4.zdnet.com...ies/reviews/0,4161,2188286,00.html.
98 ZDNet Reviews, from PC Magazine, "Othe Enhancements," Jan. 15, 1999, wysiwyg://16/http://wwzdnet.com...ies/reviews/0,4161,2188286,00.html.
99 Zeleznik, Robert et al."SKETCH: An Interface for Sketching 3D Scenes," Computer Graphics Proceedings, Annual Conference Series 1996, pp. 163-170.
US8134551 29 Feb 2008 13 Mar 2012 Autodesk, Inc. Frontend for universal rendering framework
US8212806 8 Apr 2008 3 Jul 2012 Autodesk, Inc. File format extensibility for universal rendering framework
US8479150 * 13 Aug 2009 2 Jul 2013 Accenture Global Services Limited Compositional modeling of integrated systems using event-based legacy applications
US8560957 13 Oct 2008 15 Oct 2013 Autodesk, Inc. Data-driven interface for managing materials
US8584084 12 Nov 2008 12 Nov 2013 Autodesk, Inc. System for library content creation
US8601398 13 Oct 2008 3 Dec 2013 Autodesk, Inc. Data-driven interface for managing materials
US8667404 6 Aug 2008 4 Mar 2014 Autodesk, Inc. Predictive material editor
US8970584 24 Jun 2011 3 Mar 2015 Nvidia Corporation Bounding box-based techniques for improved sample test efficiency in image rendering
US9142043 24 Jun 2011 22 Sep 2015 Nvidia Corporation System and method for improved sample test efficiency in image rendering
US9147270 24 Jun 2011 29 Sep 2015 Nvidia Corporation Bounding plane-based techniques for improved sample test efficiency in image rendering
US9153068 24 Jun 2011 6 Oct 2015 Nvidia Corporation Clipless time and lens bounds for improved sample test efficiency in image rendering
US9159158 19 Jul 2012 13 Oct 2015 Nvidia Corporation Surface classification for point-based rendering within graphics display system
US9171394 19 Jul 2012 27 Oct 2015 Nvidia Corporation Light transport consistent scene simplification within graphics display system
US9269183 29 Sep 2011 23 Feb 2016 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US9305394 3 May 2012 5 Apr 2016 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
US9342901 27 Oct 2008 17 May 2016 Autodesk, Inc. Material data processing pipeline
US9460546 30 Mar 2011 4 Oct 2016 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US9471996 * 29 Feb 2008 18 Oct 2016 Autodesk, Inc. Method for creating graphical materials for universal rendering framework
US20090219284 * 29 Feb 2008 3 Sep 2009 Jerome Maillot Frontend for universal rendering framework
US20090222469 * 29 Feb 2008 3 Sep 2009 Jerome Maillot Method for creating graphical materials for universal rendering framework
US20090251478 * 8 Apr 2008 8 Oct 2009 Jerome Maillot File Format Extensibility For Universal Rendering Framework
US20100037205 * 6 Aug 2008 11 Feb 2010 Jerome Maillot Predictive Material Editor
US20100095230 * 13 Oct 2008 15 Apr 2010 Jerome Maillot Data-driven interface for managing materials
US20100095247 * 13 Oct 2008 15 Apr 2010 Jerome Maillot Data-driven interface for managing materials
US20100103171 * 27 Oct 2008 29 Apr 2010 Jerome Maillot Material Data Processing Pipeline
US20100122243 * 12 Nov 2008 13 May 2010 Pierre-Felix Breton System For Library Content Creation
US20100321391 * 19 Jun 2009 23 Dec 2010 Microsoft Corporation Composing shapes and data series in geometries
US20100325564 * 19 Jun 2009 23 Dec 2010 Microsoft Corporation Charts in virtual environments
US20100325578 * 19 Jun 2009 23 Dec 2010 Microsoft Corporation Presaging and surfacing interactivity within data visualizations
US20110041117 * 13 Aug 2009 17 Feb 2011 Accenture Global Services Gmbh Compositional modeling of integrated systems using event-based legacy applications
U.S. Classification 345/584, 345/582, 345/427, 345/419
International Classification G06T15/04, G06T3/00, G06T1/20, G09G5/00