收藏 分享(赏)

第二章 计算机图形系统概述.ppt

上传人:fmgc7290 文档编号:8306987 上传时间:2019-06-19 格式:PPT 页数:82 大小:2.94MB
下载 相关 举报
第二章   计算机图形系统概述.ppt_第1页
第1页 / 共82页
第二章   计算机图形系统概述.ppt_第2页
第2页 / 共82页
第二章   计算机图形系统概述.ppt_第3页
第3页 / 共82页
第二章   计算机图形系统概述.ppt_第4页
第4页 / 共82页
第二章   计算机图形系统概述.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、第二章 计算机图形系统概述,本章主要内容,图形硬件系统 显示设备 图形工作站和观察系统 输入设备 硬拷贝设备 网络图形系统 图形软件系统 图形软件 OpenGL,本章重点掌握,图形显示设备的一些知识 OpenGL编程知识,视频显示设备,刷新式CRT显示器 光栅扫描显示器 随机扫描显示器 彩色CRT显示器 直视存储管显示器 平板显示器,视频显示设备,刷新式阴极射线管显示器CRT显示器,工作原理:电子枪发射的电子束经过聚焦系统和偏转系统的作用,打在荧光屏上,激活荧光物质发荧光。,CRT的基本结构,电子枪 聚焦系统 偏转系统 荧光屏,刷新式CRT显示器,显示器的基本概念及技术指标,分辨率 点距 刷新

2、频率、扫描频率 带宽,屏幕分辨率,屏幕分辨率:CRT无重叠显示的最多点数 三种表示方法 光点直径 水平方向上的光点数垂直方向上的光点数r(xy) 显示器精度dpi(每英寸的亮点数),光点直径,区别CRT屏幕上两个亮点:衰减60,显示器的基本概念及技术指标,点距光点的直径,显示器的物理光点尺寸。荧光屏上两个相邻的相同颜色磷光点之间的最短距离。单位:mm,CRT显示器,屏幕的刷新电子束周期性地回到同一点的方式来保持图象。,显示器的基本概念及技术指标,显示器的基本概念及技术指标,显示器的扫描频率,也叫刷新率分为: 行频 场频,显示器的基本概念及技术指标,行频(水平扫描频率)电子枪每秒在屏幕上扫描过的

3、水平线数单位: KHz 表示:h 场频(重绘率/垂直扫描频率/帧频)每秒钟重复绘制显示画面的次数。单位: Hz 表示:v,显示器的基本概念及技术指标,r(x)水平扫描的点数 r(y)每帧扫描线数相互关系:理论行频 hr(y) v,显示器的基本概念及技术指标,视频带宽单位时间内扫描的点数。单位: MHz理论带宽 B= r(x) r(y) v,显示纵横比,在屏幕的两个方向生成同等长度的线段所需的垂直点数对水平点数的比值 3/4,光栅扫描显示器,光栅扫描图形由点(像素点)组成,光栅扫描显示器,光栅扫描显示器,缓存深度:每像表的位数隔行扫描逐行扫描,光栅扫描系统组成,帧缓冲存储器 视频控制器 显示处理

4、器,光栅扫描系统组成,简单光栅图形系统结构,帧缓冲存储器(frame buffer) 图形定义,保存一组对应屏幕所有点的强度值像素点Pixel :每个屏幕点,光栅扫描系统组成,视频控制器 基本刷新操作 有两个寄存器用来存放屏幕像素的坐标 存储在帧缓冲器中该像素对应位置的值被取出,并用来设置CRT电子束的强度值,光栅扫描系统组成,显示处理器将应用程序给出的图形定义数字化为一组像素强度值,并存放在帧缓冲器中扫描变换:将给定直线和其他几何对像的图形命令转换为一组离散的强度值,光栅扫描系统组成,光栅扫描系统组成,彩色CRT显示器,电子穿透法:用于随机扫描显示器荫罩法:用于光栅扫描系统,利用能发射不同颜

5、色光的荧光层的组合来显示彩色图形,电子穿透法,工作原理: 红绿两层荧光层,显示颜色取决于电子束穿透的深度 廉价,只可能有四种颜色,图形质量差,电子穿透法,工作原理,荫罩法,多枪型彩色CRT显示器 原理: 混合荧光物质 电子枪 荫罩,荫罩法,荫罩法,效果图,DAC,平板显示器,Flat_panel display 分类 发射显示器(Emissive displays) 非发射显示器(Nonemissive displays),平板显示器-发射显示器,发射显示器(Emissive displays) 原理:将电能转换为光能 类型: 等离子体显示板:气体放电,氖气 薄膜光电显示器:荧光物质,硫化锌与

