SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
A Brief Overview of the Graphics Pipeline
                Cedric Lee
What is a graphics pipeline?


3D                                           Raster
             Stage      Stage      Stage
Scene                                        Image



●   Hardware, real-time / interactive rendering
●   Popular APIs : OpenGL and DirectX
Overview


●   Basic Graphics Pipeline
●   Modern Graphics Pipeline
●   Beyond Pipelining
●   The New Wave
Basic Graphics Pipeline
●   Use case:
    ●   Render a textured mesh with per-pixel lighting
    ●   ambient light, 1 dir, 1 point, no shadows
    ●   Assume z-buffer based architecture
3D Scene
●   Surface
    ●   Triangle mesh
        –   Vertices and indices
        –   Per-vertex position, normal
    ●   Position + orientation (world matrix)
●   Material
    ●   Per-vertex uv, tangent, binormal
    ●   Diffuse + normal maps
●   Diffuse lighting (direction, colour)
●   Camera (view + projection matrices)
Vertex Fetching


Vertex
Stream                     Per-Vertex

                         Position-OS
               Input
                          Normal-OS
             Assembler   Tangent-OS
                         Binormal-OS
 Index                    Texture UV
Stream
Vertex Processing

  Per-Vertex

 Position-OS
  Normal-OS
 Tangent-OS
 Binormal-OS                 Per-Vertex
  Texture UV
                             Position-WS
                    Vertex   Position-SS
                    Shader    Normal-WS
                             Tangent-WS
   Uniform
                             Binormal-WS
  Constants                   Texture UV
  World Matrix
  View Matrix
Projection Matrix
Scan Conversion



Per-Vertex                                             Per-Pixel

Position-WS                                           Position-WS
Position-SS      Trivial                              Position-SS
                                  Rasterizer
Normal-WS        Reject                               Normal-WS
Tangent-OS                                            Tangent-OS
Binormal-OS                                           Binormal-OS
 Texture UV                                            Texture UV
              Viewport clipping   Early Z rejection
              Back-face culling     Interpolate
Pixel Processing

                     Textures
   Per-Pixel
                      Diffuse
 Position-WS
 Position-SS          Normal
  Normal-WS
 Tangent-WS                       Per-Pixel
 Binormal-WS
  Texture UV                       Depth
                      Pixel        Colour
                     Shader        Alpha
   Uniform
  Constants

Ambient L colour     Texturing
  Dir L colour        Lighting
   Dir L dir
 Point L colour
  Point L pos
Raster Operators (ROPs)


                             Depth
Per-Pixel                    Buffer
            Depth Test,
 Depth      Alpha Test,
 Colour
 Alpha         Blend

                             Colour
                             Buffer


                          Frame buffer /
                          render targets
Modern GPU Pipeline
●   Programmable units
●   Vertex shaders, Pixel Shaders
●   DX10 : Geometry Shader
    ●   Kill/emit vertices, primitives
    ●   Ex. displacement mapping, fur, 1-pass render to
        cube map
Modern GPU Pipeline
●   Unified shader architecture
    ●   Common shading cores shared between Vertex,
        Geometry and Pixel shading units
    ●   Scheduler distributes work
    ●   Load balancing
http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf
Modern GPU Pipeline
●   Bandwidth:
    ●   Hierarchical Z
    ●   PS3: Compressed Z and colour to reduce
        bandwidth for MSAA reads
    ●   X360: in-GPU EDRAM – lots of bandwidth
Modern GPU Pipeline
●   CUDA / DX11 Compute Shader
    ●   Stream processing (GPGPU)
    ●   Exposes shading functionality
    ●   Arbitrary memory reads
Modern GPU
●   More memory, processing units
●   More floating point formats, fewer usage
    restrictions
●   More render targets (8)
●   Longer shaders
●   New data structures (e.g. Texture arrays)
●   Better MSAA and anisotropic filtering support
Beyond Pipelining
●   Multi-processor
    ●   Solution to “memory” and “power” walls
    ●   Pipelining : multiple stages happening at once
    ●   Parallelism : many things happening in the same
        stage
