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