6、锰 发光二极管,平板显示器_非发射显示器,非发射显示器(Nonemissive displays) 原理:将太阳光或其他光源的光转换为图形模式,通过能阻塞或传递光的液晶材料,传递来自周围的或内部光源的偏振光 类型:液晶显示器(LCD),平板显示器_非发射显示器,立体显示,为观察者的每只眼睛给出不同的视图来提供三维效果,从而场景带有深度,立体显示,主动式立体显示系统,立体显示,被动立体显示系统示意图,微机 工作站 中小型机 大型机 计算机网络,图形系统的硬件工作平台类型,IBM Z900大型机1套,价值1500万美金,图形输入输出设备,一、图形输入设备 1、向量型图形输入设备 采取跟踪轨迹,记录

7、坐标点的方法输入图形。主要输入的数据形式为直线或折线构成的图形构成的图形学数据。 数字化板 鼠标器 光笔,2光栅扫描型图形输入设备 采取逐行扫描,按一定密度采样的方式输入图形。主要的输入数据形式为一幅由亮度值构成的像素矩阵图像。 扫描仪 摄像机,图形输入输出设备,二、常用的图形输出设备 向量型:作画机构随着图形输出形状而移动并成像 绘图机 光栅扫描型:作画机构按光栅矩阵扫描整张图面,并按输出内容对图面成像。 点阵式打印机 激光打印机 热敏印刷机 静电印刷机 喷墨印刷机,图形输入输出设备,三、其他输入输出设备 跟踪球和空间球 操纵杆 数据手套,图形输入输出设备,图形软件,坐标表示 笛卡尔坐标 建

8、模坐标 世界坐标 规范化设备坐标 设备坐标或屏幕坐标,图形软件,坐标表示,笛卡儿坐标:通用图形编程软件包 建模坐标系/局部坐标系/主坐标系:描述单个物体的形状、大小、尺寸所采用的坐标系称为 世界坐标系(WC):把物体放入场景的适当位置。,设备坐标系(DC)或屏幕坐标系:该场景的世界坐标系描述转换为一个或多个输出设备参照系来显示。该坐标系依赖于具体的显示输出设备 规范化坐标系(NC):指独立于具体物理设备的一种坐标系,它具有显示空间在x和y上都是0到1,主要用于在计算机内部处理图形,对一个具体物理设备,NC与DC仅仅是相差一个比例因子,NC可被看成是一个抽象的图形设备,坐标表示,从建模坐标到设备

9、坐标的变换序列为: (xmc,ymc)-(xwc,ywc)-(xnc,ync)-(xdc,ydc) 为适应比例和纵横比的差别,NC变换到输出设备(DC)的正方形区域,以保持适当的比例,坐标表示,坐标表示,建模坐标系,世界坐标系,观察与投影坐标系,规范化设备坐标系,设备坐标系,图形功能,图形的基本构造块称为图形输出图元(graphics output primitives):包括字符串和几何成分,如点、直线、曲线、填充区域(多边形、圆等)以及彩色阵列定义的形状。 属性是输出图元的特性。属性描述一个特定图元是怎样显示的,包括强度和彩色设定,线型、文本类型,以及填充模式 可以使用几何变换(如平移、比

10、例、旋转、投影等)改变物体的位置、大小或方向,软件标准,标准化图形软件的最初目标是可移植性 国际和许多国家的标准化组织努力合作开发计算机图形标准。 图形核心系统GKS(Graphical Kernel System)。GKS是针对二维图形软件标准,随后经过扩充,出现三维图形的GKS-3D。 PHIGS(Programmers Hierarchical Interactive Graphics System)是出现的第二个图形标准,是对GKS的扩充,软件标准,标准图形函数定义为独立于任何程序设计语言的一组规范。语言联编(Language binding)则是为特定的高级程序设计语言而给出该语言去

11、访问各种标准图形函数的语法 CGI(Computer Graphics Interface,计算机图形接口)标准规定对输出设备图形接口 CGM(Computer Graphics Metafile计算机图形元文件)标准规定图形存档和传输,OpenGL图形开发,OpenGL绘制管线 OpenGL库与编程环境 基本图元绘制 状态机管理 例子学习,OpenGL规范,OpenGL库是在硬件支持标准基础上,提供的一个硬件图形加速软件库,让应用程序能够高效地访问硬件的功能。 难以用硬件实现的高级特性(如高级图元类型的支持、场景图形和实用函数等)不是OpenGL规范的一部分。 许多库支持这些扩展部分。,顶点

12、 索引 数据流,3D API 命令,透视变换,像素更新,像素产生,Programmable Fragment Processor,Transformed Vertices,Programmable Vertex Processor,GPU Front End,Primitive Assembly,Frame Buffer,3D API: OpenGL 或 Direct3D,三维应用程序,Pre-transformed Vertices,Pre-transformed Fragments,Transformed Fragments,数据流与命令流,CPU-GPU 边界 (AGP/PCIe总线),

13、OpenGL绘制管线,图形绘制流水线,图形绘制流水线上OpenGL每个阶段的命令,OpenGL流水线架构,顶点数据,像素数据,顶点操作,像素操作,纹理内存,光栅化,片元操作,帧缓存,OpenGL流水线架构,顶点操作 坐标变换 光照 裁剪,OpenGL流水线架构,像素操作 对应用程序发送的像素数据块执行像素存储操作。 控制像素数据块的字节顺序交换、填充和偏移量,以便发送和接收各种格式像素。 其他像素操作,如像素转移(映射、缩放和偏移),OpenGL流水线架构,光栅化 将几何数据转换为片元。 片元是OpenGL写入帧缓存之前处理的位置、颜色、深度、纹理坐标和其他数据。 注意片元与像素的区别。支持多