●   Limit of pipelining
    ●   Small number of pipeline steps
    ●   Some steps are much more compute intensive
Parallelism
●   Parallelism examples:
    ●   All components of float4 at the same time
    ●   Multiple vertices at the same time
    ●   Multiple triangles at the same time
SIMD
●   e.g. GPU ALU
●   Shared instruction store and control
●   Compact and less expensive
●   Efficient with no loops or branches
●   Problem with unused processing cycles
    ●   Unfilled quads are inefficient
    ●   Solution : avoid small or skinny triangles (PS3)
●   Not good for more complicated data structures
    or algorithms
SIMT
●   Still SIMD. Shared code between threads.
●   Process groups of primitives (e.g. 48 quads) in
    each thread
●   Latency hiding:
    ●   1 Thread stalls on texture fetch
    ●   Othe threads continue execution
    ●   Especially important due to “memory wall”
SIMT
●   When branching:
    ●   Only evaluate one branch if all primitives take that
        branch
    ●   Must evaluate both branches and mask the results
        if not all primitives take the same branch
●   Reduces unused processor cycles
MIMD
●   e.g. Multi-core CPUs, Cell SPEs, Larrabee
●   Diff code stores and controls for diff processors
●   More complex hardware
●   More expensive
●   Synchronization issues
●   Can handle more complex data structures and
    algorithms
The New Wave
●   MIMD
    ●   Cell SPEs
    ●   Larrabee
Cell SPEs
●   SPEs
    ●   Local memory store
    ●   Shared memory accessed via DMA
    ●   Ring bus
PS3
●   RSX
    ●   Traditional GPU (z-buffer, ROP)
    ●   SIMD data structures and processing (arrays)
●   Offload GPU work to SPUs
    ●   Micro triangle removal
    ●   Skinning
    ●   Post-FX
    ●   Lighting
    ●   Mostly rely on SIMD-friendly data structures
Larrabee
●   Many general purpose CPU cores
●   Coherent memory access from cores
●   Very few fixed-function units (e.g. Texture)
●   Most graphics pipeline components are
    programmable
    ●   Depth buffer
    ●   Blending
●   Invites more complex data structures and algo
What does this mean?
Programming
●   GPU programming may become more like SPU
    programming
    ●   More MIMD
    ●   More synchronization and data buffering issues
    ●   More attention to latency hiding
Surfaces and Volumes
●   Curved surfaces
●   Displacement mapping
●   Multi-resolution meshes
●   Volumes
Lighting
●   Non-uniform representations
    ●   Irregular Shadow Mapping
    ●   Deep Shadow Maps
Rasterization
●   Object-parallel rasterization
    ●   Ray-casting
        –   Implicit surfaces (e.g. Metaballs, Level sets, CSG)
        –   Direct volume rendering
    ●   Order independent transparency
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive RenderingElectronic Arts / DICE
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11smashflt
 
Graphics pipeline and rendering
Graphics pipeline and renderingGraphics pipeline and rendering
Graphics pipeline and renderingiain bruce
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunElectronic Arts / DICE
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteElectronic Arts / DICE
 
Advanced Real-time Post-Processing using GPGPU techniques
Advanced Real-time Post-Processing using GPGPU techniquesAdvanced Real-time Post-Processing using GPGPU techniques
Advanced Real-time Post-Processing using GPGPU techniquesJohan Andersson
 
Deferred shading
Deferred shadingDeferred shading
Deferred shadingFrank Chao
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Tiago Sousa
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas TrudelGDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas TrudelUmbra Software
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontElectronic Arts / DICE
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shadingWuBinbo
 
Optimizing the graphics pipeline with compute
Optimizing the graphics pipeline with computeOptimizing the graphics pipeline with compute
Optimizing the graphics pipeline with computeWuBinbo
 

Was ist angesagt? (20)

5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11
 
Graphics pipeline and rendering
Graphics pipeline and renderingGraphics pipeline and rendering
Graphics pipeline and rendering
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
 
