skip to main content
10.1145/383259.383274acmconferencesArticle/Chapter ViewAbstractPublication PagessiggraphConference Proceedingsconference-collections
Article

A user-programmable vertex engine

Published:01 August 2001Publication History

ABSTRACT

In this paper we describe the design, programming interface, and implementation of a very efficient user-programmable vertex engine. The vertex engine of NVIDIA's GeForce3 GPU evolved from a highly tuned fixed-function pipeline requiring considerable knowledge to program. Programs operate only on a stream of independent vertices traversing the pipe. Embedded in the broader fixed function pipeline, our approach preserves parallelism sacrificed by previous approaches. The programmer is presented with a straightforward programming model, which is supported by transparent multi-threading and bypassing to preserve parallelism and performance.

In the remainder of the paper we discuss the motivation behind our design and contrast it with previous work. We present the programming model, the instruction set selection process, and details of the hardware implementation. Finally, we discuss important API design issues encountered when creating an interface to such a device. We close with thoughts about the future of programmable graphics devices.

References

  1. 1.Advanced Micro Devices. 3DNowTM Technology Manual. www.amd.com/Ko/kodocs/pdf/21928.pdfGoogle ScholarGoogle Scholar
  2. 2.Kurt Akeley. RealityEngine Graphics. In James T. Kajiya, editor, SIGGRAPH 93 Conference Proceedings, Annual Conference Series, pages 109-11o. ACM SIGGRAPH, Addison Wesley, August 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Kurt Akeley and Tom Jermoluk. High Performance Polygon Rendering. In John Dill, editor, Computer Graphics (SIGGRAPH 88 Conference Proceedings), volume 22, pages 239-24o. Addison Wesley, August 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Brian Apgar, Bret Bersack, and Abraham Mammen. A Display System for the StellarTM Graphics Supercomputer Model GS1000TM. In John Dill, editor, Computer Graphics (SIGGRAPH 88 Conference Proceedings), volume 22, pages 255-2o2. Addison Wesley, August 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.James H. Clark. The Geometry Engine: A VLSI Geometry System for Graphics. In R. Daniel Bergeron, editor, Computer Graphics (SIGGRAPH 82 Conference Proceedings), volume 1o, pages 127 - 133. Addison Wesley, July 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.DirectX Home. http://www.microsoft.com/directxGoogle ScholarGoogle Scholar
  7. 7.Nick England. A Graphics System Architecture for Interactive Application-Specific Display Functions. IEEE Computer Graphics and Applications, 6(1): 60-70, January 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.I. Ernst, D. Jackel, H. Russeler, O. Wittig, Hardware Supported Bump Mapping: A Step towards Higher Quality Real-Time Rendering, 10 th Eurographics Workshop on Graphics Hardware, August 28-29, 1995, pp. 63-70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Sam Fuller. Motorola's AltiVecTM Technology. Motorola Inc.Google ScholarGoogle Scholar
  10. 10.Henry Fuchs, John Poulton, John Eyles, Trey Greer, Jack Goldfeather, David Ellsworth, Steve Molnar, Greg Turk, Brice Tebbs, and Laura Israel. Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories. In Jeffrey Lane, editor, Computer Graphics (SIGGRAPH 89 Conference Proceedings), volume 23, pages 79-88. Addison Wesley, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Chandlee Harrell and Farhad Fouladi. Graphics Rendering Architecture for a High Performance Desktop Workstation. In James T. Kajiya, editor, SIGGRAPH 93 Conference Proceedings, Annual Conference Series, pages 93-100. ACM SIGGRAPH, Addison Wesley, August 1993 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Wolfgang Heidrich and Hans-Peter Seidel, Efficient Rendering of Anisotropic Surfaces Using Computer Graphics Hardware, Image and Multi-dimensional Digital Signal Processing Workshop, 1998Google ScholarGoogle Scholar
  13. 13.Intel. I860 Microprocessor Family. Programmer's Reference Manual. 1992. ISBN 1-55512-165-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.IA-32 Intel Architecture Software Developer's Manual Volume2: Instruction Set Reference. Copyright 1997-2000 Intel Corporation.Google ScholarGoogle Scholar
  15. 15.David Kirk and Douglas Voorhies. The Rendering Architecture of the DN10000VS. In Forest Baskett, editor, Computer Graphics (SIGGRAPH 90 Conference Proceedings), volume 24, pages 299- 307. Addison Wesley, August 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.A. Kunimatsu, N. Ide, T. Sato, Y. Endo, H. Murakami, T. Kamei, M. Hirano, M. Oka, A. Ohba, T. Yutaka, T. Okada, and M. Suzuoki. 5.5 GFLOPS Vector Units for Emotion Synthesis. Conference Record, Hot Chips 11, August 15-17, 1999, Stanford University, Palo Alto, California.Google ScholarGoogle Scholar
  17. 17.Adam Levinthal and Thomas Porter. Chap - A SIMD Graphics Processor. In Hank Christiansen editor, Computer Graphics (SIGGRAPH 84 Conference Proceedings), volume 18, pages 77-82. Addison Wesley, July 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.MIPS Technologies Inc. MIPS-3DTM ASE: 3D Graphics Application Specific Extension. www.mips.com/products/3d.pdfGoogle ScholarGoogle Scholar
  19. 19.Steven Molnar, John Eyles and John Poulton. PixelFlow: High-Speed Rendering Using Image Composition. In Edwin E. Catmull, editor, Computer Graphics (SIGGRAPH 92 Conference Proceedings), volume 26, pages 231-240. Addison Wesley, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.NVIDIA Corporation, NVIDIA OpenGL Extension Specifications, Mark Kilgard, editor, May 2001. http://www.nvidia.com/developerGoogle ScholarGoogle Scholar
  21. 21.Mark Peercy, John Airey, Brian Cabral, Efficient Bump Mapping Hardware, Computer Graphics (SIGGRAPH 97 Conference Proceedings), pages 303-306. Addison Wesley, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.Kekoa Proudfoot, William Mark, Svetoslav Tzvetkov, and Pat Hanrahan. A Real-Time Procedural Shading System for Programmable Graphics Hardware, Computer Graphics (SIGGRAPH 2001 Conference Proceedings), Addison Wesley, August 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.John Montrym, Daniel Baum, David Dignam and Chris Migdal. InfiniteReality: A Real-Time Graphics System. In Turner Whitted, editor, SIGGRAPH 97 Conference Proceedings, Annual Conference Series, pages 293-302. ACM SIGGRAPH, Addison Wesley, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Michael Potmesil and Eric Hoffert. The Pixel Machine: A Parallel Image Computer. In Jeffrey Lane, editor, Computer Graphics (SIGGRAPH 89 Conference Proceedings), volume 23, pages 69-78. Addison Wesley, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.Mark Segal and Kurt Akeley. The OpenGL Graphics System: A Specification (Version 1.2.1). www.opengl.orgGoogle ScholarGoogle Scholar
  26. 26.John Torborg. A parallel processor architecture for graphics arithmetic operations. In Maureen C. Stone, editor, Computer Graphics (SIGGRAPH 87 Conference Proceedings), volume 21, pages 197-204. Addison Wesley, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.Channing Verbeck. Personal communication. December 2000.Google ScholarGoogle Scholar
  28. 28.Douglas Voorhies, Jim Foran, Reflection Vector Shading Hardware, Computer Graphics (SIGGRAPH 94 Conference Proceedings), pages 163-166. Addison Wesley, July 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A user-programmable vertex engine

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGGRAPH '01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques
      August 2001
      600 pages
      ISBN:158113374X
      DOI:10.1145/383259

      Copyright © 2001 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 August 2001

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      SIGGRAPH '01 Paper Acceptance Rate65of300submissions,22%Overall Acceptance Rate1,822of8,601submissions,21%

      Upcoming Conference

      SIGGRAPH '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader