Download presentation
Presentation is loading. Please wait.
1
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2011
2
Administrivia Tip: google “cis 565” Slides posted before each class Tentative assignment dates on website 1 st assignment handed out today Write concisely Due start of class, one week from today Google group in progress FYI. GDC Early Registration - 01/24
3
Survey Results 15/23 – graphics experience Most students have usable video cards Lerk – don’t be scared I want to be a Toys R Us kid too
4
Survey Results Class interests Pure architecture Game rendering Physical simulations Animation Vision algorithms Image/video processing …
5
Course Roadmap Graphics Pipeline (GLSL) GPGPU (GLSL) Briefly GPU Computing (CUDA, OpenCL) Choose your own adventure Student Presentation Final Project Goal: Prepare you for your presentation and project
6
Agenda Why program the GPU? Graphics Review Evolution of the Programmable Graphics Pipeline Understand the past
7
Why Program the GPU? Graph from: http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/docs/CUDA_C_Programming_Guide.pdf
8
Why Program the GPU? Graph from: http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/docs/CUDA_C_Programming_Guide.pdf
9
Why Program the GPU? Compute Intel Core i7 – 4 cores – 100 GFLOP NVIDIA GTX280 – 240 cores – 1 TFLOP Memory Bandwidth System Memory – 60 GB/s NVIDIA GT200 – 150 GB/s Install Base Over 200 million NVIDIA G80s shipped Numbers from Programming Massively Parallel Processors.
10
NVIDIA GPU Evolution Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
11
Graphics Review Modeling Rendering Animation
12
Graphics Review: Modeling Modeling Polygons vs Triangles How do you store a triangle mesh? Implicit Surfaces Height maps …
13
Triangles Image courtesy of A K Peters, Ltd. www.virtualglobebook.com
14
Triangles Image courtesy of A K Peters, Ltd. www.virtualglobebook.com. Imagery from NASA Visible Earth: visibleearth.nasa.gov.
15
Triangles
17
Implicit Surfaces Images from GPU Gems 3: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
18
Height Maps Image courtesy of A K Peters, Ltd. www.virtualglobebook.com
19
Graphics Review: Rendering Rendering Goal: Assign color to pixels Two Parts Visible surfaces What is in front of what for a given view Shading Simulate the interaction of material and light to produce a pixel color
20
Rasterization What about ray tracing?
21
Visible Surfaces Image courtesy of A K Peters, Ltd. www.virtualglobebook.com
22
Visible Surfaces Z-Buffer / Depth Buffer Fragment vs Pixel Image courtesy of A K Peters, Ltd. www.virtualglobebook.com
23
Shading Images courtesy of A K Peters, Ltd. www.virtualglobebook.com
24
Shading Image from GPU Gems 3: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch14.html
25
Graphics Pipeline Primitive Assembly Primitive Assembly Vertex Transforms Vertex Transforms Frame Buffer Frame Buffer Raster Operations Rasterization and Interpolation Scissor Test Stencil Test Depth Test Blending
26
Graphics Pipeline Images courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
27
Graphics Pipeline Images courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
28
Graphics Pipeline Images courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
29
Graphics Pipeline Images courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
30
Graphics Review: Animation Move the camera and/or agents, and re- render the scene In less than 16.6 ms (60 fps)
31
Evolution of the Programmable Graphics Pipeline Pre GPU Fixed function GPU Programmable GPU Unified Shader Processors
32
Early 90s – Pre GPU Slide from Mike Houston: http://s09.idav.ucdavis.edu/talks/01-BPS-SIGGRAPH09-mhouston.pdf
33
Why GPUs? Exploit Parallelism Pipeline parallel Data-parallel CPU and GPU executing in parallel Hardware: texture filtering, MAD, etc.
34
Generation I: 3dfx Voodoo (1996) Image from “7 years of Graphics” Did not do vertex transformations: these were done in the CPU Did do texture mapping, z-buffering. Primitive Assembly Primitive Assembly Vertex Transforms Vertex Transforms Frame Buffer Frame Buffer Raster Operations Rasterization and Interpolation CPUGPU PCI Slide adapted from Suresh Venkatasubramanian and Joe Kider
35
Aside: Mario Kart 64 Image from: http://www.gamespot.com/users/my_shoe/ High fragment load / low vertex load
36
Aside: Mario Kart Wii High fragment load / low vertex load? Image from: http://wii.ign.com/dor/objects/949580/mario-kart-wii/images/
37
Generation II: GeForce/Radeon 7500 (1998) Slide from Suresh Venkatasubramanian and Joe Kider Vertex Transforms Vertex Transforms Main innovation: shifting the transformation and lighting calculations to the GPU Allowed multi-texturing: giving bump maps, light maps, and others.. Faster AGP bus instead of PCI Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Rasterization and Interpolation GPU AGP Image from “7 years of Graphics”
38
Generation III: GeForce3/Radeon 8500(2001) Slide from Suresh Venkatasubramanian and Joe Kider Vertex Transforms Vertex Transforms For the first time, allowed limited amount of programmability in the vertex pipeline Also allowed volume texturing and multi-sampling (for antialiasing) Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Rasterization and Interpolation GPU AGP Small vertex shaders Small vertex shaders Image from “7 years of Graphics”
39
Generation IV: Radeon 9700/GeForce FX (2002) Vertex Transforms Vertex Transforms This generation is the first generation of fully-programmable graphics cards Different versions have different resource limits on fragment/vertex programs Primitive Assembly Primitive Assembly Raster Operations Rasterization and Interpolation AGP Programmable Vertex shader Programmable Vertex shader Programmable Fragment Processor Programmable Fragment Processor Texture Memory Slide from Suresh Venkatasubramanian and Joe Kider Image from “7 years of Graphics”
40
Generation IV.V: GeForce6/X800 (2004) Slide adapted from Suresh Venkatasubramanian and Joe Kider Simultaneous rendering to multiple buffers True conditionals and loops PCIe bus Vertex texture fetch Vertex Transforms Vertex Transforms Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Rasterization and Interpolation PCIe Programmable Vertex shader Programmable Vertex shader Programmable Fragment Processor Programmable Fragment Processor Texture Memory
41
NVIDIA NV40 Architecture Image from GPU Gems 2: http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter30.html 6 vertex shader units 16 fragment shader units Vertex Texture Fetch
42
Generation V: GeForce8800/HD2900 (2006) Slide adapted from Suresh Venkatasubramanian and Joe Kider Ground-up GPU redesign Support for Direct3D 10 / OpenGL 3 Geometry Shaders Stream out / transform-feedback Unified shader processors Support for General GPU programming Input Assembler Input Assembler Programmable Pixel (Fragment) Shader Programmable Pixel (Fragment) Shader Raster Operations Programmable Geometry Shader PCIe Programmable Vertex shader Programmable Vertex shader Output Merger
43
D3D 10 Pipeline Image from David Blythe : http://download.microsoft.com/download/f/2/d/f2d5ee2c-b7ba-4cd0-9686-b6508b5479a1/direct3d10_web.pdf
44
Geometry Shaders: Point Sprites
46
Geometry Shaders Image from David Blythe : http://download.microsoft.com/download/f/2/d/f2d5ee2c-b7ba-4cd0-9686-b6508b5479a1/direct3d10_web.pdf
47
NVIDIA G80 Architecture Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
48
NVIDIA G80 Architecture Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
49
Why Unify Shader Processors? Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
50
Why Unify Shader Processors? Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
51
Unified Shader Processors Slide from David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
52
Terminology Shader Model Direct3DOpenGLVideo card Example 292.x NVIDIA GeForce 6800 ATI Radeon X800 310.x3.x NVIDIA GeForce 8800 ATI Radeon HD 2900 411.x4.x NVIDIA GeForce GTX 480 ATI Radeon HD 5870
53
Shader Capabilities Table courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
54
Shader Capabilities Table courtesy of A K Peters, Ltd. http://www.realtimerendering.com/
55
Evolution of the Programmable Graphics Pipeline Slide from Mike Houston: http://s09.idav.ucdavis.edu/talks/01-BPS-SIGGRAPH09-mhouston.pdf
56
Evolution of the Programmable Graphics Pipeline Slide from Mike Houston: http://s09.idav.ucdavis.edu/talks/01-BPS-SIGGRAPH09-mhouston.pdf
57
Not covered today: SM 5 / D3D 11 / GL 4 Tessellation shaders *cough* student presentation *cough* Later this semester: NVIDIA Fermi Dual warp scheduler Configurable L1 / shared memory Double precision … Evolution of the Programmable Graphics Pipeline
58
New Tool: AMD System Monitor Released 01/04/2011 http://support.amd.com/us/kbarticles/Pages/AMDSystemMonitor.aspx
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.