David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

17
David Luebke 1 03/27/22 Real-Time Rendering & Game Technology CS 446/651 David Luebke

Transcript of David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

Page 1: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 1 04/19/23

Real-Time Rendering & Game Technology

CS 446/651David Luebke

Page 2: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 2 04/19/23

Demo Time

● We will open classes with 5 minute ‘demo time’ ■ Students pick something (e.g., a game) to demo

○ Main focus should be real-time graphics, not game play○ In-engine cut scenes, graphics-related game play okay

■ Students responsible for setting up demo platform!○ Need to get here 10 minutes early to work with A/V guy○ I can provide PC (NV, ATI) with warning

■ Demo duty rotates each class○ Send around a sign-up sheet

Page 3: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 3 04/19/23

Comparison:SGI InfiniteReality (1998) vs. NVIDIA GeForce4 (2002)

Metric SGI IR NVIDIA NV25Triangles/demosec 13 million 75 million

Pixels/demosec 1.2 billion

Texture memory 64 MB 128 MB

Bump mapping Nope No sweat

Programmable vertex engine? You kidding? Yup

Programmable pixel engine? Get real Yup

Form factor Mini-fridge videocassette

Cost $100,000 $400

The real news!!!

Page 4: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 4 04/19/23

Comparison:SGI InfiniteReality (1998) vs. NVIDIA GeForce 7800 GTX (2005)

Metric SGI IR NVIDIA G70Triangles/demosec 13 million 860 million

Pixels/demosec 6.9 billion

Texture memory 64 MB 128 MB

Bump mapping Nope Trivial

Programmable vertex engine? You kidding? Yup

Programmable pixel engine? Get real Yup

Form factor Mini-fridge videocassette

Cost $100,000 $500

The real news!!!

Page 5: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 5 04/19/23

Page 6: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 6 04/19/23

GPU history

Product Process Trans MHz

Fill Rate

MF/sec

Geom Rate

Mtri/secGFLOPS(MUL)

May-99 GeForce 256 0.22 23M 120 480 15

Dec-99 GeForce 2 GTS 0.18 25M 166 664 21

Sep-00 GeForce 3 0.18 57M 200 800 25

Sep-01 GeForce 4 Ti 0.15 63M 300 1200 75

Aug-02GeForce FX5800 0.13 121M 500 2000 187 8

Jan-03GeForce FX5900 0.13 130M 475 1900 178 20

Dec-03 GeForce 6800 0.13 222M 400 6400 600 53

Tables & data courtesy Ian Buck, Stanford, and Nick Triantos, NVIDIA

NVIDIA historicals

Page 7: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 7 04/19/23

GPU history

Product Process Trans MHzGFLOPS(MUL)

Aug-02GeForce FX5800 0.13 121M 500 8

Jan-03GeForce FX5900 0.13 130M 475 20

Dec-03 GeForce 6800 0.13 222M 400 53

NVIDIA historicals

translating transistors into performance■ 1.8x increase of transistors■ 20% decrease in clock rate■ 6.6x GFLOP speedup

Page 8: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 8 04/19/23

Graphics Performance:GPU vs CPU Growth Trends

Graph courtesy John OwensData courtesy Nick Triantos, NVIDIA

Page 9: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 9 04/19/23

Summary

● These are interesting times for real-time rendering:■ Commodity graphics cards are fantastically capable■ The rate of ongoing improvement is dizzying

○ Raw performance ○ Feature set

■ New algorithms, long-offline algorithms becoming possible

■ Hard to keep up, even for “experts”

● What’s pushing the technology curve?

Page 10: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 10 04/19/23

Video Games

● Undoubtedly the driving force behind this revolution■ In 2002 the video game industry surpassed the film

industry (sort of)■ Commodity parts: Workstations vs PCs vs

consoles (vs cell phones?)

Page 11: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 11 04/19/23

The Course: General Topics

● This class will study real-time rendering, with a particular focus on the hardware and algorithms underlying 3D game engines■ Generally PC hardware rather than consoles■ Bit more emphasis on NVIDIA hardware■ Generally OpenGL (DX more apropos, but…)

● We won’t study much or any:■ Gameplay, storylines, AI, game art, production process,

artist tools, network layers, OO game design, audio, physics, animation

Page 12: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 12 04/19/23

The Course: Workload

● This is a project course, all grades from programming assignments:■ One or two completely individual assignments

○ Game design, “Building blocks” of a game engine

■ Big team project: a 3D video game/graphical experience■ Individual assignments in context of team project

○ Add features to your team’s game engine

● Think graduate-level course■ A game engine is a big program■ Will likely be more work (but also more rewarding) than any

course you’ve ever had

Page 13: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 13 04/19/23

The Course: Syllabus

● The web page is the syllabus…

Page 14: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 14 04/19/23

Review: The Graphics Pipeline

● The next lecture will go over the traditional graphics pipeline

● The big picture:

Application Geometry Rasterizer

Page 15: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 15 04/19/23

Programmable Pipelines

● Recent hardware offers the option of replacing portions of the pipeline with user-programmed stages■ Vertex shader: replaces fixed-function transform

and lighting■ Pixel shader: replaces texturing stages

Page 16: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 16 04/19/23

Programmable Pipelines

● The amount of programmability is increasing by leaps and bounds■ Vertex shaders: more instructions, variable indexing, fully

MIMD branching, subroutines■ Pixel shaders: still SIMD, but with more instructions,

unlimited texture accesses, pixel kill■ Coming soon: unified shaders, memory scatter

● The data precision is also improving■ IEEE floating point throughout the pipeline!■ Various versions

Page 17: David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.

David Luebke 17 04/19/23

To think about:

● What are some possible bottlenecks in system performance of a graphics/game engine?

● Does it make any difference to sort your geometry front-to-back or back-to-front when using a depth-buffer?

● Will your textured polygons render faster if MIP-mapping is enabled or disabled?

● Does the order that you traverse polygons (i.e., issue vertices using glVertex() or something like it) matter?