The Graphics Pipeline and OpenGL

原创 2016年08月28日 19:13:07

The Graphics Pipeline and OpenGL

The synthetic camera model

  • Two components of viewing
    • Set of geometric objects that form content of the scene
    • Viewer through which the scene is imaged

The graphics pipeline

Primitives->Geometry processor->Rasterizer->Fragment processor->Frame buffer

The geometry processor

  • Transforms primitves to the camera’s coordinate system, prepares them for rasterization
  • Culls primitives facing away from the camera or lying outside the view frustum

The rasterizer

  • Generates fragments(proto-pixels)

Fragment processor

  • Check if fragments are visible
  • Determines color
  • All fragments treated identically, irrespective of the original primitive

Frame buffer

  • Memory buffer used for the construction of the image.
  • Not all data that passes through the frame buffer is displayed. It is like a sandbox in which the image is constructed.
  • Used by the window system for display

Double buffering


  • Render into the back buffer while the window system points to the front buffer. When the next frame is assembled, swap.
  • Avoid terrible visual artifacts

Double buffering


  • Render into the back buffer while the window system points to the front buffer. When the next frame is assembled, swap.
  • Avoid terrible visual artifacts.

Advantages and disadvantages of pipeline model

  • Great fro parallel processing
    • Primitives processed independently
    • Fragments processed independently
  • Does not support interaction between multiple object in the scene
  • Global illumination,shadows,reflection,refraction

Global illumination

  • Consider indirect illumination that is transmitted by means of other objects
  • Primitives are no longer independent

Ray tracing

  • Rays are cast from the viewpoint and followed recursivley through the scene
  • Whitted ray tracing: Compute direct illumination from light sources at every point hit by traced rays.


  • Discretize scene into pathes. Compute strength of interaction between patches.
  • Shoot light from source patches, deposit in other patches. iterate until light is absorbed.

Photon mapping

  • Stage 1: Trace photons from light sources and deposit onto photon map when photons interact with diffuse surfaces.
  • Stage 2: Cast rays from viewpoint and estimate radiance

Design considerations for OpenGL

Separation of content and viewer

  • Separates object description from viewer specification
  • Two types of function
    • Describe objects in the world (the input)
    • Specify how the object should be processed for constructing an image (the state)

OpenGL is a state machine

  • State machine with input and outputs
    • Input is geometric object, output is a set of pixels
    • State machine converts a collection of geometric objects in three dimensions to an image. This process is controlled by the state.
    • State specifies how objects are projected onto the image plane, how the are colored, etc.

[转] A trip through the Graphics Pipeline

转一个国外牛人的文章;深入浅出的介绍了现代GPU的方方面面,从软件到硬件都有。理解了这些对理解新一代图形API大有好处! 原文 A trip through the Graphics Pipeline...
  • qwertyu1234
  • qwertyu1234
  • 2015年09月29日 16:56
  • 1859

OpenGL ES渲染管线(graphics pipeline)

渲染管线(graphics pipeline) 在 OpenGL ES 1.0 版本中,支持固定管线,而 OpenGL ES 2.0 版本不再支持固定管线,只支持可编程管线。什么是管线?什么又是固定...
  • arag2009
  • arag2009
  • 2013年12月06日 15:10
  • 2595


A little guide about modern OpenGL and why it gives us so much value. Shaders + Cube Env Ma...
  • jaccen
  • jaccen
  • 2016年06月08日 10:20
  • 941

OpenGL ES pipeline简介

作者:abamon/XTBlock 我的个人博客站 转载请注明出处: 前言 在移动应用开发过程...
  • u011757360
  • u011757360
  • 2015年04月19日 17:28
  • 1169

【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 图形渲染管线 The Graphics Rendering Pipeline

本文由@浅墨_毛星云 出品,转载请注明出处。   文章链接:这篇文章是解析计...
  • gcs6564157
  • gcs6564157
  • 2017年04月24日 13:33
  • 1721

Core Graphics与OpenGL的关系

+demo 连接 本文是《Programming iOS5》中Drawi...
  • u014773226
  • u014773226
  • 2017年01月17日 16:22
  • 946

graphics pipeline

  • scdnshijiemengxiang
  • scdnshijiemengxiang
  • 2014年04月09日 11:40
  • 295

The graphics pipeline

By learning OpenGL, you've decided that you want to do all of the hard work yourself. That inevitabl...
  • vampirem
  • vampirem
  • 2013年10月28日 15:02
  • 555

Graphics pipeline

  • chenqiang0721
  • chenqiang0721
  • 2014年07月04日 09:55
  • 557

Interactive Computer Graphics - A Top-Down Approach with Shader-Based OpenGL

2015-09-30    我很早之前就关注这本书了。在刚开始学习计算机图形学的时候,我首先购买的是另外一本,名叫 Computer Graphics with OpenGL,说到这本书,到手的...
  • cloudqiu
  • cloudqiu
  • 2017年02月10日 13:59
  • 427
您举报文章:The Graphics Pipeline and OpenGL