1 / 10

The Graphics Pipeline Revisited

The Graphics Pipeline Revisited. Real Time Rendering Instructor: David Luebke. Classic Rendering Pipeline (as presented in CS 445). 3D Geometric Primitives. Modeling Transformation. Transform into 3D world coordinate system. Wrong. Lighting.

burian
Télécharger la présentation

The Graphics Pipeline Revisited

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke

  2. Classic Rendering Pipeline (as presented in CS 445) 3D Geometric Primitives Modeling Transformation Transform into 3D world coordinate system Wrong Lighting Illuminate according to lighting and reflectance Viewing Transformation Transform into 3D camera coordinate system Projection Transformation Transform into 2D screen coordinate system Clipping Clip primitives outside camera’s view Scan Conversion Draw pixels (includes texturing, hidden surface, ...) Image

  3. Classic Rendering Pipeline (as presented in CS 445) 3D Geometric Primitives • 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 pixelor fragment pipeline Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Scan Conversion Image

  4. High-Level Pipeline • Back up & think about the larger picture: • What sort of tasks does each stage perform? CPU GPU ApplicationProcessing Geometry Processing Rasterization

  5. High-Level Pipeline

  6. Graphics Pipeline: CPU • SIM • CULL • DRAW • DISPLAY

  7. Graphics Pipeline: GPU CPU GPU Graphics State VertexProcessor PixelProcessor Application VertexProcessor Assembly& Rasterization PixelProcessor VideoMemory(Textures) Vertices(3D) Xformed,LitVertices(2D) Fragments(pre-pixels) Finalpixels(Color, Depth) Render-to-texture • 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!

  8. Graphics Pipeline: GPU CPU Geometry Storage Geometry Processor Rasterizer Fragment Processor Framebuffer Texture Storage + Filtering Vertices Pixels

  9. Graphics Pipeline: GPU • Don’t forget! Not your father’s GPU

  10. Possible Bottlenecks CPU transfer transform raster texture fragment frame buffer CPU Geometry Storage Geometry Processor Rasterizer Fragment Processor Framebuffer Texture Storage + Filtering CPU/Bus Bound Vertex Bound Pixel Bound

More Related