Download presentation
Presentation is loading. Please wait.
Published byLionel Atkinson Modified over 9 years ago
1
David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke
2
David Luebke 2 1/20/2016 Demo Time ● We will have a 5 minute “demo time” to open each class ■ Students pick something (e.g., a game) to demo ○ Focus: real-time graphics, not game play, MPEG’d cut scenes, etc. ■ Students responsible for bringing platform to classroom ○ I can provide PC (GFX, ATI), PS2, Xbox from lab ■ Students rotate duty each class or each week ○ Send around a sign-up sheet
3
David Luebke 3 1/20/2016 Introduction ● The changing face of real-time rendering ■ In 2002 when I taught this class I said: ○ The good old days: SGI was king A slew of PC vendors ○ Today: SGI is selling real estate NVIDIA, ATI rule the world ■ Now: ○ SGI is irrelevant ○ Programmable GPUs are the big news
4
David Luebke 4 1/20/2016 Comparison: SGI InfiniteReality (1998) vs. NVIDIA GeForce4 (2002) MetricSGI IRNVIDIA GF4 Triangles/demosec13 million136 million Pixels/demosec4.8 billion Texture memory64 MB128 MB Bump mappingNopeNo sweat Programmable vertex engine?You kidding?Oh, yeah Programmable pixel engine?Get realYeah baby Form factorMini-fridgevideocassette Cost$100,000$300 The real news!!!
5
David Luebke 5 1/20/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 6/18 months ● Current commodity cards double in performance every 10 months or so ■ Far outstripping Moore’s Law… ● Exciting new features have been appearing at a breathtaking rate: ■ Programmable pipelines, floating-point support, hardware occlusion support
6
David Luebke 6 1/20/2016 Summary ● These are interesting times for real-time rendering: ■ Commodity graphics cards are 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?
7
David Luebke 7 1/20/2016 Video Games ● Undoubtedly the driving force behind this revolution ■ In 2002 the video game industry surpassed the film industry (wave hands) ■ Commodity parts: Pentium 4 vs GFX
8
David Luebke 8 1/20/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 ■ Bit more emphasis on NVIDIA hardware ■ 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
9
David Luebke 9 1/20/2016 The Course: Workload ● This is a project course, all grades from programming assignments: ■ A couple of completely individual assignments ○ Hardware performance, “Building blocks” of a game engine ■ Big team project: a 3D video game ■ 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
10
David Luebke 10 1/20/2016 The Course: Syllabus ● The web page is the syllabus…
11
David Luebke 11 1/20/2016 Review: The Graphics Pipeline ● The next lecture will go over the traditional graphics pipeline ● The big picture: ApplicationGeometryRasterizer
12
David Luebke 12 1/20/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
13
David Luebke 13 1/20/2016 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()) make a difference in performance?
14
David Luebke 14 1/20/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
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.