1 / 27

Under the Hood: 3D Pipeline

Under the Hood: 3D Pipeline. Motherboard & Chipset. PCI Express x16. Discrete 3D Graphics Architecture. Graphics Sub-System. CPU. Local Memory. System Memory. 3 D GFX. North Bridge. AGP / PCI-E. South Bridge. Display Devices. Frame Buffer Z-Buffer Texture Vertex….

zoe-shaw
Download Presentation

Under the Hood: 3D Pipeline

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. Under the Hood: 3D Pipeline

  2. Motherboard & Chipset PCI Express x16

  3. Discrete 3D Graphics Architecture Graphics Sub-System CPU Local Memory System Memory 3D GFX North Bridge AGP / PCI-E South Bridge Display Devices Frame Buffer Z-Buffer Texture Vertex…

  4. Discrete Graphics Cards • NVIDIA • ATI

  5. Local Memory Integrated 3D Graphics (Unified Memory Architecture) Graphics Sub-System CPU Optional Local Memory System Memory 3D GFX NB + 3D GFX AGP / PCI-E Display Devices South Bridge Display Devices Frame Buffer Z-Buffer Texture Vertex…

  6. Example: Intel Core i7 (1st Generation)

  7. Example: Intel Core i7 (2nd Generation)

  8. Keep in mind that… 3D graphics processor works in parallel to the CPU

  9. Many Views of Graphics Pipeline • Simple “Front-End/Back-End” view. • Textbook version in [Foley/van Dam]. • David Kirk’s (nVidia CTO) version presented in EG Hardware Workshop 1998: (slide 05) http://www.merl.com/hwws98/presentations/kirk/index.htm

  10. Simplified View • The Data Flow: 3D Polygons (+Colors, Lights, Normals, Texture Coordinates…etc.) • 2D Polygons • 2D Pixels (I.e., Output Images) Transform (& Lighting) Rasterization

  11. Some different versions…

  12. OpenGL ES 1.X (Fixed Function Pipeline)

  13. Triangles Transform & Lighting Transform & Lighting Triangle Setup Rasterization Rasterization Rasterization Rasterization Texture Mapping Texture Mapping Texture Mapping Rendering Rendering Rendering Rendering Conventional 3D Graphics Pipeline Evolution of 3D Graphics Hardware Triangles Surface Engine Transform & Lighting Vertex Shader Triangle Setup Pixel Shader Rasterization Texture Mapping Rendering

  14. And some really scary ones…

  15. A Detailed 3D Graphics Pipeline

  16. A Quick Review • By default, graphic pipeline will do the following: • Take as input various per-vertex quantities (color, light source, eye point, texture coordinates, etc.) • Calculate a final color for each vertex using a basic lighting model (OpenGL uses Phong lighting) • For each pixel, linearly interpolate the three surrounding vertex colors to shade the pixel (OpenGL uses Gouraud shading) • Write the pixel color value to the frame buffer

  17. Why Need Hardware • All parts of graphics pipeline can be done in software. • But very slowly. • Example: mesaGL • For some applications, speed is beauty • Games • Walkthrough • Visualization

  18. Evolutions of Graphics Hardware • Gouraud-shaded polygons. • Then came antialiasing. • Then came texture mapping. • Now comes programmable shading.

  19. Fixed vs. Programmable • Starting in 1999 some graphics cards used the standard lighting model and Gouraud shading to draw polygon fragments entirely in hardware • Implementing the pipeline in hardware made processing polygons much faster, but the developer could not modify the pipeline (hence “fixed function pipeline”) • New programmable hardware allows programmers to write vertex and pixel programs to change the pipeline

  20. OpenGLFixed Function Vertex Vertex (object) Vertex (clip) Transform[MVP],[MV],[MV]-T Normal Vertex (eye) ColorSecondaryColor Front&BackColor [0,1] Lighting Front&BackSecondaryColor [0,1] Texgen TextureMatrixn TexCoordn TexCoordn EdgeFlag EdgeFlag

  21. OpenGLFixed Function Fragment Color SecondaryColor Texn TEn Sum Fog TexCoord[n] Color [0,1] z (|ze|,f ) Depth Depth Coord Coord FrontFacing FrontFacing

  22. Programmable Shaders • A concept made popular by Pixar’s RenderMan. • First appeared in hardware: UNC PixelFlow • See SIGGRAPH papers by Molnar 1995 and Olano 1997. • Made affordable by nVidia GeForce3 and XBox.

  23. GL2 Vertex Processor Vertex (object) Vertex (clip) Uniform Normal Vertex (eye) ColorSecondaryColor VertexShader Front&BackColor Front&BackSecondaryColor TexCoordn Temporaries TexCoordn EdgeFlag EdgeFlag

  24. GL2 Fragment Processor Color Texture Uniform SecondaryColor FragmentShader TexCoord[n] Color z (|ze|,f ) Depth Depth Temporaries Coord Coord FrontFacing FrontFacing

More Related