致富彩票

华中科技大学-计算机图形学精品课

  • 名称:华中科技大学-计算机图形学
  • 分类:电脑基础  
  • 观看人数:加载中
  • 时间:2024/5/18 21:55:31

360截图华中科技大学-计算机图形学精品课.jpg

计算机图形学计算机学院 黄章进zhuang@ustc.edu.cn第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API2Sketchpad项目• Ivan Sutherland (MIT 1963年)建立了刻画交互式计算机图形学的基本框架:– 用户在显示器上看到一个对象(的图像)– 用户利用输入设备(光笔、鼠标、跟踪球等)点选该对象– 对象发生改变(移动、旋转、变形等)– 重复上述过程图形系统的主要元素• 输入设备• 中央处理器(CPU)• 图形处理器(GPU)• 存储器• 帧缓冲区• 输出设备4交互式图形系统图像在帧缓存形成输入设备 输出设备5像素与光栅• 现代图形系统都是基于光栅的,在输出设备上看到的图像都是图形元素组成的的阵列。• 像素(pixel=picture element):图像的基本单元• 光栅(raster):像素的阵列6帧缓冲区• 帧缓冲区(frame buffer):图形系统的核心部件,存储屏幕上像素的颜色信息• 分辨率(resolution):帧缓冲区中像素的个数• 深度(depth)或精度(precision):每个像素的位数– 全彩(真彩)色:24位, 224 种颜色。也称为RGB-颜色,每个像素被赋予红、绿、蓝三基色颜色组(各8位)7处理器• CPU (Central Processing Unit)• GPU (Graphics Processing Unit)• 处理由应用程序生成的图元(线段、圆和多边形等)的属性,并为帧缓冲区中的像素赋值• 光栅化或扫描转换:几何实体到帧缓冲区中像素的颜色和位置的转换过程。8第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API9输出设备 • 显示器 • 投影仪 • 绘图仪 • 打印机10图形显示设备的发展• 60年代中期:画线显示器(亦称向量显示器)– 需要刷新;设备昂贵,限制普及• 60年代后期:存储管式显示器– 不需刷新,价格较低,缺点是不具有动态修改图形功能,不适合交互• 70年代初,刷新式光栅扫描显示器出现,大大地推动了交互式图形技术的发展– 以点阵形式表示图形,使用专用的缓冲区存放点阵,由视频控制器负责刷新扫描11图形显示设备 • 刷新式CRT – 光栅扫描显示器 – 随机扫描显示器 – 彩色CRT显示器 • 平板显示器 – 发射显示器 – 非发射显示器 • 三维观察设备12刷新式CRT• CRT(Cathode Ray Tube ):阴极射线管• 组成:包括电子枪、聚焦系统、加速电极、偏转系统、荧光屏• 工作原理:电子枪发射电子束,经过聚焦系统、加速电极、偏转系统,轰击到荧光屏的不同部位,被其内表面的荧光物质吸收,发光产生可见的图形13CRT显示器• 余辉时间:从屏幕发光到衰减为其原亮度十分之一的时间• 刷新率:在屏幕上重复画图的频率14光栅扫描显示器• 基于电视技术• 电子束横向扫描屏幕,一次一行,从顶到底依次进行– 每一行称为一条扫描线(scan line)– 一次扫描所产生的图像称为一帧(frame)• 图形元素或像素(pixel, picture element):每个可由电子束点亮的屏幕点• 图形信息保存在刷新缓冲区或帧缓冲区– 每像素一位的帧缓冲区称为位图(bitmap)– 每像素多位的帧缓冲区称为像素图(pixmap)16光栅扫描显示器17光栅扫描显示器• 水平回扫:刷新每条扫描线后,电子束回到屏幕左端• 垂直回扫:在每帧的终止处,电子束返回到屏幕的左上角18隔行扫描• 可采用隔行刷新方式分两次显示每一帧19随机扫描显示器• 随机扫描显示器也称为向量显示器、笔划显示器或笔迹显示器• 电子束只在屏幕上显示图形的部分移动• 电子束逐条地跟踪图形的组成线段,生成线框图• 图形的定义是存放在称为刷新显示文件存储区的一组画线命令– 刷新显示文件称为显示列表、向量文件或显示程序20随机扫描显示器21随机扫描显示器• 随机扫描系统的刷新频率依赖于显示的线段数• 随机扫描系统用于画线应用,不能显示逼真的有阴影场景• 向量显示器一般具有比光栅系统更高的分辨率• 向量显示器生成光滑线条,而光栅系统生成锯齿状线条• 光栅系统以其灵活性和提高的画线能力淘汰了向量技术22彩色CRT显示器• 利用能发射不同颜色光的荧光层的组合来显示彩色图形• 电子束穿透法– 用于随机扫描监视器– 使用红和绿两层荧光层– 颜色由电子束在荧光层中的穿透深度决定• 红、绿、橙、黄四色• 荫罩法– 用在光栅扫描系统– 产生RGB颜色模型表示的彩色范围23彩色荫罩式CRT24平板显示器• 平板显示器相比CRT能减小体积、减轻重量并节省能耗• 分为两类– 发射显示器• 将电能转化为光能• 例如,等离子体显示板、薄膜光电显示器、发光二极管(LED)– 非发射显示器• 利用光学效应将来自其他光源的光转换为图形模式• 例如,液晶监视器(LCD)26等离子体显示板• 等离子体显示板,也称为气体放电显示器– 通常将包含氖气的混合气体充入两块玻璃板之间的区域而构成– 图形信息存储在刷新缓冲区中– 在成对的水平和垂直导电带上施加点火电压,激发交叉点处的气体进入发光的等离子态27等离子体显示板28液晶显示器• 液晶显示器常用于小型系统– 通过能阻塞或传递光的液晶材料,传递来自周围的或内部光源的偏振光– 液晶是指化合物具有晶状结构的分子,并可以像液体那样流动– 将电压置于两交叉导体,改变液晶分子的排列方向来允许/阻挡光线通过29液晶显示器30显示设备• 纵横比或高宽比– 4:3 (1.33:1)– 16:9 (1.77:1)– 宽银幕电影:1.85:1或2.39:1• 分辨率– VGA: 640x480– XGA: 1024x768– SXGA: 1280x1024– HDTV 720p: 1280x720– HDTV 1080p: 1920x1080– 4K: 4096x2160 or 3840x216031立体感• 为观察者的每只眼睛给出不同的视图来提供三维效果,从而使场景带有深度– 偏光式、快门式32三维打印33第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API34输入设备• 第一阶段:控制开关、穿孔纸等• 第二阶段:键盘• 第三阶段:二维定位设备,如鼠标、光笔、图形输入板、触摸屏、语音等等• 第四阶段:三维输入设备(如空间球、数据手套、数据衣),用户的手势、表情等• 第五阶段:用户的思维35输入设备• 二维– 键盘– 鼠标– 数据板– 游戏杆• 三维– 三维空间球– 激光测距仪– 数据手套– 三维扫描仪、CT、MRI– Microsoft Kinect– Leap Motion36三维空间球Microsoft Kinects(2011)• 无接触体感交互37Leap Motion (2013)• 无接触手势交互38第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API39成像模型 • 物理成像系统 – 人类视觉系统 – 针孔照相机 • 虚拟照相机系统 – 成像模型 – 全局和局部光照40物理图像 --- 图片• 二维格式• 物理成像系统– 照相机– 显微镜– 望远镜– 人类视觉系统41计算机图像 • 在计算机图形学中,图像的生成过程完全类似于照相机和人类视觉等物理成像系统• 来源可以是不存在 的42对象(Object)• 物理成像系统:照相机等– 三维世界:人物、风景等• 计算机图形学– 虚拟/人造对象:通过点、线和多边形等几何图元来构造对象43对象• 顶点(vertex):空间中的位置• OpenGL等图形系统用顶点的集合来定义或逼近对象– 直线:两个端点– 多边形:有序的顶点列表– 球面:球心和球面上一点• AutoCAD等系统提供图形化界面来方便构造现实世界的虚拟模型44观察者(Viewer)• 观察者观察对象,生成对象的图像– 人:成像在视网膜– 照相机:成像在底片• 对象独立于观察者– 对同一对象,不同观察者会看到不同的图像– 横看成岭侧成峰,远近高低各不同45对象与观察者的独立性46(a) 观察者A的视图 (b) 观察者B的视图 (c) 观察者C的视图伸手不见五指47光(light)• 人(被)看到图像,是对象发射或反射的光进入人眼• 光是电磁辐射的一种形式• 电磁波:电磁能以波的形式传播– 波长λ或频率f表征:f λ = c,其中c是光速– 电磁波谱包括无线电波、红外线和可见光谱等48可见光• 可见光就是人类视觉系统对它有反应的那部分– 波长大约介于350 ~ 780 nm (纳米, 10-8米)– 不同波长对于不同颜色:红色 –- 650nm,蓝色–- 450nm,绿色 –- 520nm49X-射线 可见光 无线电波 (nm)350  (nm) 780光源与几何光学• 光源所发出光学的频率可以是一组离散值或连续值– 激光:单一频率的光– 日光灯/白炽灯:频率范围内的光• 几何光学– 光源是具有固定强度的光能发射器– 光线从光源射出,沿直线传播,直到遇到物体• 理想点光源:从一个点向所有方向均匀发射光线50成像系统的三要素• 物体/对象• 观察者(人、照相机)• 光源• 物体表面材质的属性确定光照射在物体上的效果• 注意对象、观察者以及光源是完全独立的51成像模型• 给定– 场景中的对象– 对象的光反射属性– 光源属性– 观察者:人或照相机• 如何生成该场景的图像?52跟踪光线• 从点光源出发,跟踪所有的光线,确定哪些光线进入照相机的镜头• 光线在被吸收或者进入无穷空间之前,有可能与物体发生多次相互作用– 反射:镜面– 散射– 折射:透明物体53物理成像方法• 基于跟踪光线– 光线跟踪(ray tracing)和光子映射(photonmapping)– 对物理世界很好的近似,可模拟任意复杂的物理效果• 基于能量守恒– 辐射度方法(radiosity):适合把入射光线均匀散射的表面54光线跟踪原理55光线跟踪效果56物理成像系统• 人类视觉系统(human visual system)– 遵循同样物理原理的复杂系统– 三色理论• 针孔照相机(pinhole camera)– 理解照相机和其他光学成像仪器的工作原理– 图形系统成像模型的基础57亮度图像与彩色图像• 亮度图像(luminance image)– 单色图像– 值为灰度等级– 类似于黑白电影和电视• 彩色图像(color image)– 可以显示出色调(hue), 饱和度(saturation)和亮度(lightness)– 必须匹配可见光谱中的所有波长吗?否!58人类视觉系统角膜cornea晶状体 lens虹膜 iris视网膜retina感光细胞sensors视神经optic nerve59感光细胞• 两种类型的感光细胞– Rods 视杆细胞• 仅能感知亮度,不能感知颜色,夜视– Cones 视锥细胞• 感知亮度(较强光)和色彩• 三种类型的锥状细胞• 只有三种刺激值送到大脑60强度和亮度• 强度:光线能量的物理度量• 亮度:度量我们所感知到的物体发射出的光线有多强• 人类视觉系统对不同波长光的响应不同– 对强度相同的红光和绿光,感知到的亮度不同– 对绿光最敏感,对红光和蓝光最不敏感61视锥细胞的感知曲线• 人类能够区分颜色是由于三种视锥细胞具有不同的光谱敏感度。– 全色盲、红绿色盲62三色理论• 使用三种基色或原色(primary color) 来近似所感知到的所有颜色• 在计算机图形学中所谓的三原色不一定与人眼所感知的三种值恰好完全匹配63彩色荫罩式CRT显示器的原理64加色与减色 • 加色– 通过把三原色的值加在一起形成一种颜 色• 彩色显示器、投影仪、照片正片(positive film)– 原色为红 (R),绿(G),蓝(B)• 减色– 通过在白光中过滤掉青色(cyan), 品红 色(magenta)和黄色(yellow)形成最终的颜色• 光线与物体的相互作用 • 彩色打印 • 照片负片(negative film)65针孔照相机 • 方形盒一个侧面的中心有一个小孔,胶片放在盒子里与小孔相对的内表面上 – 小孔非常小,仅容一条光线进入– 胶片平面与针孔距离 为d – 坐标系原点在小孔处66针孔照相机 • (x, y, z)点的投影(xp,yp,-d)xp =-d*x/zyp =-d*y/z• 视域或视角:胶片上能成完整像的最大物体所张的角度 θ=2 tan-1(h/2d)• 无穷景深:不论远近都会清晰成像67针孔照相机的缺点• 针孔太小:单条光线– 透镜替换小孔• 视角不能调节– 焦距可调的透镜– 等价地,胶片平面与小孔距离可调68虚拟照相机模型投影平面 pp的投影投影中心投影线69折叠暗箱照相机虚拟照相机模型• 投影线:对象上一点到透镜中心的连线• 投影中心(COP):透镜中心• 投影平面:移至透镜前的虚拟成像平面• 对象上一点的像位于投影线与投影平面的交点70裁剪窗口• 图像大小是有限的– 场景中位于视角/视域体中对象在胶片上成像• 在投影平面内设置一个裁剪矩形(clipping rectangle)或裁剪窗口(clipping window)• 给定投影中心的位置、投影平面的位置和方向,还有裁剪窗口的大小,我们就能确定哪些对象会在图像中出现。71优势• 把对象、观察者和光源区分开• 二维图形是三维图形的一个特殊情形• 可以得到简单的软件API (Applicationprogramming interface)– 指定对象、光源、照相机、材料属性– 由API的实现确定最终的图像• 可以得到快速的硬件实现• 主流API,如OpenGL和Direct3D都是基于该模型72全局光照 • 不能对每个对象独立地计算它的颜色和阴影 – 有些对象被其它对象遮住了光源– 光可以在对象之间反射– 有些对象是透明的73全局与局部光照• 全局光照模型– 光线跟踪、光子映射– 辐射度方法– 目标:照片真实感图形渲染• 局部光照模型– Phong光照模型– 目标:交互式或实时图形渲染74光线跟踪方法的不足• 光线跟踪在很上大程度上是基于物理模型的,但为何不应用它设计一个图形系统?• 对于由多边形和二次曲面构成的对象,应用点光源时,它确实非常简单• 原则上它可以得到全局光照效果,例如阴影和多重反射,但是光线跟踪速度很慢,不适用于交互系统的需要• 借助GPU实现的光线跟踪接近于实时75第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API76成像模型回顾• 能否模拟虚拟照相机模型设计图形系统中的硬件和软件?• 应用程序编程接口(API)– 只需指定• 对象• 材料属性• 观察者• 光源• 如何实现API?77成像模型回顾• 全局光照模型– 光线跟踪方法– 辐射度方法– 计算量非常大,目前没有硬件加速支持,不适合实时或交互式系统• 局部光照模型– Phong光照模型– 计算量适中,有硬件加速支持– 当前主流API:OpenGL, Direct3D78流水线体系• 按照应用程序定义对象的先后顺序,依次处理每个对象– 只考虑局部光照• 流水线体系结构• 所有步骤都可以通过显示卡的硬件实现79顶点 顶点 像素 处理器裁剪器与图片装配器 光栅化器 片段处理器应用程序 显示设备流水线(pipeline)• 工厂装配线• 算术流水线:a+(b*c)• 图形渲染流水线80成像过程• 四个主要步骤:– 顶点处理– 裁剪和图元装配– 光栅化– 片段处理81顶点处理• 图元的类型和顶点集定义了场景的几何– 对象由一组图元组成,而每个图元又包含一组顶点• 流水线中大部分工作是把对象在一个坐标系中表示转化为另一坐标系中的表示:– 世界坐标系– 照相机(眼睛)坐标系– 屏幕坐标系• 坐标的每个变换相当于一次矩阵乘法• 