Advanced Real-time Post-Processing using GPGPU techniques
Advanced Real-time Post-Processing using GPGPU techniquesAdvanced Real-time Post-Processing using GPGPU techniques
Advanced Real-time Post-Processing using GPGPU techniques
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
Reyes
ReyesReyes
Reyes
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas TrudelGDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars Battlefront
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shading
 
Optimizing the graphics pipeline with compute
Optimizing the graphics pipeline with computeOptimizing the graphics pipeline with compute
Optimizing the graphics pipeline with compute
 

Andere mochten auch

Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit pptSandeep Singh
 
Modern computer graphics
Modern computer graphicsModern computer graphics
Modern computer graphicsCCommiskey
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteElectronic Arts / DICE
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect AndromedaElectronic Arts / DICE
 

Andere mochten auch (11)

3 d modeling (mac 2013)
3 d modeling (mac 2013)3 d modeling (mac 2013)
3 d modeling (mac 2013)
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit ppt
 
Modern computer graphics
Modern computer graphicsModern computer graphics
Modern computer graphics
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with MantleRendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
 
06 floating point
06 floating point06 floating point
06 floating point
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
Battlefield 4 + Frostbite + Mantle
Battlefield 4 + Frostbite + MantleBattlefield 4 + Frostbite + Mantle
Battlefield 4 + Frostbite + Mantle
 

Ähnlich wie Modern Graphics Pipeline Overview

Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicschangehee lee
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architectureDhaval Kaneria
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUJiansong Chen
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Jean-Philippe Doiron
 
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael MantorGS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael MantorAMD Developer Central
 
Develop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakDevelop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakMatt Filer
 
Terrain Rendering using GPU-Based Geometry Clipmaps
Terrain Rendering usingGPU-Based Geometry ClipmapsTerrain Rendering usingGPU-Based Geometry Clipmaps
Terrain Rendering using GPU-Based Geometry Clipmapsnone299359
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
H 264 in cuda presentation
H 264 in cuda presentationH 264 in cuda presentation
H 264 in cuda presentationashoknaik120
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingElectronic Arts / DICE
 
Deep Learning Tutorial
Deep Learning Tutorial Deep Learning Tutorial
Deep Learning Tutorial Ligeng Zhu
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...Johan Andersson
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081Marek Rosa
 
GTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path RenderingGTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path Rendering Mark Kilgard
 
Hardware Shaders
Hardware ShadersHardware Shaders
Hardware Shadersgueste52f1b
 

Ähnlich wie Modern Graphics Pipeline Overview (20)

GPU - how can we use it?
GPU - how can we use it?GPU - how can we use it?
GPU - how can we use it?
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architecture
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPU
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael MantorGS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
 
Develop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakDevelop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiak
 
Felwyrld Tech
Felwyrld TechFelwyrld Tech
Felwyrld Tech
 
Terrain Rendering using GPU-Based Geometry Clipmaps
Terrain Rendering usingGPU-Based Geometry ClipmapsTerrain Rendering usingGPU-Based Geometry Clipmaps
Terrain Rendering using GPU-Based Geometry Clipmaps
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
TARDEC Presentation 2
TARDEC Presentation 2TARDEC Presentation 2
TARDEC Presentation 2
 
H 264 in cuda presentation
H 264 in cuda presentationH 264 in cuda presentation
H 264 in cuda presentation
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
Deep Learning Tutorial
Deep Learning Tutorial Deep Learning Tutorial
Deep Learning Tutorial
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081
 
Real-time lightmap baking
Real-time lightmap bakingReal-time lightmap baking
Real-time lightmap baking
 
GTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path RenderingGTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path Rendering
 
Hardware Shaders
Hardware ShadersHardware Shaders
Hardware Shaders
 

Mehr von slantsixgames

Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
 
Ask the Producers Feb 8th
Ask the Producers Feb 8thAsk the Producers Feb 8th
Ask the Producers Feb 8thslantsixgames
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)slantsixgames
 
Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)slantsixgames
 
SCons an Introduction
SCons an IntroductionSCons an Introduction
SCons an Introductionslantsixgames
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SConsslantsixgames
 
