Evolution of GPUs Chris Seitz PDF created with pdfFactory Pro trial version www.pdffactory.com Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing 1999-2000: Transform and lighting 2001: Programmable vertex shader 2002-2003: Programmable pixel shader 2004: Shader model 3.0 and 64-bit color support ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Real-Time Rendering Graphics hardware enables real-time rendering Real-time means display rate at more than 10 images per second 3D Scene = Collection of 3D primitives (triangles, lines, points) ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Image = Array of pixels PC Architecture Motherboard CPU System Memory Bus Port (PCI, AGP, PCIe) Graphics Board Video Memory GPU ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Hardware Graphics Pipeline Application Stage 3D Triangles Geometry Stage For each triangle vertex: Transform position: 3D -> screen Compute attributes 2D Triangles Rasterization Stage For each triangle: Rasterize triangle Interpolate vertex attributes Shade pixels Resolve visibility ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Pixels Real-time Graphics 1997: RIVA 128 – 3M Transistors ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Real-time Graphics 2004: ©2004 NVIDIA Corporation All rights reserved UnReal Engine 3.0 Images Courtesy of Epic Games PDF created with pdfFactory Pro trial version www.pdffactory.com ‘95-‘98: Texture Mapping & Z-Buffer CPU GPU Application / Geometry Stage Rasterization Stage Rasterizer 2D Triangles Texture Unit Bus (PCI) 2D Triangles Textures Textures System Memory ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Video Memory Raster Operations Unit Frame Buffer Raster Operations Unit (ROP) Rasterizer Texture Unit Fragments Raster Operations Unit Scissor Test Fragment tested against scissor rectangle Screen Position (x, y) Alpha Test Frame Buffer tested against reference value Alpha Value a Depth z Color (r, g, b) Stencil Test stencil buffer value at (x, y) tested against reference value tested against z-buffer value at (x, y) (Visibility test) blended with color buffer value at (x, y) Ksrc * Colorsrc + Kdst * Colorsrc (src = fragment, dst = color buffer) ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Z Test Stencil Buffer Z-Buffer Color Buffer Alpha Blending Pixels Texture Mapping Base Texture Triangle Mesh (with UV coordinates) + Sampling Magnification, Minification Filtering Bilinear, Trilinear, Anisotropic Mipmapping Perspective Correct Interpolation ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com = ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com GeForce 6800 – 220M Transistors Shader Model 3.0 FP64 & High Dynamic Range ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com 2004: Shader Model 3.0 & 64-Bit Color Support CPU GPU Application Stage Rasterization Stage Geometry Stage Vertex Shader (static & dynamic flow control) Rasterizer w/ Z-Cull Pixel Shader Texture Unit (static & dynamic flow control) Raster Operations Unit 64-Bit Color 3D Triangles Bus (PCIe) 3D Triangles Textures Textures System Memory ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Video Memory Frame Buffer Shader Model 3.0 Longer shaders → More complex shading Pixel shader: Dynamic flow control → Better performance Derivative instructions → Shader antialiasing Support for 32-bit floating-point precision → Fewer artifacts Face register → Faster two-sided lighting Vertex shader: Texture access → Simulation on GPU, displacement mapping Lord of the Rings™ The Battle for Middle-earth™ Geometry Instancing → Better performance Far Cry ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com The GeForce Series Amazing Real-time Effects ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Shader Model 3.0 / 64-bit Floating Point Processing Unreal Engine 3.0 Running On GeForce Series Million Triangle Detail Mesh Models High Dynamic Range Rendering Fully Customizable Shaders ©2004 NVIDIA Corporation All rights reserved UnReal Engine 3.0 Images Courtesy of Epic Games PDF created with pdfFactory Pro trial version www.pdffactory.com Shader Model 3.0 / 64-bit Floating Point Processing Unreal Engine 3.0 Running On GeForce Series 100 Million Triangle Source Content Scene High Dynamic Range Rendering ©2004 NVIDIA Corporation All rights reserved UnReal Engine 3.0 Images Courtesy of Epic Games PDF created with pdfFactory Pro trial version www.pdffactory.com High Dynamic Range Imagery The dynamic range of a scene is the ratio of the highest to the lowest luminance Real-life scenes can have high dynamic ranges of several millions Display and print devices have a low dynamic range of around 100 Tone mapping is the process of displaying high dynamic range images on those low dynamic range devices High dynamic range images use floating-point colors OpenEXR is a high dynamic range image format that is compatible with NVIDIA’s 64-bit color format HDR Rendering Engine Compute surface reflectance, save in HDR buffer Contributions from multiple lights are additive (blended) Add image-space special effects & Post to HDR buffer AA, Glow, Depth of Field, Motion Blur ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Real-Time Tone Mapping The image is entirely computed in 64-bit color and tone-mapped for display Renderings of the same scene, from low to high exposure ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Evolution of Performance 10000 CPU Frequency (GHz) Bus Bandwidth (GB/sec) Pix e 1000 l a te Fill R Pixel Fill Rate (MPixels/sec) Vertex Rate (MVerts/sec) 100 e Rat x te Ver phic Gra 10 h widt d n s Ba Bu nd w s Ba idth re qu C PU F 0.1 Graphics Bandwidth (GB/sec) en cy 1994 MB 2004 32 MB 64 MB 128 MB 256 MB DirectX DirectX DirectX DirectX OpenGL 1.1 ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com 512 MB OpenGL 1.4 OpenGL 1.5 Looking Ahead: Now + 10 years 1000000 CPU Frequency (GHz) 127 Gvertx Bus Bandwidth (GB/sec) Pixel Fill Rate (MPixels/sec) 100000 Vertex Rate (MVerts/sec) Graphics flops (GFlops/sec) 10000 Graphics Bandwidth (GB/sec) 1000 e Pix 100 l R Fill ate rte Ve xR 10 BU Mverts ap Gr e at S dw i B an C PU hic lo sf ps dth 100 GHz cy uen q e Fr 0.1 1994 2004 100 MHz ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com 2014 NVIDIA SLI Multi-GPU ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Progression of Graphics Virtual Fighter NV1 1Mtrans Wanda NV1x 22Mtrans Dawn NV3x 130Mtrans ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Wolfman NV2x 63Mtrans Nalu NV4x 222M Thank You PDF created with pdfFactory Pro trial version www.pdffactory.com ... shadow map contains the depth (z/w) of the 3D points visible from the light’s point of view: Shadow Rendering A 3D point (x, y, z, w) is in shadow if: z/w < value of shadow map at (x/w, y/w) A hardware... Collection of 3D primitives (triangles, lines, points) ©2004 NVIDIA Corporation All rights reserved PDF created with pdfFactory Pro trial version www.pdffactory.com Image = Array of pixels PC...Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing