The Rendering Pipeline

The Rendering Pipeline

The Rendering Pipeline Framebuffers • Framebuffer is the interface between the device and the computer’s notion of an image • A memory array in which the computer stores an image – On most computers, separate memory bank from main memory – Many different variations, motivated by cost of memory Framebuffers: True-Color • A true-color (aka 24-bit or 32-bit) framebuffer stores one byte each for red, green, and blue • Each pixel can thus be one of 224 colors • Pay attention to Endian-ness • How can 24-bit and 32-bit mean the same thing here? Framebuffers: Indexed-Color • An indexed-color (8-bit or PseudoColor) framebuffer stores one byte per pixel (also: GIF image format) • This byte indexes into a color map: • How many colors can a pixel be? • Common on low-end displays (cell phones, PDAs, GameBoys) Framebuffers: Indexed Color Illustration of how an indexed palette works A 2-bit indexed-color image. The color of each pixel is represented by a number; each number corresponds to a color in the palette. Image credits: Wikipedia Framebuffers: Hi-Color • Hi-Color is (was?) a popular PC SVGA standard • Packs pixels into 16 bits: – 5 Red, 6 Green, 5 Blue (why would green get more?) – Sometimes just 5,5,5 • Each pixel can be one of 216 colors • Hi-color images can exhibit worse quantization artifacts than a well-mapped 8-bit image Color Quantization A process that reduces the number of distinct colors used in an image Intention that the new image should be as visually similar as possible to the original image Image credits: Wikipedia The Rendering Pipeline: A Tour Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters The Display You Know Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters The Framebuffer You Know Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters The Rendering Pipeline Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters 2-D Rendering: Rasterization Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters The Rendering Pipeline: 3-D Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters The Rendering Pipeline: 3-D Scene graph Object geometry Result: Modeling • All vertices of scene in shared 3-D “world” coordinate Transforms system Lighting Calculations • Vertices shaded according to lighting model Viewing • Scene vertices in 3-D “view” or “camera” coordinate Transform system • Exactly those vertices & portions of polygons in view Clipping frustum Projection • 2-D screen coordinates of clipped vertices Transform The Rendering Pipeline: 3-D Scene graph Object geometry Result: Modeling • All vertices of scene in shared 3-D “world” coordinate Transforms system Lighting Calculations • Vertices shaded according to lighting model Viewing • Scene vertices in 3-D “view” or “camera” coordinate Transform system • Exactly those vertices & portions of polygons in Clipping view frustum Projection • 2-D screen coordinates of clipped vertices Transform Rendering: Transformations • So far, discussion has been in screen space • But model is stored in model space (a.k.a. object space or world space) • Three sets of geometric transformations: – Modeling transforms – Viewing transforms – Projection transforms The Rendering Pipeline: 3-D Scene graph Object geometry Result: Modeling • All vertices of scene in shared 3-D “world” coordinate Transforms system Lighting Calculations • Vertices shaded according to lighting model Viewing • Scene vertices in 3-D “view” or “camera” coordinate Transform system • Exactly those vertices & portions of polygons in view Clipping frustum Projection • 2-D screen coordinates of clipped vertices Transform Rendering: Lighting • Illuminating a scene: coloring pixels according to some approximation of lighting – Global illumination: solves for lighting of the whole scene at once – Local illumination: local approximation, typically lighting each polygon separately • Interactive graphics (e.g., hardware) does only local illumination at run time The Rendering Pipeline: 3-D Scene graph Object geometry Result: Modeling • All vertices of scene in shared 3-D “world” coordinate Transforms system Lighting Calculations • Vertices shaded according to lighting model Viewing • Scene vertices in 3-D “view” or “camera” coordinate Transform system • Exactly those vertices & portions of polygons in Clipping view frustum Projection • 2-D screen coordinates of clipped vertices Transform Rendering: Clipping • Clipping a 3-D primitive returns its intersection with the view frustum: Rendering: Clipping • Clipping is tricky! In: 3 vertices Clip Out: 6 vertices Clip In: 1 polygon Out: 2 polygons The Rendering Pipeline: 3-D Transform Illuminate Transform Clip Project Rasterize Model & Camera Rendering Pipeline Framebuffer Display Parameters Trivia The first blockbuster to use CGs was Star Wars in 1977. The 40-second Death Star simulation sequence took the animation company Cuba 12 weeks to produce! http://www.youtube.com/watch?v=4bSefSLaPFs .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us