顶点处理器也计算顶点的颜色82顶点 顶点 像素 处理器裁剪器与图元装配器 光栅化器 片段处理器投影• 把三维观察者位置与三维对象结合在一起,确定二维图像的构成– 透视投影:所有投影线交于投影中心– 平行投影:投影线平行,投影中心在无穷远,用投影方向表示• 在顶点处理步中,对各个顶点的处理是相互独立的顶点 顶点 像素 处理器裁剪器与图元装配器 光栅化器 片段处理器83图元装配•

 在进行裁剪和光栅化处理之前,顶点必须组装成几何对象– 线段– 多边形– 曲线和曲面84顶点 顶点 像素 处理器裁剪器与图元装配器 光栅化器 片段处理器裁剪• 真正的照相机不能“看到”整个世界,图形学中的虚拟照相机也只能看到世界的一部分– 不在视景体中的对象要从场景中裁剪掉• 裁剪必须针对逐个图元进行85光栅化• 如果一个对象不被裁掉,那么在帧缓冲区中相应的像素就必须被赋予颜色• 

光栅化程序为每个图元生成一组片段• 片段是“潜在的像素”– 在帧缓冲区中有一个位置– 具有颜色和深度属性• 光栅化程序在对象上对顶点的属性进行插值得到片段的属性86顶点 顶点 像素 处理器裁剪器与图元装配器 光栅化器 片段处理器片段处理• 对片段进行处理,以确定帧缓冲区中相应像素的颜色

