David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 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.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
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.
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.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
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.
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.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Some Things Jeremy Sugerman 22 February Jeremy Sugerman, FLASHG 22 February 2005 Topics Quick GPU Topics Conditional Execution GPU Ray Tracing.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
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 월 첫째 주.
Rendering Engine Basics CS 446: Real-Time Rendering & Game Technology David Luebke University of Virginia.
0 Real-time Graphics: Issues and Trends in Games Tobi Saulnier CEO, 1 st Playable Productions November 5, 2007 Computer Graphics, Fall 2007.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia.
CSU0021 Computer Graphics © Chun-Fa Chang CSU0021 Computer Graphics September 10, 2014.
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea November 29, 2002 Day 4.
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
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
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
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.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Spring 2012.
General-Purpose Computation on Graphics Hardware.
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
GPU Computation Strategies & Tricks Ian Buck NVIDIA.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
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.
David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke.
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.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
Engine Basics: Optimizing Geometry CS 446: Real-Time Rendering & Game Technology David Luebke University of Virginia.
Graphic Processing Units Presentation by John Manning.
David Luebke 1 7/8/2016 Real-Time Rendering CS 551-4/651-3 David Luebke.
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
What is Computer Graphics?
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Chapter 1 An overview on Computer Graphics
Computer Graphics - Introduction -
Week 2 - Friday CS 113.
Chapter 1 An overview on Computer Graphics
Graphics Processing Unit
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Introduction to Computer Graphics
Computer Graphics Graphics Hardware
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

David Luebke 1 9/4/2015 Real-Time Rendering & Game Technology CS 446/651 David Luebke

David Luebke 2 9/4/2015 Demo Time ● We will open classes with 5 minute ‘demo time’ ■ Students pick something (e.g., a game) to demo ○ Main focus should be real-time graphics, not game play ○ In-engine cut scenes, graphics-related game play okay ■ Students responsible for setting up demo platform! ○ Need to get here 10 minutes early to work with A/V guy ○ I can provide PC (NV, ATI) with warning ■ Demo duty rotates each class ○ Send around a sign-up sheet

David Luebke 3 9/4/2015 Comparison: SGI InfiniteReality (1998) vs. NVIDIA GeForce4 (2002) MetricSGI IRNVIDIA NV25 Triangles/demosec13 million75 million Pixels/demosec1.2 billion Texture memory64 MB128 MB Bump mappingNopeNo sweat Programmable vertex engine?You kidding?Yup Programmable pixel engine?Get realYup Form factorMini-fridgevideocassette Cost$100,000$400 The real news!!!

David Luebke 4 9/4/2015 Comparison: SGI InfiniteReality (1998) vs. NVIDIA GeForce 7800 GTX (2005) MetricSGI IRNVIDIA G70 Triangles/demosec13 million860 million Pixels/demosec6.9 billion Texture memory64 MB128 MB Bump mappingNope Trivial Programmable vertex engine?You kidding?Yup Programmable pixel engine?Get realYup Form factorMini-fridgevideocassette Cost$100,000$500 The real news!!!

David Luebke 5 9/4/2015

David Luebke 6 9/4/2015 GPU history ProductProcessTransMHz Fill Rate MF/sec Geom Rate Mtri/sec GFLOPS (MUL) May-99GeForce M Dec-99GeForce 2 GTS0.1825M Sep-00GeForce M Sep-01GeForce 4 Ti0.1563M Aug-02 GeForce FX M Jan-03 GeForce FX M Dec-03GeForce M Tables & data courtesy Ian Buck, Stanford, and Nick Triantos, NVIDIA NVIDIA historicals

David Luebke 7 9/4/2015 GPU history ProductProcessTransMHz GFLOPS (MUL) Aug-02 GeForce FX M5008 Jan-03 GeForce FX M47520 Dec-03GeForce M40053 NVIDIA historicals translating transistors into performance ■ 1.8x increase of transistors ■ 20% decrease in clock rate ■ 6.6x GFLOP speedup

David Luebke 8 9/4/2015 Graphics Performance: GPU vs CPU Growth Trends Graph courtesy John Owens Data courtesy Nick Triantos, NVIDIA

David Luebke 9 9/4/2015 Summary ● These are interesting times for real-time rendering: ■ Commodity graphics cards are fantastically capable ■ The rate of ongoing improvement is dizzying ○ Raw performance ○ Feature set ■ New algorithms, long-offline algorithms becoming possible ■ Hard to keep up, even for “experts” ● What’s pushing the technology curve?

David Luebke 10 9/4/2015 Video Games ● Undoubtedly the driving force behind this revolution ■ In 2002 the video game industry surpassed the film industry (sort of) ■ Commodity parts: Workstations vs PCs vs consoles (vs cell phones?)

David Luebke 11 9/4/2015 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 much or any: ■ Gameplay, storylines, AI, game art, production process, artist tools, network layers, OO game design, audio, physics, animation

David Luebke 12 9/4/2015 The Course: Workload ● This is a project course, all grades from programming assignments: ■ One or two completely individual assignments ○ Game design, “Building blocks” of a game engine ■ Big team project: a 3D video game/graphical experience ■ 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 13 9/4/2015 The Course: Syllabus ● The web page is the syllabus…

David Luebke 14 9/4/2015 Review: The Graphics Pipeline ● The next lecture will go over the traditional graphics pipeline ● The big picture: ApplicationGeometryRasterizer

David Luebke 15 9/4/2015 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 16 9/4/2015 Programmable Pipelines ● The amount of programmability is increasing by leaps and bounds ■ Vertex shaders: more instructions, variable indexing, fully MIMD branching, subroutines ■ Pixel shaders: still SIMD, but with more instructions, unlimited texture accesses, pixel kill ■ Coming soon: unified shaders, memory scatter ● The data precision is also improving ■ IEEE floating point throughout the pipeline! ■ Various versions

David Luebke 17 9/4/2015 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() or something like it) matter?