Transcript ppt

Real-Time Rendering
CS 551-4/651-3
David Luebke
David Luebke
1
7/27/2016
Demo Time
● Should we have a 5-10 minute “demo time” to
open each class?
■ Students pick game to demo
○ Focus: real-time graphics, not game play, cut scenes, etc.
■ Students responsible for bringing platform to
classroom
○ I can provide PC (GF3), PS2, maybe Xbox from lab
■ Students rotate duty each class or each week
● For today, some NVIDIA GeForce2-type demos
David Luebke
2
7/27/2016
Introduction
● The changing face of real-time rendering
■ The good old days:
○ SGI was king
○ A slew of PC vendors
■ Today:
○ SGI is selling real estate
○ NVIDIA, ATI rule the world
David Luebke
3
7/27/2016
Comparison:
SGI InfiniteReality (1998) vs. NVIDIA GeForce4 (2002)
Metric
SGI IR
Triangles/demosec
Pixels/demosec
Texture memory
Bump mapping
Programmable
vertex engine?
Programmable
pixel engine?
Form factor
Cost
13 million
NVIDIA GF4
64 MB
Nope
136 million
4.8 billion
128 MB
No sweat
You kidding?
Oh, yeah
Get real
Mini-fridge
$100,000
Yeah baby
videocassette
$300
The real news!!!
David Luebke
4
7/27/2016
Rate of Change
a.k.a “Stop the technology, I want to get on”
● SGI: new product every 3 years
● NVIDIA: new product every 9/18 months
● Current commodity cards double in
performance every 10 months or so
■ Far outstripping Moore’s Law…
● Exciting new features being introduced at a
breathtaking rate:
■ Programmable pipelines, floating-point support,
hardware occlusion support
David Luebke
5
7/27/2016
Summary
● These are interesting times for real-time
rendering:
■ Commodity graphics cards are becoming
fantastically capable
■ The rate of ongoing improvement is dizzying
■ New algorithms, long-offline algorithms becoming
possible
■ Hard to keep up, even for “experts”
● What’s pushing the technology curve?
David Luebke
6
7/27/2016
Video Games
● Undoubtedly the driving force behind this
revolution
■ This year the video game industry surpassed the
film industry (wave hands)
■ Commodity parts: Pentium 4 vs GF4
David Luebke
7
7/27/2016
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
■ Generally NVIDIA hardware (that’s what we use)
■ Generally OpenGL (DX more apropos, but…)
● We won’t study:
■ Gameplay, storylines, AI, game art, production
process, artist tools, network layers, OO game
design, audio, (much) physics, (much) animation
David Luebke
8
7/27/2016
The Course: Workload
● This is a project course, all grades from
programming assignments:
■ First half: 4 individual assignments – “building
blocks” of a game engine
■ Second half: team project, with several
checkpoints – game engine with demo
● Graduate-level course
■ A game engine is a big program
■ May well be more work (but also more rewarding)
than any course you’ve ever had
David Luebke
9
7/27/2016
The Course: Syllabus
● The web page is the syllabus…
David Luebke
10
7/27/2016
Review: The Graphics Pipeline
● The next lecture will go over the traditional
graphics pipeline
● The big picture:
Application
David Luebke
Geometry
11
Rasterizer
7/27/2016
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
David Luebke
12
7/27/2016
Programmable Pipelines
● The amount of programmability is increasing
by leaps and bounds
■ Vertex shaders: more instructions, variable
looping, branching, subroutines
■ Pixel shaders: still SIMD, but with more
instructions, unlimited texture accesses, pixel kill
● The data formats are also improving
■ IEEE floating point throughout the pixel pipeline!
■ Various versions
David Luebke
13
7/27/2016