计算机图形学.李胜.02.图形硬件设备与系统
硬件发展
- 1950 MIT 旋风一号(Whirlwind I)
- 1958 Calcomp 公司滚动式绘图仪
- 1963 SKETCHPAD
- 60年代中期:随机扫描显示器
- 60年代后期:存储管式显示器
- 1969:初期的显示器缓冲存储器
- 80年代:光栅显示器,图形工作站
- 90年代:液晶显示器
- 90年代末:图形加速卡
图形绘制核心问题
- 1960s 解决可见性问题
- 隐藏线消除算法 Roberts (1963), Appel (1967)
- 隐藏面消除算法 Warnock (1969), Watkins (1970)
- 可见性 排序算法 Sutherland (1974)
- 1970s 光栅化图形学
- 漫反射光照 Gouraud (1971)
- 镜面反射光照 Phong (1974)
- 曲面表面 纹理映射 Blinn (1974)
- Z-buffer隐藏面消除算法 Catmull (1974)
- 反混淆 Crow (1977)
- 混淆:锯齿、闪烁
- 1980s早期 全局光照明
- 光线跟踪 Whitted (1980)
- 辐射度方法 Goral, Torrance et al. (1984), Cohen (1985)
- 绘制方程 Kajiya (1986)
- 1980s后期 照片真实感绘制技术
- shade trees (层次绘制树) Cook (1984)
- shading languages (高级绘制语言) Perlin (1985)
- RenderMan(真实感绘制工具) Hanrahan and Lawson (1990)
- 1990s早期 非照片真实感绘制
- 体绘制 Drebin et al. (1988), Levoy (1988)
- 印象绘画风格 Haeberli (1990)
- 自动钢笔画插图 Salesin et al. (1994-)
- 美术绘制 Meier (1996)
- 2010 面向VR的渲染技术
- 显示位置不同
- 双目
- 头盔
- 镜面
- 2015 基于深度学习的图形渲染
图形处理器
- 显卡
- 普通显卡:跑游戏卡不卡,超频性能好不好
- 专业显卡:强大的性能、稳定性、绘图的精确
- GPU vs CPU
- 图形处理器 GPU
- 早期:简单的存储器和帧缓冲区
- 只起到图形的存储与传递作用
- 一切操作由 CPU 控制
- 现在:不仅仅存储图形,能完成大部分图形函数
- 专业的图形卡已经具备很强的 3D 处理能力
- 早期:简单的存储器和帧缓冲区
- 图形处理器
- 显示主芯片:显卡的核心,俗称 GPU
- 显示缓存:存储将要显示的图形信息和保存图形运算的中间数据
- 帧缓冲器
- 用来存储像素颜色(灰度)值的存储器就称为帧缓冲存储器
- 一般比屏幕大小大得多
- 可存放多个页面,每个页面存放一幅位图
- 离屏渲染: GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作
- 正在渲染的不是当前帧
- GTX vs RTX
- RTX:图灵架构
- 增加了 tensor core 以及 ray tracing core
- 传统光栅扫描显示系统
- 电子束按固定的扫描顺序进行扫描N条扫描线,每条扫描线有M个像素
- 显示器的分辨率:M*N
- 逻辑部件:
- 帧缓冲存储器(Frame Buffer)、视频控制器(video Controller
)、显示处理器、CRT显示器
- CRT 阴极射线管
- 帧缓存是数字设备,光栅显示器是模拟设备
- 帧缓冲存储器(Frame Buffer)、视频控制器(video Controller
)、显示处理器、CRT显示器
- 点状影孔板工作原理
- 三支电子枪
- 电子枪、影孔板中的一个小孔和一个像素呈一直线
- 小孔成像
- 一个像素包括三色荧光点(很小并且充分靠近)
- 调节各电子枪发生的电子束中所含电子的数目,即可控制各色光点亮度
- LCD/LED 显示器
- 不会产生CRT那样的因为刷新频率低而出现的闪烁现象
- 没有电磁辐射,对人体健康没有任何影响
- 液晶
- 电压 -> 通过光的折射角度变化
- 扫描仪 / 三维扫描仪
- 光学分辨率:dpi(dot per inch)
- 应用
- 在线检测
- 实物到CAD模型的转换
- 复杂面型的快速测量等方面
- 影视特技制作
- 虚拟现实
- 高级游成
- 文物保护
- 类别
- 接触式与非接触式
- 三维扫描仪与三维彩色扫描仪
- 外表面扫描与内部扫描
- 色扫描、线扫描与面扫描
一些应用
CAVE
- A room with walls and/or floor formed by rear projection screens
- 一种基于投影的沉浸式虚拟现实显示系统
- handled -> 3D Ready LCD -> 3D Ready TV -> CAVE
immersive virtual simulation
- 沉浸式虚拟现实
- real people using simulated equipment in a (immersive) simulated world/virtual environment
level 0 outside 1 inside 2 inside + perspective 3 inside + perspective + stereo Gaming and Emerging Technology Laboratory (GET)
Kinect:流行的体感交互设备
- Kinect传感器
- CMOS红外传感器
- 该传感器通过黑白光谱的方式来感知环境:
- 纯黑代表无穷远,纯白代表无穷近
- 黑白间的灰色地带对应物体到传感器的物理距离
- 形成一幅代表周围环境的景深图像
- 图像处理器
- 前景背景分割,并跟踪提取前景的变化和运动信息
- 人工智能机器学习部件
- 分割后玩家图像的每一个像素都被传送进一个辨别人体部位的机器学习系统中
- 随后该系统将给出了某个特定像素属于哪个身体部位的可能性
- 骨架系统
- 根据追踪到的20个关节点来生成一幅骨架系统
- Kinect传感器
3D打印
- 分层加工、叠加成型
- 每一层的打印过程分为两步
- 在需要成型的区域喷洒一层特殊胶水,胶水液滴本身很小,且不易扩散
- 是喷洒一层均匀的粉末,粉末遇到胶水会迅速固化黏结,而没有胶水的区域仍保持松散状态
- 3D打印是断层扫描的逆过程
增强现实/混合现实眼镜
- Google Glasses
- 失败了,眩晕,散热
- HoloLens(微软)
- 成功了
- 微型投影仪 + 摄像头 + 传感器 + 存储传输 + 操控设备
- Google Glasses
图形软件系统
- 图形软件系统
- 基本图形软件:支撑软件
- 应用图形软件:专用软件
- 基本图形软件实现方法
- 图形软件包
- 修改高级语言
- 专用高级图形语言
- 图形支撑软件
- 第一层次是面向系统的,主要解决图形设备与计算机的通讯接口等问题,称为设备驱动程序,包括一些最基本的输入、输出程序,事实上,设备驱动程序现在已被作为操作系统一部分,由操作系统或设备硬件厂商开发
- 第二层次是建立在驱动程序之上,完成图元的生成、设备的管理等功能,目前这个层次上的图形支撑软件已经标准化,如CGI等
- 第三层次是在中间层基础上编写的,其主要任务是建立图形数据结构,定义、修改和输出图形,它是面向用户的,要求具有较强的交互功能,使用方便,风格好,概念明确,容易阅读,便于维护和移植,GKS、PHIGS、OpenGL、DirectX便属于这一层次的软件
- 可移植性的四个方面
- 应用程序在不同系统间的可移植性
- 应用程序和图形设备的可移植性
- 图形数据的可移植性
- 程序员的可移植性