![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
( 9 of 30 ) |
United States Patent | 6,664,958 |
Leather , et al. | December 16, 2003 |
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. The same texture mapping hardware used for color texturing provides resampled z texturing for sprites with depth or other applications. A z blender performs a z blending operation in screen space to blend surface z values with z texel values to provide per-pixel mapping of resampled z textures onto sampled 3D surface locations. Z texels can represent absolute depths or depth displacements relative to primitive surface depth. The z texel values may add to or replace primitive surface z values, and a constant bias may be added if desired. The resulting depth values are used for occlusion testing. Z textures can be generated by copying out portions of an embedded z buffer and providing the copied depth values to the texture mapping hardware. Multiple z texel formats are supported.
Inventors: | Leather; Mark M. (Saratoga, CA); DeLaurier; Anthony P. (Sunnyvale, CA); Law; Patrick Y. (Milpitas, CA); Drebin; Robert A. (Palo Alto, CA); Cheng; Howard (Sammamish, WA); Moore; Robert (Heathrow, FL) |
Assignee: | Nintendo Co., Ltd. (Kyoto, JP) |
Appl. No.: | 722378 |
Filed: | November 28, 2000 |
Current U.S. Class: | 345/422; 345/421; 345/428; 345/581; 345/582; 345/587 |
Intern'l Class: | G06T 015/40 |
Field of Search: | 345/419,581,582,421,422,587,506,589,606,427,428,552 |
4388620 | Jun., 1983 | Sherman. | |
4425559 | Jan., 1984 | Sherman. | |
4570233 | Feb., 1986 | Yan et al. | |
4658247 | Apr., 1987 | Gharachorloo. | |
4725831 | Feb., 1988 | Coleman. | |
4829295 | May., 1989 | Hiroyuki. | |
4855934 | Aug., 1989 | Robinson. | |
4862392 | Aug., 1989 | Steiner. | |
4866637 | Sep., 1989 | Gonzalez-Lopez et al. | |
4901064 | Feb., 1990 | Deering. | |
4914729 | Apr., 1990 | Omori et al. | |
4945500 | Jul., 1990 | Deering. | |
5136664 | Aug., 1992 | Bersack et al. | |
5170468 | Dec., 1992 | Shah et al. | |
5392385 | Feb., 1995 | Evangelisti et al. | |
5392393 | Feb., 1995 | Deering. | |
5421028 | May., 1995 | Swanson. | |
5457775 | Oct., 1995 | Johnson, Jr. et al. | |
5504917 | Apr., 1996 | Austin. | |
5594854 | Jan., 1997 | Baldwin et al. | |
5608424 | Mar., 1997 | Takahashi et al. | |
5687357 | Nov., 1997 | Priem. | |
5701444 | Dec., 1997 | Baldwin. | |
5721947 | Feb., 1998 | Priem et al. | |
5727192 | Mar., 1998 | Baldwin. | |
5751291 | May., 1998 | Olsen et al. | |
5758182 | May., 1998 | Rosenthal et al. | |
5764243 | Jun., 1998 | Baldwin. | |
5768626 | Jun., 1998 | Munson et al. | |
5768629 | Jun., 1998 | Wise et al. | |
5774133 | Jun., 1998 | Neave et al. | |
5777629 | Jul., 1998 | Baldwin. | |
5798770 | Aug., 1998 | Baldwin. | |
5801706 | Sep., 1998 | Fujita et al. | |
5801716 | Sep., 1998 | Silverbrook. | |
5805868 | Sep., 1998 | Murphy. | |
5815166 | Sep., 1998 | Baldwin. | |
5821949 | Oct., 1998 | Deering. | |
5856829 | Jan., 1999 | Gray, III et al. | |
5870097 | Feb., 1999 | Snyder et al. | |
5874969 | Feb., 1999 | Storm et al. | |
5914721 | Jun., 1999 | Lim. | |
5917496 | Jun., 1999 | Fujita et al. | |
5920326 | Jul., 1999 | Rentschler et al. | |
5940086 | Aug., 1999 | Rentschler et al. | |
5949423 | Sep., 1999 | Olsen. | |
5949424 | Sep., 1999 | Cabral et al. | |
5949440 | Sep., 1999 | Krech, Jr. et al. | |
5969726 | Oct., 1999 | Rentschler et al. | |
5977979 | Nov., 1999 | Clough et al. | |
5999196 | Dec., 1999 | Storm et al. | |
6002409 | Dec., 1999 | Harkin. | |
6023738 | Feb., 2000 | Priem et al. | |
6025853 | Feb., 2000 | Baldwin. | |
6028611 | Feb., 2000 | Anderson et al. | |
6037948 | Mar., 2000 | Liepa. | |
6037949 | Mar., 2000 | DeRose et al. | |
6057847 | May., 2000 | Jenkins. | |
6057852 | May., 2000 | Krech, Jr. | |
6088035 | Jul., 2000 | Sudarsky et al. | |
6092124 | Jul., 2000 | Priem et al. | |
6094200 | Jul., 2000 | Olsen et al. | |
6111582 | Aug., 2000 | Jenkins. | |
6115049 | Sep., 2000 | Winner et al. | 345/611. |
6173367 | Jan., 2001 | Aleksic et al. | |
6181352 | Jan., 2001 | Kirk et al. | |
6198488 | Mar., 2001 | Lindholm et al. | |
6215496 | Apr., 2001 | Szeliski et al. | 345/419. |
6226012 | May., 2001 | Priem et al. | |
6342892 | Jan., 2002 | Van Hook et al. | 345/503. |
Foreign Patent Documents | |||
2070934 | Dec., 1993 | CA. | |
1 074 945 | Feb., 2001 | EP. | |
1 075 146 | Feb., 2001 | EP. | |
1 081 649 | Mar., 2001 | EP. | |
11053580 | Feb., 1999 | JP. | |
11076614 | Mar., 1999 | JP. | |
11161819 | Jun., 1999 | JP. | |
11203500 | Jul., 1999 | JP. | |
11226257 | Aug., 1999 | JP. | |
11259671 | Sep., 1999 | JP. | |
11259678 | Sep., 1999 | JP. | |
2000-66985 | Mar., 2000 | JP. | |
2000-92390 | Mar., 2000 | JP. | |
2000-132704 | May., 2000 | JP. | |
2000-132706 | May., 2000 | JP. | |
2000-149053 | May., 2000 | JP. | |
2000-156875 | Jun., 2000 | JP. | |
2000-182077 | Jun., 2000 | JP. | |
2000-207582 | Jul., 2000 | JP. | |
2000-215325 | Aug., 2000 | JP. | |
WO 94/10641 | May., 1994 | WO. |
Shade, Jonathan et al., "Layered Depth Images," Computer Graphics Proceedings, Annnual Conference Series, pp. 231-242 (1998). Photograph of Sony PlayStation II System. Photograph of Sega Dreamcast System. Photograph of Nintendo 64 System. Whitepaper: 3D Graphics Demystified, Nov. 11, 1999, www.nvidia.com. Whitepaper: "Z Buffering, Interpolation and More W-Buffering", Doug Rogers, Jan. 31, 2000, www.nvidia.com. Whitepaper: Using GL_NV_vertex_array and GL_NV_fence, posted Aug. 1, 2000, www.nvidia.com. Whitepaper: Anisotropic Texture Filtering In OpenGL, posted Jul. 17, 2000, www.nvidia.com. Whitpaper: Mapping Texels to Pixels in D3D, posted Apr. 5, 2000, www.nvidia.com. Whitepaper: Guard Band Clipping, posted Jan. 31, 2000, www.nvidia.com. Whitepaper: Cube Environment Mapping, posted Jan. 14, 2000, www.nvidia.com. Whitepaper:Color Key in D3D, posted Jan. 11, 2000, www.nvidia.com. Whitepaper: Vertex Blending Under DX7 for the GeForce 256, Jan. 5, 2000, www.nvidia.com. Whitepaper: Optimizing Direct3D for the GeForce 256, Jan. 3, 2000, www.nvidia.com. Whitepaper: Dot Product Texture Blending, Dec. 3, 1999, www.nvidia.com. Whitepaper: Technical Brief: AGP 4X with Fast Writes, Nov. 10, 1999, www.nvidia.com. Technical Brief: Transform and Lighting, Nov. 10, 1999, www.nvidia.com. Technical Brief: What's New With Microsoft DirectX7, posted Nov. 10, 1999, www.nvidia.com. Mitchell et al., "Multitexturing in DirectX6", Game Developer, Sep. 1998, www.gdmag.com. Vision Tek, "GeForce2 GS Graphics Processing Unit", .COPYRGT.2000 www.visiontek.com. Jim Bushnell et al. "Advanced Mutlitexture Effects With Direct3D and Open GL", Pyramid Peak Design & ATI Research, Inc., GameDevelopers Conference, .COPYRGT.1999. Sony PlayStation II Instruction Manual, Sony Computer Entertainment Inc., .COPYRGT.2000. Stand and Be Judged, Next Generation, May 2000. PlayStation II: Hardware Heaven or Hell?, Next Generation, Jan. 2000. Chris Charla, "Play Station II: The Latest News", Next Generation, Sep. 1999. "First PlayStation II Gameplay Screens Revealed!", Next Generation, Sep. 1999. Game Enthusiast Online Highlights, Mar. 18, 1999. Game Enthusiast Online Highlights, Mar. 19, 1999. Game Enthusiast Online Highlights, Mar. 17, 1999. Game Enthusiast Online Highlights, Oct. 20, 1999. Joel Easley, "PlayStation II Revealed", Game Week, Sep. 29, 1999. Inside Sony's Next Generation Playstation, .COPYRGT.1999. Press Releases, Mar. 18, 1999. Chris Johnston, "PlayStation Part Deux", Press Start, .COPYRGT.1999. Nikkei Shimbun, "Sony Making SME, Chemical and SPT into Wholly-Owned Subsidiaries", Mar. 9, 1999. AM News: Japanese Developers Not All Sold on PS2, Next Generation, Mar. 16, 1999. Sony To Turn PlaySation Maker Into Wholly Owned Unit-Nikkei, Dow Jones News Service, Mar. 8, 1999. Yumiko Ono, Sony Antes Up Its Chips In Bet On New Game System, Dow Jones News Service, Mar. 4, 1999. MacWeek.Com Gets Inside Story on Connectix VGS for Windows; Controversial Emulator of Sony PlayStation Games Cureently Available for Macs Only, Business Wire, Mar. 12, 1999. "DexDrive Bridges Gap", The Tampa Tribune, Mar. 12, 1999. A Microprocessor With a 128b CPU, 10 Floating-Point MAC's, 4 Floating-Point Dividers, and an MPEG2 Decoder, 1999 IEEE International Solid-State Circuits Conference, Feb. 16, 1999. Dreamcast Instruction Manual, Sega Enterprises, Ltd., .COPYRGT.1998. "Sega To Launch Video Camera for Dreamcast", Reuters Business News, Feb. 16, 2000. David Pescovitz, "Dream On", Wired, Aug. 1999. Randy Nelson, "Dreamcast 101: Everything You Ever Wanted To Know About Sega's Powerful New Console", Official Sega Dreamcast Magazine, Jun. 1999. 2D/3D Graphics Card User Manual, Guillemot .COPYRGT.1999. Nintendo 64 Instruction Booklet, Nintendo of America, 1998. Steven Levy, "Here Comes PlayStation II", Newsweek, Mar. 6, 2000. David Sheff, "Sony Smackage: Test Driving The PlayStation II", Wired, Nov. 1999. Introducing The Next Generation PlayStation, Sony Computer Entertainment Inc., .COPYRGT.1999. Leadtek GTS, Aug. 3, 2000, www.hexus.net. Voodoo 5 5500 Review, Jul. 26, 2000, www.hexus.net. ATI Radeon 64 Meg DDR OEM, Aug., 19, 2000, www.hexus.net. Microsoft Xbox--The Future of Gaming, Microsoft Xbox Performance Sheet, www.xbox.com. Robert L. Cook, "Shade Trees", Computer Graphics, vol. 18, No. 3, Jul. 1984. Wang et al., "Second-Depth Shadow Mapping", Department of Computer Science, Univ. N.C, Chapel Hill, N.C. pp. 1-7. Peercy et al., "Efficient Bump Mapping Hardware", Computer Graphics Proceedings, Annual Conference Series, 1997. Gustavo Oliveira, "Refractive Texture Mappig, Part One", www.gamasutra.com, Nov., 10, 2000. John Schlag, Fast Embossing Effects on Raster Image Data, Graphics Gems IV, Edited by Paul S. Heckbert, Computer Science Department, Carnegie Mellon University, Academic Press, Inc., 1994,pp. 433-437. James F. Blinn, "Simulationof Wrinkled Surfaces," Caltech/JPL, pp. 286-292, SIGGRAPH 78 (1978). Tomas Moller and Eric Haines "Real-Time Rendering", AK Peters, Ltd., .COPYRGT.1999, pp. 127-142. Technical Presentation: Vertex Buffers, posted Jun. 12, 2000, www.nvidia.com. Technical Presentation: Hardware Transform and Lighting, www.nvidia.com, posted Jun. 12, 2000. Technical Presentation: Hardware Bump-mapping Choices and Concepts, Jun. 07, 2000, www.nvidia.com. Technical Presentation: How to Bump Map a Skinned Polygonal Model, Jun. 7, 2000, www.nvidia.com. Technical Presentation: Computations for Hardware Lighting and Shading, Mar. 17, 2000, www.nvidia.com. Technical Presentation: Practical Bump-mapping for Today's GPUs, Mar. 17, 2000 www.nvidia.com. Technical Presentation: Shadows, Transparency, & Fog, Mar. 17, 2000 www.nvidia.com. Technical Presentation: GeForce 256 Register Combiners, Mar. 17, 2000,www.nvidia.com. Technical Presentation: TexGen & The Texture Matrix, Mar. 15, 2000 www.nvidia.com. Technical Presentation: Toon Shading, Mar. 15, 2000, www.nvidia.com. Technical Presentation: D3D 7 Vertex Lighting, Mar. 15, 2000, www.nvidia.com. Technical Presentation: Per-Pixel Lighting (by S. Dietrich) Mar. 14, 2000 www.nvidia.com. Technical Presentation: GeForce 256 and RIVA TNT Combiners, Dec. 8, 1999, www.nvidia.com. Technical Presentation: Vertex Cache Optimization, Nov. 12, 1999, www.nvidia.com. Technical Presentation: Vertex Blending, Nov. 12, 1999, www.nvidia.com. Technical Presentation: Hardware Transform and Lighting, Nov. 12, 1999, www.nvidia.com. Technical Presentation: GeForce 256 Overview, Nov. 12, 1999, www.nvidia.com. Technical Presentation: DirectX 7 and Texture Management, Nov. 12, 1999 www.nvidia.com. Technical Presentation: Dot Product Lighting, Nov. 12, 1999, www.nvidia.com. Technical Presentation: Texture Coordinate Generation, Nov. 3, 1999, www.nvidia.com. Technical Presentation: Phong Shading and Lightmaps, Nov. 3, 1999, www.nvidia.com. Technical Presentation: The ARB_multitexture Extension, Nov. 3, 1999 www.nvdia.com. Technical Presentation: Multitexture Combiners, Nov. 3, 1999, www.nvidia.com. Technical Presentation: Emboss Bump Mapping, Nov. 3, 1999, www.nvidia.com. Technical Presentation: Hardware Accelerated Anisotropic Lighting, Nov. 3, 1999 www.nvidia.com. Technical Presentation: Guard Band Clipping, Nov. 3, 1999, www.nvidia.com. The RenderMan Interface, Stephan R. Keith, Version 3.1, Pixar Animation Studios, Sep. 1989. The RenderMan Interface, Version 3.2, Pixas Animation Studios, Jul. 2000, www.pixar.com. NVIDIA Product Overview, "GeForce2Ultra", NVIDIA Corporation, Aug. 21, 2000, www.nvidia.com. Duke, "Dreamcast Technical Specs", Sega Dreamcast Review, Sega, 2/99, www.game-revolution.com. Marlin Rowley, "GeForce 1 & 2 GPU Speed Tests", May 11, 2000, www.g256.com. "Dreamcast: The Full Story", Next Generation, Sep. 1998. DirectX 7.0 Programmer's Reference, Microsoft Corporation,1995-1999 (as part of the DirectX 7.0 SDK on the Companion CD Include with "Inside Direct 3D", Microsoft Programming Series, Peter J. Kovach, Microsoft Press, 1999). "Inside Direct3D", Microsoft Programming Series, Peter J. Kovach, Microsoft Press, 1999. "OpenGL Programming Guide, The Official Guide to Learning OpenGL, Release 1", Jackie Nieder, Tom David, Mason Woo, Addision-Wesley Publishing Co., 1993. "Procedural Elements for Computer Graphics," Second Edition, David F. Rogers, McGraw Hill, 1998. "Real-Time Rendering," Tomas Molleir, Eric Haines, AK Peters, 1999. "Computer Graphics, Principles and Practice," Second Edition, The Systems Programming Series, Foley, van Dam, Fiener, Hughes, Addison Wesley, 1990. "Principles of Three-Dimensional Computer Animation", Revised Edition, Michael O'Rourke, W.W. Norton & Company, 1998. |
op Specifies Z texturing operation. fmt Format for Z texture. Bias Bias. Format is u24, right justified
void GXSetZTexture ( GXZTexOp op, GXTexFmt fmt, u32 bias );
// // Texture // GXInvalidateTexAll( ); // allocate 8 32k caches for RGBA texture mipmaps // equal size caches to support 32b RCBA textures // ... code not shown ... // allocate color index caches in low bank of TMEM // each cache is 32kB. // even and odd regions should be allocated on different address. // ... code not shown ... // allocate TLUTs, 16 256-entry TLUTs and 4 1K-entry TLUTs. // 256-entry TLUTs are 8kB, 1k-entry TLUTs are 32kB. // ... code not shown // // Set texture region and tlut region callbacks // GXSetTexRegionCallBack(_GXDefaultTeXRegionCallBack); GXSetTlutRegionCallBack(_GXDefaultTlutRegionCallBack); // // Texture Environment // GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD2, GX_TEXMAP2, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD3, GX_TEXMAP3, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD4, GX_TEXMAP4, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD5, GX_TEXMAP5, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD6, GX_TEXMAP6, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD7, GX_TEXMAP7, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL; GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); GXSetNumTevStages(1); GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); GXSetZTexture(GX_ZT_DISABLE, GX_TF_Z8, 0);
![]() ![]() |
![]() ![]() ![]() ![]() |