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

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
CS-378: Game Technology Lecture #9: More Mapping Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
IMGD 4000: Computer Graphics in Games Emmanuel Agu.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
OS Case Study: The Xbox 360  Instructor: Rob Nash  Readings: See citations in the slides.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics February 26, 2007.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
Programming with CUDA, WS09 Waqar Saleem, Jens Müller Programming with CUDA and Parallel Algorithms Waqar Saleem Jens Müller.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Computer Game Development Dr. Scott Schaefer. Course Information Instructor: Dr. Schaefer / Dr. Srinivasan Office:HRBB 527B / Langford C 418 Office Hours:
ATI GPUs and Graphics APIs Mark Segal. ATI Hardware X1K series 8 SIMD vertex engines, 16 SIMD fragment (pixel) engines 3-component vector + scalar ALUs.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan course. Fixed vs Programmable. Fixed vs Programmable.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
Game Engine Design ITCS 4010/5010 Spring 2006 Kalpathi Subramanian Department of Computer Science UNC Charlotte.
3D Rendering & Algorithms__ Sean Reichel & Chester Gregg a.k.a. “The boring stuff happening behind the video games you really want to play right now.”
GPU Tutorial 이윤진 Computer Game 2007 가을 2007 년 11 월 다섯째 주, 12 월 첫째 주.
0 Real-time Graphics: Issues and Trends in Games Tobi Saulnier CEO, 1 st Playable Productions November 5, 2007 Computer Graphics, Fall 2007.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
CSU0021 Computer Graphics © Chun-Fa Chang CSU0021 Computer Graphics September 10, 2014.
David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea November 29, 2002 Day 4.
CS 638, Fall 2001 CS 638: Computer Games Technology Fall 2001.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer.
Graphics Hardware and Graphics in Video Games COMP136: Introduction to Computer Graphics.
Computer Graphics Graphics Hardware
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Spring 2012.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang,
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
1 Contents  Audio  Sprite  Input devices  Game production milestones  Course summary.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Overview of the GPU Architecture CS7080 Final Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
David Luebke 1 1/25/2016 Programmable Graphics Hardware.
Engine Basics: Optimizing Geometry CS 446: Real-Time Rendering & Game Technology David Luebke University of Virginia.
David Luebke 1 7/8/2016 Real-Time Rendering CS 551-4/651-3 David Luebke.
Game Engines Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (Rules, AI, Scripting, etc.)
Applications and Rendering pipeline
Computer Graphics Graphics Hardware
What is Computer Graphics?
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
- Introduction - Graphics Pipeline
Chapter 1 An overview on Computer Graphics
Computer Graphics - Introduction -
Week 2 - Friday CS 113.
Chapter 1 An overview on Computer Graphics
What is Computer Graphics?
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics
Computer Graphics Graphics Hardware
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
What is Computer Graphics?
Computer Graphics Introduction to Shaders
OpenGL-Rendering Pipeline
Presentation transcript:

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

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

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

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!!!

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

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?

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

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

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

David Luebke 10 1/20/2016 The Course: Syllabus ● The web page is the syllabus…

David Luebke 11 1/20/2016 Review: The Graphics Pipeline ● The next lecture will go over the traditional graphics pipeline ● The big picture: ApplicationGeometryRasterizer

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

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?

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