Presentation is loading. Please wait.

Presentation is loading. Please wait.

David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke.

Similar presentations


Presentation on theme: "David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke."— Presentation transcript:

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


Download ppt "David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke."

Similar presentations


Ads by Google