130 likes | 283 Views
Real-Time Rendering. CS 551-4/651-3 David Luebke. 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
E N D
Real-Time Rendering CS 551-4/651-3David Luebke David Luebke 110/8/2014
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 210/8/2014
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 310/8/2014
The real news!!! Comparison:SGI InfiniteReality (1998) vs. NVIDIA GeForce4 (2002) Metric SGI IR NVIDIA GF4 Triangles/demosec 13 million 136 million Pixels/demosec 4.8 billion Texture memory 64 MB 128 MB Bump mapping Nope No sweat Programmable vertex engine? You kidding? Oh, yeah Programmable pixel engine? Get real Yeah baby Form factor Mini-fridge videocassette Cost $100,000 $300 David Luebke 410/8/2014
Rate of Changea.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 510/8/2014
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 610/8/2014
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 710/8/2014
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 810/8/2014
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 910/8/2014
The Course: Syllabus • The web page is the syllabus… David Luebke 1010/8/2014
Review: The Graphics Pipeline • The next lecture will go over the traditional graphics pipeline • The big picture: Application Geometry Rasterizer David Luebke 1110/8/2014
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 1210/8/2014
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 1310/8/2014