Confrontation Audio GDC 2009
Confrontation Audio GDC 2009Confrontation Audio GDC 2009
Confrontation Audio GDC 2009slantsixgames
 
Audio SPU Presentation
Audio SPU PresentationAudio SPU Presentation
Audio SPU Presentationslantsixgames
 
Collision Detection an Overview
Collision Detection an OverviewCollision Detection an Overview
Collision Detection an Overviewslantsixgames
 
PPU Optimisation Lesson
PPU Optimisation LessonPPU Optimisation Lesson
PPU Optimisation Lessonslantsixgames
 
Event System Presentation
Event System PresentationEvent System Presentation
Event System Presentationslantsixgames
 
Supersize Your Production Pipe
Supersize Your Production PipeSupersize Your Production Pipe
Supersize Your Production Pipeslantsixgames
 

Mehr von slantsixgames (12)

Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
Ask the Producers Feb 8th
Ask the Producers Feb 8thAsk the Producers Feb 8th
Ask the Producers Feb 8th
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
 
Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)
 
SCons an Introduction
SCons an IntroductionSCons an Introduction
SCons an Introduction
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SCons
 
Confrontation Audio GDC 2009
Confrontation Audio GDC 2009Confrontation Audio GDC 2009
Confrontation Audio GDC 2009
 
Audio SPU Presentation
Audio SPU PresentationAudio SPU Presentation
Audio SPU Presentation
 
Collision Detection an Overview
Collision Detection an OverviewCollision Detection an Overview
Collision Detection an Overview
 
PPU Optimisation Lesson
PPU Optimisation LessonPPU Optimisation Lesson
PPU Optimisation Lesson
 
Event System Presentation
Event System PresentationEvent System Presentation
Event System Presentation
 
Supersize Your Production Pipe
Supersize Your Production PipeSupersize Your Production Pipe
Supersize Your Production Pipe
 