14、重采样的OpenGL实现将片元存储在子像素位置上。 光栅化主要是硬件完成计算机图形学中的图元填充问题。,OpenGL流水线架构,片元操作 对于光栅化生成的每个片元,进行操作。 像素归属测试 裁剪测试 多样本片元操作 Alpha测试 模板测试 深度测试 遮盖测试 混合 抖动 逻辑运算,网上资源,http:/www.opengl.org 有很多例子可供学习 news:comp.graphics.api.opengl http:/ http:/www.mesa3d.org/ http:/www.cs.utah.edu/narobins/opengl.html 一个opengl的tutorial,Op

15、enGL 与相关API之间关系,GLUT,GLU,GL,GLX, AGL or WGL,X, Win32, Mac O/S,software and/or hardware,application program,OpenGL Motif widget or similar,编程环境,基本库 Opengl32.lib opengl32.dll gl.h Glu32.lib glu32.dll glu.h Glut32.lib glut32.dll glut.h Glaux.lib glaux.dll glaux.h,OpenGL命令语法,基本图元绘制,表面模型,基本由点组成线段或多边形 多边形

16、最后构成物体模型,10种基本图元类型,基本绘制单元,glBegin(mode);glVertext3f(x,y,z);glVertext3f(x,y,z);glVertext3f(x,y,z); glEnd();,OpenGL状态,OpenGL是一个状态机,应用程序通过OpenGL函数调用来实现状态的设置。例如下面的实例:glColor3f(1.f,0.f,0.f); /red as an RGB tripleglBegin(GL_POLYGONS);glVertex3f(-.5f,0.f,0.f);glEnd();glColor3f(0.f,0.f,1.f); /blue as an RGB

17、 tripleglBegin(GL_POINTS);glVertex3f(0.f,0.f,0.f);glEnd();glBegin(GL_POINTS);glVertex3f(.5f,0.f,0.f);glEnd();,OpenGL状态,OpenGL总是按照应用程序的发送顺序执行命令。 因此状态影响应该是最接近绘制的状态改变函数来决定。 同时主要注意状态改变对效率的影响,状态设置与查询,布尔类型控制与查询 void glEnable(GLenum target); Void glDisable(GLenum target); Void glIsEnable(); 数值类型 glSet,glGe

18、t 堆栈类型 Void glPushAttrib(GLbitfield mask); Vod glPopAttrib(void); Void glPushClientAtrrib(GLbitfield mask); Void glPopClientAttrib(void); 其他 glGetString, glGetError,glGet使用,void glGetBooleanv(GLenum pname,GLboolean* param); void glGetDoublev(GLenum pname, GLdouble* param); void glGetFloatv(GLenum pn

19、ame, GLfloat* param); void glGetIntegerv(GLenum pname, Glint* param);其中,pname可能是:GL_COLOR_CLEAR_VALUEGL_CURRENT_COLORGL_CURRENT_NORMALGL_MATRIX_MODEGL_MODEVIEW_MATRIXGL_PROJECTION_MATRIXEtc.,其他类型,Const GLubyte* glGgetString(GLenum name);其中,name可能是:GL_VENDOR, GL_VERSION, GL_EXTENSISONS, GL_RENDERER G

20、Lenum glGetError(void); 其中错误编码见书本p16,表1.2。一般的使用方法是assert(glGetError() = GL_NO_ERROR); glGetLight,glGetMaterial, glGetTexEnv,glGetImage等。,材质属性,每个物体都有自己的光反应特性。 当使用光照时,每个物体光反应特性决定了它的显示。 glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) 其中face可能是GL_FRONT, GL_BACK, GL_FRONT_AND_BACK Pname可能是

21、GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_SHININESS等,材质属性,Shading模式,Void glShadeModel(GLenum mode), OpenGL支持下面两种: GL_FLAT; GL_SMOOTH(主要是gouraud模式,目前还不支持phong shading模式)。,光照属性,光照状态设置glEnable(GL_LIGHT); 最大光源数量查询glGetIntegerv(GL_MAX_LIGHTS); 光源属性 Void glLightfv(GLenum light, GLenum pname, const GLfloat *params); pname可能是GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION 光源状态设置glEnable(GL_LIGHTi),其中i是从0到GL_MAX_LIGHTS,颜色属性,颜色是单一状态,应该需要在每个绘制面或顶点上确定颜色。 颜色状态glEnable(GL_COLOR_MATERIAL) 设置颜色材料属性glColorMaterial(GLenum face, GLenum mode) 设置颜色glColor3f(r,g,b);,有了基础的概念,其他具体细节技术,通过例子来讲。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报