1. 图形系统

图形系统组成及相互关系

图形软件和图形硬件

图形应用数据结构:

  • 几何信息:形状、大小
  • 拓扑信息:位置、布局
  • 属性信息:颜色、亮度、纹理
  • 非几何信息:标题、标记

2. 图形硬件

2.1 图形显示设备

2.1.1 阴极射线管(CRT)

工作原理:高速电子束由电子枪发出,经过聚焦系统加速系统磁偏转系统,到达荧光屏的特定位置,荧光物质的电子被轰击后从低能态高能态,但是高能态的电子十分不稳定,会重新跃迁回低能态,这期间会释放出能量,以光的形式表现出来

电子枪:发射电子,并控制其强度

  • 加热器:升温使金属阴极上的电子摆脱能垒的束缚
  • 金属阴极:通常由铯、锂或其他金属制成,特殊的金属存储大量电子
  • 电平控制器:加上正电压,电子束大量通过,形成较亮的点;加上负电压,电子束被部分或全部阻截,形成较暗的点

聚焦系统:是一个电透镜,将分散的电子聚焦成细束

加速系统:通过施加高电压来增加电子的动能,使其携带足够多的能量来激发荧光物质

磁偏转系统:使用磁场控制电子束的路径,使其能够精确地定位到荧光屏的特定位置

如何保持荧光屏上有稳定图像?
  • 持续发射电子束来刷新屏幕:刷新一次指电子束从上到下将荧光屏扫描一次
  • 足够快地发射电子束:大约每秒刷新60次即60帧,人眼才能感觉到屏幕不闪烁,一般65帧以上人眼才会感觉舒服
  • 隔行扫描:如果无法保证扫描速度,则可以采取隔行扫描的技术,即每次交替扫描偶数/奇数行,这样能够近似扫描频率加倍的效果
如何实现彩色?
  • 荧光屏上涂有三种荧光物质,分别发送红绿蓝三原色的光
  • 电子束发送三束电子来激发三种荧光物质,中间通过一个控制栅格来决定电子束的到达位置
  • 电子枪有8位256级的强度控制,就可以利用三原色来构造各种各样的颜色

2.1.2 液晶显示器(LCD)

液晶特性:液晶受到电压影响时,物理性质会改变,此时通过它的光的折射角会发生变化,从而产生色彩

显示原理:光线首先通过一个垂直光偏振器,然后通过控制两片夹有液晶材料的平行玻璃板之间的电极,来改变交叉处液晶材料特性,进而改变光的偏振状态,电极排布成行和列,形成一个网格,每一个行列交叉处定义了一个像素,最后光线通过水平光偏振器

亮暗控制:通过精确控制每个像素的电压,液晶显示器能够控制光的亮度

成像原理是光的折射,因此在不同角度看液晶显示屏必然会有不同的效果,能看到清晰图像的最大角度被称为可视角度,工业上有相关标准来定义可视角度

2.2 图形显示方式

2.2.1 随机扫描显示

绘制原理:电子束可以在显示屏的任意方向上自由移动,按照命令用画线的方式绘出图形

刷新原理:图形的定义以矢量画线命令的形式存放在显示文件中,由显示处理器处理,更改显示文件以在下一次刷新时修改图形

性质

  • 响应快速,适合实时图形和动画
  • 适合显示矢量图形,如线条和轮廓
  • 不能逼真地显示彩色图形
  • 图形的显示质量和处理时长都与一帧的画线数量相关

2.2.2 光栅扫描显示

绘制原理:电子束按照固定的扫描顺序进行扫描,即先从荧光屏的左上角开始,向右扫描一条水平线,然后迅速回到最左边下一行的位置,继续扫描第二条水平线,以此类推直到最后一条水平线

刷新原理:光栅扫描显示设备是画点设备,可以看作成一个点阵,改变电子束的强度来控制每个像素点的亮度和颜色

性质

  • 能够清晰显示复杂的位图图像,细节丰富
  • 支持丰富的颜色深度和图形效果
  • 占用内存较大
  • 显示斜线时存在线条边缘的阶梯效应,即走样

2.2.3 光栅扫描显示系统

组成

  • 显示器:由像素构成的光栅网格
  • 视频控制器/显示控制器:进行光栅操作,如刷新、移动、裁剪、消影等
  • 帧缓冲存储器/帧缓存/显存:存储像素的灰度、颜色等图像信息

性质

  • 分辨率:行方向和列方向可寻址的地址数的乘积,表示显示器的清晰度
  • 帧率/刷新率:每秒刷新的帧数,表示显示器的流畅度

分辨率m×n,颜色数K,和显存大小V满足:vn×m×log2(K)v \geq n \times m \times \log_2(K)

2.3 显卡和GPU

显卡:全称显示接口卡,也叫显示适配器,是主机与显示器连接的桥梁,用于控制计算机的图形输出

  • 图形处理器(GPU):处理需要显示的数据
  • 显存(video memory):存储图像数据的高速内存
  • 数模转换器(DAC):将数字信号转换为模拟信号,并传输给显示器

如果说CPU是主机的心脏,那么GPU就是显卡的心脏

GPU的最重要特性:高效执行大量并行计算

  • 图形渲染:适合实时生成和渲染3D图像,常用于游戏和动画
  • 并行计算:适合大规模计算任务,性能远超CPU,常用于深度学习和人工智能

目前显卡供应商主要有:英特尔(Intel)、超微半导体(AMD)和英伟达(Nvidia)

3. 图形软件

4. 图形流水线

4.1 三阶段

  1. 应用程序阶段:开发者将数据以图元的形式提供给图形硬件
  2. 几何处理阶段:负责处理多边形和顶点操作,如顶点变换、投影、裁剪、着色、光照计算等,以生成最终的几何图形
  3. 光栅阶段:屏幕对象被传到像素处理器进行光栅化,然后输出到显示器

4.2 处理单元

顶点(vertex):是构成3D模型的基本单元,每个顶点包含位置坐标向量(X、Y、Z)和其他属性信息

点云(Point Cloud):大量顶点组成的集合,用于表示3D空间中的物体或场景

图元(primitive):是图形渲染的基本构建块,通常指三角形、线段或点,用于描述物体的形状

片元(fragment):是光栅化的结果,包含颜色、深度、纹理等信息

像素(pixel):是图像的最小显示单元,表示屏幕上可见的单个点

片元包含了比像素更多的信息,单个像素是最终呈现在图像上的点,可能会从多个片元中挑选一个

4.3 处理操作

三角化(Triangulation):将复杂的多边形或曲面分解为三角形,这是因为三角形是最简单的图形单元,能够有效地表示各种形状,简化渲染计算

投影(Projection):将3D坐标转换为2D坐标的过程

裁剪(Clipping):裁剪是去除视野外的图形部分,以提高渲染效率

纹理映射(Texturing):将纹理应用于3D模型表面的过程,将图像细节与模型几何相结合,增强视觉效果

遮挡探测(Occlusion Detection):确定哪些对象被其他对象遮挡,以优化渲染顺序和效率

光栅化(Rasterization):将几何图形转换为片元的过程

4.4 OpenGL流水线

顶点着色器:负责对顶点进行坐标变换、投影变换等操作
光栅花器:将图元转换为片元
片元着色器:负责对片元进行颜色处理、纹理处理等操作