1 / 55

Graphics Hardware and Graphics in Video Games

COMP136: Introduction to Computer Graphics. Graphics Hardware and Graphics in Video Games. Outline. History of PC graphics cards Current PC graphics cards Where things are going Games, how do they do that?. Graphics Pipeline. Transform. Lighting. Clipping. Perspective Divide.

winona
Download Presentation

Graphics Hardware and Graphics in Video Games

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP136: Introduction toComputer Graphics Graphics Hardware andGraphics in Video Games

  2. Outline • History of PC graphics cards • Current PC graphics cards • Where things are going • Games, how do they do that?

  3. Graphics Pipeline Transform Lighting Clipping Perspective Divide Viewport Transform Rasterization Image Shading and Texturing

  4. 2005 – Madden 06 • 2004 – Doom 3 • 2003 – SimCity 4 • 2002 – Madden 2003 • 2000 – Madden 2001 • 1999 – Quake 3 • 1998 – Soul Calibur • 1997 – Wing Commander Prophecy • 1996 – Quake • 1995 – Wing Commander IV • 1994 – Doom 2 • 1993 – Doom • 1992 – Wolfenstein 3D • 1991 – Wing Commander 2 • 1985 – Super Mario Bros • 1983 – Star Wars arcade • 1981 – Pac man • 1978 – Space Invaders • 1972 – Pong

  5. ‘72

  6. ‘72

  7. ‘81

  8. ‘83

  9. ‘85

  10. ‘90

  11. ‘92

  12. ‘93

  13. ‘94

  14. ‘95

  15. ‘96

  16. ‘97

  17. ‘98

  18. ‘99

  19. ‘00

  20. ‘02

  21. ‘03

  22. ‘04

  23. ‘05

  24. 2006

  25. ‘08

  26. 2005 – Madden 06 • 2004 – Doom 3 • 2003 – SimCity 4 • 2002 – Madden 2003 • 2000 – Madden 2001 • 1999 – Quake 3 • 1998 – Soul Calibur • 1997 – Wing Commander Prophecy • 1996 – Quake • 1995 – Wing Commander IV • 1994 – Doom 2 • 1993 – Doom • 1992 – Wolfenstein 3D • 1991 – Wing Commander 2 • 1985 – Super Mario Bros • 1983 – Star Wars arcade • 1981 – Pac man • 1978 – Space Invaders • 1972 – Pong

  27. Graphics History • Utah – Texturing, BSP trees, lighting • Mainly non-interactive graphics • Interactive graphics • Initially done all in software • Dedicated hardware • Framebuffer – 1 MB, $500k • SGI • Pixel Planes – 1982 (4 x 64 processors) • Pixel Planes 4 – 512 x 512 processors • Pixel Planes 5 – 1280x1024 processors

  28. PC History • Software Renderer • Graphics APIs • DOS • Windows - DirectX • v1-3 were pretty unused for 3D • v5 - people started using it for 3D • currently v10 • OpenGL • Currently 2.0 • UNIX workstation • Migrated to the PC, mainly because of QuakeGL

  29. DirectX vs. OpenGL • Evolution time • Multiplatform

  30. PC Graphics History • till 1994 (ATI, Matrox, etc) • accelerated 2D • some 3D acceleration, though non-standard • 1995 • 3dfx released the Voodoo chip (~1 million triangles per second). • Graphics “co-processor” (you still had a 2d card) • Hardware accelerated rasterization • Textures, shading, etc. • Increased texture filtering, resolution, textures, models • GLIDE API • 16 bit color and framebuffer (how does this affect things?)

  31. PC Graphics History • 1996 • Quake was released • Brought OpenGL to the masses! (How?) • nVidia, ATI, 3DLabs, 3dfx, Intel • How could each one of these companies compete? • DirectX 5.0!

  32. PC Graphics History • 1998 • 3dfx releases Voodoo 2 (3 million triangles per second) • Two texture units. Why? Single pass multitextures! • Three major APIs: OpenGL, DirectX, GLIDE • All games now are hardware accelerated • Quake2 released • nVidia releases TNT, ATI focuses on retail, Matrox • single card solutions • 32 bit color for everything (except voodoo2)

  33. PC Graphics History • 1999: • 3dfx Voodoo 3000 (they buy out STB) • nVidia TNT2 (300 Mpixels, 5? Million triangles) • Matrox G400 (bump mapping, etc). • How do you add features to a standard? • Late 1999: Quake 3 is released • APIs standardize: OpenGL and DirectX • Pros and Cons of each

  34. 2000 • 2000: • nVidia releases GeForce and GeForce2 cards (25 million triangles per second) • 4 texture units • Hardware Transform, Clipping, and Lighting! • Per vertex shading • ATI releases Radeon • adds additional features like bump mapping, vertex skinning, 3 texture units • 3dfx releases Voodoo 5500 • Full Screen Antialiasing

  35. 2006 • Remaining Companies: • ATI • nVidia • Scientific Viz (High-end) • 3dLabs • SGI • Consumer Market: • Billion $$$ industry • $500-600 top end card • ATI Radeon X1900 XT • GeForce 7900 GTX, SLI • $200-300 highest margins • DirectX 9.0

  36. What happens on a glVertex? • Your code calls a glVertex • opengl32.dll (vendor specific) takes the command and communicates it to the card via the graphics bus • Is there hardware T,L, and C? • Yes: the vertex data is sent across the bus and the hardware pushes the vertex through the graphics pipeline • No: the CPU transforms, lights, and clips the data and THEN sends it to the card via the bus. • Why only now do we have hardware T&L&C? • What are the bottlenecks for an application? • How can we alleviate some of the bandwidth concerns? • Store vertices ON the card (or in compiled form) • Different data types like triangle fans and strips

  37. Vertex and Pixel Shaders • What is limitation how the quality of CG? • Speed • What’s the fix? • Realism • What do we mean by that? • Solution? • What if we could change the functions being executed in the graphics pipeline?

  38. Graphics Pipeline Transform Lighting Clipping Perspective Divide Viewport Transform Rasterization Image Shading and Texturing

  39. Vertex Shader • A graphics processing function, which manipulates vertex data values on an X (length), Y (height) and Z (depth) 3D plane through mathematical operations on an object. • Written in assembly-like language (ex. Cg)

  40. Pixel Shaders • Pixel Shaders • Programs written for pixel calculation

  41. Vertex and Pixel Shaders

  42. Things to consider • Memory bandwidth and speed • Framebuffer memory type • AGP, PCI-Express bus • mobile 3d graphics • Loading models and textures • Designing “family” of cards • How can we get more out of a current design? • Increase memory speed • Increase core clock speed • Driver improvements

  43. Looking Forward • Per Pixel Shaders • Full screen antialiasing • Parallel Processing • Animation assistance • Skinning • Interpolation • Curved Surfaces • Collision Detection • Level of Detail • Culling • More texture units • Higher bit depths! Why would we want this?

  44. Benchmarks • Triangles • Fill Rate • Refresh rate • color depths • buffer bit depth • framebuffer • z buffer • stencil buffer • Resolution capabilities • How does high refresh rate and resolutions affect the chip and memory design?

  45. Cycle of development • Single Purpose • Multi-purpose

  46. Shafts of light Blood Sparks Many lights Trees Forest Flashlights Movie projectors Bullet holes Rain/Snow Motion Blur Depth of focus Cue Ball reflections Airplane damage Lens flares Water Skin Clothes Faces Shadows Tricks! How would you do:

  47. Let’s Examine Some Games

More Related