Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15

Similar documents
Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 23, 2014 Lecture 16

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2016

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2017

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Lecture 2. Shaders, GLSL and GPGPU

Pipeline Operations. CS 4620 Lecture 10

3D Rasterization II COS 426

VTU QUESTION PAPER SOLUTION UNIT -1 INTRODUCTION

CS4620/5620: Lecture 14 Pipeline

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

Rasterization Overview

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D)

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Rendering Light Reflection Models

Pipeline Operations. CS 4620 Lecture 14

Graphics Processing Unit Architecture (GPU Arch)

CS427 Multicore Architecture and Parallel Computing

Graphics Hardware and Display Devices

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Introduction to Computer Graphics with WebGL

Survey in Computer Graphics Computer Graphics and Visualization

CSE4030 Introduction to Computer Graphics

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

Scanline Rendering 2 1/42

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

CS451Real-time Rendering Pipeline

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

Computer Graphics and Visualization. Graphics Systems and Models

Models and Architectures

3D graphics, raster and colors CS312 Fall 2010

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Programming Graphics Hardware

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

Introduction to Visualization and Computer Graphics

8. Hidden Surface Elimination

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

The Viewing Pipeline Coordinate Systems

Computer Graphics Shadow Algorithms

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Graphics and Interaction Rendering pipeline & object modelling

Spring 2009 Prof. Hyesoon Kim

Visibility: Z Buffering

Evolution of GPUs Chris Seitz

Spring 2011 Prof. Hyesoon Kim

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

Applications of Explicit Early-Z Culling

Real-Time Graphics Architecture

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

CHAPTER 1 Graphics Systems and Models 3

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS 316: Multicore/GPUs

Introduction to Multicore architecture. Tao Zhang Oct. 21, 2010

The Traditional Graphics Pipeline

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

THE DEPTH-BUFFER VISIBLE SURFACE ALGORITHM

Intro to Ray-Tracing & Ray-Surface Acceleration

Graphics Systems and Models

Computer Vision Systems. Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Chapter 1 Introduction

The Rasterization Pipeline

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

Analyzing and improving performance portability of OpenCL applications via auto-tuning

Mattan Erez. The University of Texas at Austin

GPU-Based Volume Rendering of. Unstructured Grids. João L. D. Comba. Fábio F. Bernardon UFRGS

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Chapter 2 A top-down approach - How to make shaded images?

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

(Refer Slide Time 05:03 min)

GPU Architecture and Function. Michael Foster and Ian Frasch

COMS 4160: Problems on Transformations and OpenGL

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Deferred Rendering Due: Wednesday November 15 at 10pm

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Graphics Hardware. Instructor Stephen J. Guy

Shaders. Slide credit to Prof. Zwicker

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

Current Trends in Computer Graphics Hardware

The Traditional Graphics Pipeline

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

CS5620 Intro to Computer Graphics

Practical Shadow Mapping

Abstract. 2 Description of the Effects Used. 1 Introduction Phong Illumination Bump Mapping

CS452/552; EE465/505. Clipping & Scan Conversion

The Rasterization Pipeline

Lecture 17: Shadows. Projects. Why Shadows? Shadows. Using the Shadow Map. Shadow Maps. Proposals due today. I will mail out comments

03 RENDERING PART TWO

Transcription:

Computer Graphics Hardware Pipeline Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15

Moore s Law Chip density doubles every 18 months. Processing Power (P) in 15 years: P = P today 2 15years 15 18 months = P t 2 1.5 = P t 2 10 = 1000P t

Direct Model Illumination Camera Perspective Raster Operations Image Storage Display

Model Environment Geometry & topology Material properties Color, reflectance, textures (Cost, strength, thermal properties) Lighting Geometry & position Intensity, spectral distribution Direction, spatial distribution Model Camera Perspective Raster Operations Image Storage Display

Camera Model Viewer Position Viewer direction Field of view Wide angle Telephoto Depth of focus Near Far Camera Perspective Raster Operations Image Storage Display

Eye Coordinate System Z Y e X e Z e X Y

Perspective Model Transformation Perspective transformation Matrix multiplication Clipping Culling Camera Perspective Raster Operations Image Storage Display

Brunelleschi s Experiment

Hidden Line Algorithm

Hidden Line Algorithm