• 颜色可以由纹理映射确定,也可以由顶点颜色插值得到• 片段可能被离照相机更近的其它片段挡住– 隐藏面消除87顶点 顶点 像素 处理器裁剪器与图元装配器 光栅化器 片段处理器固定功能流水线88可编程流水线89第二章 计算机图形系统2.1 图形系统的组成2.2 输出设备2.3 输入设备2.4 成像模型2.5 渲染流水线2.6 图形API90编程接口• 应用程序设计人员是通过软件接口访问图形系统,这个接口就是应用编程接口(API)91应用程序图形库(API)驱动程序键盘鼠标显示设备笔式绘图仪模型• 二维模型• PostScript的设计基础• 基本函数:– moveto(x,y):移位– lineto(x,y):画线– 初始化/终止– 改变画笔颜色或线宽92例子• 程序片段:moveto(0,0)lineto(1,0)lineto(1,1)lineto(0,1)lineto(0,0)93基于光栅的二维系统• 基于光栅:把像素直接写到帧缓存中• 单个函数write_pixel(x, y, color)– (x,y)是帧缓存中像素的位置– color是该位置像素的颜色94三维API的构成• 函数:定义生成一幅图像所需要的内容– 对象– 观察者– 光源– 材料属性• 其它信息– 从鼠标和键盘等设备获取输入– 系统的能力95对象的定义• 绝大多数API支持有限的基本几何对象,例如:– 点 points(零维对象)– 线段 line segments(一维对象)– 多边形 polygons(二维对象)– 某些曲线和曲面• 二次曲面 quadrics• 多项式参数曲面• 所有基本形状都是通过空间中的位置或顶点(vertices)定义的。96例子glBegin(GL_POLYGON)glVertex3f(0.0, 0.0, 0.0);glVertex3f(0.0, 1.0, 0.0);glVertex3f(0.0, 0.0, 1.0);glEnd( );对象类型顶点位置对象定义结束97照相机的指定 • 六个自由度 – 镜头中心的位置,即投影中心(COP)– 方向• 镜头、焦距 • 胶卷尺寸 • 胶卷平面的方向98光源与材料• 光源类型– 点光源与分布式光源– 聚光灯– 远光源与近光源– 光源的颜色属性• 材料属性– 吸收性:颜色属性– 反射性:漫反射、镜面99建模-渲染模式• 建模器:交互式地设计并摆放对象– 工作站– 基于虚拟照相机模型进行实时渲染的建模软件• 渲染器:生成高质量的图像– 渲染农场:计算集群– RenderMan、POV-Ray:基于光线跟踪• 接口文件:描述要渲染的对象以及光源、相机和材料属性等信息的(文本)文件100本章小结• 计算机图形系统的组成• 虚拟照相机模型• 图形处理流水线体系结构• 图形API的构成101