一、计算机图像学相关概念
1.1 计算机图形学,是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学。
1.2 屏幕像素组成的网格即称为栅格。
1.3 计算机图形学研究
半透明效果:
1.4 Rendering
是一个3D model -> 2D images的过程,主要可以分为两大类方法。
1.5 Graphics Pipeline(图形流水线)
1.7 图形流水行是一个固定的处理步骤,OpenGL相关函数可以理解为对这个流水线进行参数设置。GPU在Vertex Operations和Fragment Operations两个模块中具有可可编程功能。通过Vertex Shader 或Fragment Shader(Pixel Shader)编程来实现相关功能。
可直接在Vertex Shader中编程控制顶点的各种属性;省去了在CPU中计算顶点的位置在传输到GPU中的耗时;通过Vertex Shader只需要传输一次,后面的计算顶点位置的计算都在GPU中进行,效率高;
可以直接在Fragment shader中编程控制片元、像素的各种属性;
随之技术的发展,GPU中增加了一个Geometry shader模块,能能根据GPU中输入的源数据生成新的顶点和面片,可以在GPU中细化模型;
1.8 相关例子
1.9 shader编程
采用GLSL编程语言。
1.20 GPU高性能计算
通用并行计算平台,使得不具备计算机图形基础得人可以采用GPU进行通用计算(GPGPU)。
二、freeglut、glew环境配置
http://freeglut.sourceforge.net/
http://glew.sourceforge.net/