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.

Radiosity

  • 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.
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OpenGL ES渲染管线(graphics pipeline)

渲染管线(graphics pipeline) 在 OpenGL ES 1.0 版本中,支持固定管线,而 OpenGL ES 2.0 版本不再支持固定管线,只支持可编程管线。什么是管线?什么又是固定...

Android API Guide for Animation and Graphics(六)—— 动画与图形(OpenGL ES)

OpenGL ESAndroid包含支持高性能2D和3D图形绘制开源库(OpenGL),尤其是OpenGL ES API. OpenGL是一个跨平台的图形API,它为硬件处理3D图形指定了一个标准的软...

【raviramamoorthi-Computer Graphics】OpenGL1:Buffers and Matrices

①OpenGL 没有特别的window

Displaying Graphics with OpenGL ES(四)——Applying Projection and Camera Views

运用投影和相机视图在OpenGL ES的环境下,projection和camera views允许像你用眼睛看物体的方式绘制图像对象。通过数学的转换绘制对象坐标能模拟出这种物理视图。 ~ Proje...

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

本文由@浅墨_毛星云 出品,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/article/details/70544201这篇文章是解析计...

A trip through the Graphics Pipeline 2011, part 3

A trip through the Graphics Pipeline 2011, part 3 by fgiesen on July 3, 2011 At this point, w...
  • killcpp
  • killcpp
  • 2011年10月27日 11:08
  • 418
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:The Graphics Pipeline and OpenGL
举报原因:
原因补充:

(最多只允许输入30个字)