Mapping a Viewing Frustum to a Standard Viewbox Z e Y e Y s Z s X s X e z e = D Frustum of vision z e = F 1 1 1 Screen coordinate system Donald P. Greenberg - Cornell Program of Computer Graphics

Perspective Projections in Computer Graphics Eye coordinate system Plan or elevation view

Object Space (One point perspective)

Image Space (One point perspective)

Palazzo Spada Borromini

Imss,Firenze 2004 3 Scenografia prospettica

Raster Model Operations Conversion from polygons to pixels Hidden surface removal (z-buffer) Incremental shading Camera Perspective Raster Operations Image Storage Display

Visible Surface Algorithm Z-Buffer Algorithm 1. Set depth(x, y) = 1.0 intensity(x,y) = background color 2. For each polygon, find all pixels covered 3. Calculate z(x,y) of each pixel covered by the polygon 4. If z(x,y) < depth(x,y), polygon is closer set depth(x,y) = z(x,y) change color

y (x,y) x Planar equation of a polygon: ax + by + cz + d = 0 where a, b, c, & d are constants

Depth Buffer Algorithm

Depth Buffer Algorithm

Phong Reflection Model

Image Storage Model Typical frame buffer 1280 x 1024 pixels 3 channels (red, green, blue) 1 byte/channel Total memory 3 3/4 megabytes - single buffer 7 1/2 megabytes - double buffer Camera Perspective Raster Operations Image Storage Display

Model Display Digital to analog conversion 1920 x 1080 resolution 60 frames per second Total data rate 2 million pixels x 3 bytes/pixel x 60 frames/second = 360 megabytes/second Camera Perspective Raster Operations Image Storage Display

Refresh vs. Update Rate The refresh rate is the number of times per second the entire image is drawn The update rate is the number of times per second the image is changed

Direct Model Illumination User Input Camera Perspective Raster Operations Image Storage Display

Graphics Hardware Pipeline

Why a Pipeline? A pipeline allows multiple processes to occur in parallel. Example: An automobile assembly line. Assume 4 stations, each taking 2 minutes to do its task. It takes 8 minutes to make a car, but the rate at which cars are made is one every 2 minutes.

Automobile takes 8 minutes to make, but the assembly line makes a car every two minutes. Build frame Add engine Add windows Paint body 2 minutes 2 minutes 2 minutes 2 minutes Stage 1 Stage 2 Stage 3 Stage 4 A B C D E A B C D A B C A B 0 2 4 6 8 10 Time (minutes) Donald P. Greenberg - Cornell Program of Computer Graphics

Graphics Hardware circa 1970 Model P-xform Clipping Lighting Rasterize System Memory (16 scanlines) Film Recorder CPU System used to generate Phong goblet

Graphics Hardware circa 1975 Model P-xform Clipping Lighting Rasterize Frame Buffer Display CPU Graphics Hardware Cost of Memory Prohibitive 512x480x8 bit frame buffer cost $80,000! No z-buffer (at 24 or 32 bits/pixel, it requires even more memory than FB) Only single frame buffer all work done in CPU until frame buffer(slow!)

Graphics Hardware circa 1986 Model Lighting P-xform Clipping Rasterize Z-Buffer Frame Frame Buffer Buffer Display CPU Graphics Hardware Added Z-Buffer Added Double Frame Buffer Rasterization performed in hardware

Graphics Hardware 1999 Model Texture Frame Lighting P-xform Rasterize Z-Buffer Clipping Mapping Frame Buffer Display Buffer CPU Graphics Hardware Addition of texture mapping units With texturing, high resolution detail is possible with relatively simple geometry

Texture Mapping Units - TMU s A system with one TMU extracts the appropriate texel or texels from texture memory, minifies or magnifies it and filters it The texturecombine unit can scale the result

Multitexturing Hardware architectures now support accessing more than one texture in a single pass

Multipass Example: Light Maps Two separate textures, one for the material s composition, one for the lighting X = J.L.Mitchell, M. Tatro, and I. Bullard

Castle s Geometry Agata & Andrzej Wojaczek, Advanced Graphics Applications Inc.

Reflection Example - Castle Agata & Andrzej Wojaczek, Advanced Graphics Applications Inc.