Kürzlich hochgeladen

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Kürzlich hochgeladen (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Modern Graphics Pipeline Overview

  • 1. A Brief Overview of the Graphics Pipeline Cedric Lee
  • 2. What is a graphics pipeline? 3D Raster Stage Stage Stage Scene Image ● Hardware, real-time / interactive rendering ● Popular APIs : OpenGL and DirectX
  • 3. Overview ● Basic Graphics Pipeline ● Modern Graphics Pipeline ● Beyond Pipelining ● The New Wave
  • 4. Basic Graphics Pipeline ● Use case: ● Render a textured mesh with per-pixel lighting ● ambient light, 1 dir, 1 point, no shadows ● Assume z-buffer based architecture
  • 5. 3D Scene ● Surface ● Triangle mesh – Vertices and indices – Per-vertex position, normal ● Position + orientation (world matrix) ● Material ● Per-vertex uv, tangent, binormal ● Diffuse + normal maps ● Diffuse lighting (direction, colour) ● Camera (view + projection matrices)
  • 6. Vertex Fetching Vertex Stream Per-Vertex Position-OS Input Normal-OS Assembler Tangent-OS Binormal-OS Index Texture UV Stream
  • 7. Vertex Processing Per-Vertex Position-OS Normal-OS Tangent-OS Binormal-OS Per-Vertex Texture UV Position-WS Vertex Position-SS Shader Normal-WS Tangent-WS Uniform Binormal-WS Constants Texture UV World Matrix View Matrix Projection Matrix
  • 8. Scan Conversion Per-Vertex Per-Pixel Position-WS Position-WS Position-SS Trivial Position-SS Rasterizer Normal-WS Reject Normal-WS Tangent-OS Tangent-OS Binormal-OS Binormal-OS Texture UV Texture UV Viewport clipping Early Z rejection Back-face culling Interpolate
  • 9. Pixel Processing Textures Per-Pixel Diffuse Position-WS Position-SS Normal Normal-WS Tangent-WS Per-Pixel Binormal-WS Texture UV Depth Pixel Colour Shader Alpha Uniform Constants Ambient L colour Texturing Dir L colour Lighting Dir L dir Point L colour Point L pos
  • 10. Raster Operators (ROPs) Depth Per-Pixel Buffer Depth Test, Depth Alpha Test, Colour Alpha Blend Colour Buffer Frame buffer / render targets
  • 11. Modern GPU Pipeline ● Programmable units ● Vertex shaders, Pixel Shaders ● DX10 : Geometry Shader ● Kill/emit vertices, primitives ● Ex. displacement mapping, fur, 1-pass render to cube map
  • 12. Modern GPU Pipeline ● Unified shader architecture ● Common shading cores shared between Vertex, Geometry and Pixel shading units ● Scheduler distributes work ● Load balancing
  • 15. Modern GPU Pipeline ● Bandwidth: ● Hierarchical Z ● PS3: Compressed Z and colour to reduce bandwidth for MSAA reads ● X360: in-GPU EDRAM – lots of bandwidth
  • 16. Modern GPU Pipeline ● CUDA / DX11 Compute Shader ● Stream processing (GPGPU) ● Exposes shading functionality ● Arbitrary memory reads
  • 17. Modern GPU ● More memory, processing units ● More floating point formats, fewer usage restrictions ● More render targets (8) ● Longer shaders ● New data structures (e.g. Texture arrays) ● Better MSAA and anisotropic filtering support
  • 18. Beyond Pipelining ● Multi-processor ● Solution to “memory” and “power” walls ● Pipelining : multiple stages happening at once ● Parallelism : many things happening in the same stage ● Limit of pipelining ● Small number of pipeline steps ● Some steps are much more compute intensive
  • 19. Parallelism ● Parallelism examples: ● All components of float4 at the same time ● Multiple vertices at the same time ● Multiple triangles at the same time
  • 20. SIMD ● e.g. GPU ALU ● Shared instruction store and control ● Compact and less expensive ● Efficient with no loops or branches ● Problem with unused processing cycles ● Unfilled quads are inefficient ● Solution : avoid small or skinny triangles (PS3) ● Not good for more complicated data structures or algorithms
  • 21. SIMT ● Still SIMD. Shared code between threads. ● Process groups of primitives (e.g. 48 quads) in each thread ● Latency hiding: ● 1 Thread stalls on texture fetch ● Othe threads continue execution ● Especially important due to “memory wall”
  • 22. SIMT ● When branching: ● Only evaluate one branch if all primitives take that branch ● Must evaluate both branches and mask the results if not all primitives take the same branch ● Reduces unused processor cycles
  • 23. MIMD ● e.g. Multi-core CPUs, Cell SPEs, Larrabee ● Diff code stores and controls for diff processors ● More complex hardware ● More expensive ● Synchronization issues ● Can handle more complex data structures and algorithms
  • 24. The New Wave ● MIMD ● Cell SPEs ● Larrabee
  • 25. Cell SPEs ● SPEs ● Local memory store ● Shared memory accessed via DMA ● Ring bus
  • 26. PS3 ● RSX ● Traditional GPU (z-buffer, ROP) ● SIMD data structures and processing (arrays) ● Offload GPU work to SPUs ● Micro triangle removal ● Skinning ● Post-FX ● Lighting ● Mostly rely on SIMD-friendly data structures
  • 27. Larrabee ● Many general purpose CPU cores ● Coherent memory access from cores ● Very few fixed-function units (e.g. Texture) ● Most graphics pipeline components are programmable ● Depth buffer ● Blending ● Invites more complex data structures and algo
  • 28. What does this mean?
  • 29. Programming ● GPU programming may become more like SPU programming ● More MIMD ● More synchronization and data buffering issues ● More attention to latency hiding
  • 30. Surfaces and Volumes ● Curved surfaces ● Displacement mapping ● Multi-resolution meshes ● Volumes
  • 31. Lighting ● Non-uniform representations ● Irregular Shadow Mapping ● Deep Shadow Maps
  • 32. Rasterization ● Object-parallel rasterization ● Ray-casting – Implicit surfaces (e.g. Metaballs, Level sets, CSG) – Direct volume rendering ● Order independent transparency