Download presentation
Presentation is loading. Please wait.
Published byAnis Shields Modified over 8 years ago
1
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke
2
Classic Rendering Pipeline (as presented in CS 445) Modeling Transformation Modeling Transformation Viewing Transformation Viewing Transformation Projection Transformation Projection Transformation Lighting 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Transform into 3D camera coordinate system Draw pixels (includes texturing, hidden surface,...) Clip primitives outside camera’s view Transform into 2D screen coordinate system Illuminate according to lighting and reflectance Wrong
3
Classic Rendering Pipeline (as presented in CS 445) What’s wrong with this model (for an OpenGL system)? –Model/view transforms combined –Really “vertices” not “primitives” Making this the vertex pipeline –There’s a lot going on in the “scan conversion” stage! Primitive assembly Rasterization Texture mapping Per-pixel lighting Visibility (Z-buffer) –We refer to these collectively as the pixel or fragment pipeline Modeling Transformation Modeling Transformation Viewing Transformation Viewing Transformation Projection Transformation Projection Transformation Lighting 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion
4
GPUCPU High-Level Pipeline Back up & think about the larger picture: –What sort of tasks does each stage perform? Application Processing Geometry Processing Rasterization
5
High-Level Pipeline ApplicationGeometryRasterization (a.k.a. “vertex pipeline”) (a.k.a. “pixel pipeline” or “fragment pipeline”) Handle inputTransformRasterize (fill pixels) Simulation & AILighting Interpolate vertex parameters Look up/filter textures CullingSkinningZ- and stencil tests LOD selection Calculate texture coords Blending Prefetching
6
Graphics Pipeline: CPU SIM CULL DRAW DISPLAY
7
Graphics Pipeline: GPU GPUCPU Note: –Vertex processor does all transform and lighting –Pipe widths vary Intra-GPU pipes wider than CPU GPU pipe Thin GPU CPU pipe –Many caches and FIFOs not shown –Soon: render-to-vertex-array Here’s what’s cool: –Can now program vertex processor! –Can now program pixel processor! Application Vertex Processor Assembly & Rasterization Pixel Processor Video Memory (Textures) Vertices (3D) Xformed, Lit Vertices (2D) Fragments (pre-pixels) Final pixels (Color, Depth) Graphics State Render-to-texture Vertex Processor Pixel Processor
8
Graphics Pipeline: GPU Frame buffer Fragment Processor Texture Storage + Filtering Rasterizer Geometry Processor Geometry Storage CPU VerticesPixels
9
Graphics Pipeline: GPU Don’t forget! Not your father’s GPU
10
Possible Bottlenecks Frame buffer Fragment Processor Texture Storage + Filtering Rasterizer Geometry Processor Geometry Storage CPU transfertransformrastertexturefragmentframe buffer Vertex BoundPixel Bound CPU/Bus Bound
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.