Putting it all together Gloss textures on pear, shadows on curved surfaces, reflections dropping off with depth from table. J.L. Mitchell & E. Hart, ATI Technologies, Inc.

Graphics Pipeline - 1980 s M L P S D V M Model L Lighting P Perspective/Clipping S Scan Conversion/Z-buffer D Display Storage V Video Donald P. Greenberg - Cornell Program of Computer Graphics

Graphics Pipeline - 2000 + M L P T S D V M Model L Lighting P Perspective/Clipping T Texturing S Scan Conversion/Z-buffer D Display Storage V Video Donald P. Greenberg - Cornell Program of Computer Graphics

Graphics Hardware 2003 Model Vertex Buffer Lighting Vertex Operations P-xform Clipping Texture Mapping CPU Rasterize Z-Buffer Pixel Operations Frame Frame Buffer Buffer Display Early GPU s performed lighting and clipping operations on locally stored model

Graphics Hardware 2003+ Model Graphics Processing Unit GPU Texture Mapping CPU Rasterize Z-Buffer Pixel Operations Frame Frame Buffer Buffer Display

Graphics Hardware 2009 CPU Model Graphics Processing Unit GPU Rasterize Z-Buffer CPU Model CPU Model Graphics Processing Unit GPU Graphics Processing Unit GPU Rasterize Rasterize Z-Buffer Z-Buffer Frame Buffer Display CPU Model Graphics Processing Unit GPU Rasterize Z-Buffer

Interesting Trends Moore s Law is approximately 1.7x increase in speed a year; graphics accelerators are improving at 2x to 4x a year Reducing energy (watts) is more important than increasing processing speed (flops)

Millions of transistors GeForce Transistor Count and Semiconductor Process 450 400 350 300 250 200 150 100 50 0 Riva ZX Riva TNT2 GeForce2 GTS GeForce3 GeForce4 Ti 4600 GeForce FX GeForce 6800 Ultra Process (µm) 0.35 0.22 0.18 0.18 0.15 0.13 0.13 0.11 GeForce 7800 GTX

NVIDIA s GK110 Kepler Chip 2012 7.1 billion transistors 2880 processor cores 28 nanometers PCI Express Gen3

NVIDIA s new Maxwell Chip 2014 6144 processor cores 20 nm

Intel Integrated Graphics 2013

AMD Integrated Graphics 2013

AMD Integrated Graphics 2014 Kaveri 28 nm 47% GPU 47% GPU

Processing Power Compared 2015: iphone 5 > 1985 Cray-2 (2.7x)

Nvidia s Maxwell Architecture

Moore s Law GPU Transistor Counts Processor Transistor count Date of introduction Manufacturer Process Area R520 321,000,000 2005 AMD 90 nm 288 mm² R580 384,000,000 2006 AMD 90 nm 352 mm² G80 681,000,000 2006 NVIDIA 90 nm 480 mm² R600 Pele 700,000,000 2007 AMD 80 nm 420 mm² G92 754,000,000 2007 NVIDIA 65 nm 324 mm² RV790XT Spartan 959,000,000 2008 AMD 55 nm 282 mm² GT200 Tesla 1,400,000,000 2008 NVIDIA 65 nm 576 mm² Cypress RV870 2,154,000,000 2009 AMD 40 nm 334 mm² Cayman RV970 2,640,000,000 2010 AMD 40 nm 389 mm² GF100 Fermi 3,200,000,000 Mar 2010 NVIDIA 40 nm 526 mm² GF110 Fermi 3,000,000,000 Nov 2010 NVIDIA 40 nm 520 mm² GK104 Kepler 3,540,000,000 2012 NVIDIA 28 nm 294 mm² Tahiti RV1070 4,312,711,873 2011 AMD 28 nm 365 mm² GK110 Kepler 7,080,000,000 2012 NVIDIA 28 nm 561 mm² RV1090 Hawaii 6,300,000,000 2013 AMD 28 nm 438 mm² GM204 Maxwell 5,200,000,000 2014 NVIDIA 28 nm 398 mm² GM200 Maxwell 8,100,000,000 2015 NVIDIA 28 nm 601 mm² Fiji 8,900,000,000 2015 AMD 28 nm 596 mm² http://en.wikipedia.org/wiki/transistor_count

End...