计算机图形学第二章计算机图形系统概述_第1页
计算机图形学第二章计算机图形系统概述_第2页
计算机图形学第二章计算机图形系统概述_第3页
计算机图形学第二章计算机图形系统概述_第4页
计算机图形学第二章计算机图形系统概述_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

本章主要内容

•图形硬件系统

A显示设备7^工、一"1

A图形工作站和观察系统

A输入设备处理就――帧壤存器

A硬拷贝设备一

A网络图形系统二,I

•图形软件系统

»图形软件

>OpenGL

本章重点掌握

•图形显示设备的一些知识

•OpenGL编程知识

视频显示设备

•刷新式CRT显示器

>光栅扫描显示器

>随机扫描显示器

»彩色CRT显示器

•直视存储管显示器

•平板显示器

视频显示设备

•刷新式阴极射线管显示器

CRT的基本结构

lMagnetic

FocusingDefectionCoilsPhosphor-

System1/1Coated

Base\/三Screen

Electron

ConnectorElectronBeam

工作原理:电子枪发射的电子束经过聚

焦系统和偏转系统的作用,打在荧光屏

上,激活荧光物质发荧光。

刷新式CRT显示器

•电子枪

•聚焦系统

・偏转系统

•荧光屏

显示器的基本概念及技术指标

•分辨率

•点距

•刷新频率、扫描频率

•带宽

屏幕分辨率

屏幕分辨率:CRT无重叠显示的最多点数

三种表示方法

•光点直径

•水平方向上的光点数又垂直方向上的光点数

r(xxy)

•显示器精度dpi(每英寸的亮点数)

光点直径

C4屏幕上发光荧光

层亮点的亮度分布图

区别CRT屏幕上两个

亮点:衰减60%

显示器的基本概念及技术指标

•点距

光点的直径,显示器的物理光点尺寸。

荧光屏上两个相邻的相同颜色磷光点之

间的最短距离。

单位:mm

CRT显示器

•屏幕的刷新

电子束周期性地回到同一点的方式来保

持图象。

扫描线

水平回扫期

垂直回扫期

显示器的基本概念及技术指标

•显示器的扫描频率,也叫刷新率

分为:

行频

场频

显示器的基本概念及技术指标

•行频(水平扫描频率)

电子枪每秒在屏幕上扫描过的水平线数

单位:KHz表示:h

•场频(重绘率/垂直扫描频率/帧频)

每秒钟重复绘制显示画面的次数。

单位:Hz表示:v

显示器的基本概念及技术指标

•r(x)

水平扫描的点数

•r(y)

每帧扫描线数

相互关系:

理论行频h=r(y)Xv

显示器的基本概念及技术指标

•视频带宽

单位时间内扫描的点数。

单位:MHz

理论带宽B=r(x)Xr(y)Xv

显示纵横比

在屏幕的两个方向生成同等长度的线段

所需的垂直点数对水平点数的比值

3/4

光栅扫描显示器

•光栅扫描

图形由点(像素点)组成

光栅扫描显示器

光栅扫描显示器

•缓存深度:每像表的位数

•隔行扫描

•逐行扫描

光栅扫描系统组成

•帧缓冲存储器

•视频控制器

•显示处理器

光栅扫描系统组成

A

I/O设备

简单光栅图形系统结构

光栅扫描系统组成

•帧缓冲存储器(framebuffer)

图形定义,保存一组对应屏幕所有点的强度值

像素点Pixel:每个屏幕点

帧缓冲器显示屏幕

光栅扫描系统组成

•视频控制器

基本刷新操作

>有两个寄存器用来存放屏幕像素的坐标

>存储在帧缓冲器中该像素对应位置的值被取

出,并用来设置CRT电子束的强度值

光栅扫描系统组成

•显示处理器

将应用程序给出的图形定义数字化为一组像素

强度值,并存放在帧缓冲器中

扫描变换:将给定直线和其他几何对像的图形

命令转换为一组离散的强度值

光栅扫描系统组成

彩色CRT显示器

利用能发射不同颜色光的荧光层的

组合来显示彩色图形

•电子穿透法:用于随机扫描显示器

•荫罩法:用于光栅扫描系统

电子穿透法

•工作原理:

A红绿两层荧光层,显示颜色取决于电子束

穿透的深度

»廉价,只可能有四种颜色,图形质量差

电子束荧光屏

电子穿透法

•工作原理

荧光涂层产生颜色

低速电子束

较低速电子束

较高速电子束

高速电子束

荫罩法

多枪型彩色CRT显示器

原理:

>混合荧光物质

>电子枪

>荫罩

荫罩法

Phosphors

onglass

Blue

Metal

Mask

荫罩法

效果图

DAC

平板显示器

Flatpaneldisplay

•分类

发射显示器(Emissivedisplays)

非发射显示器(Nonemissivedisplays)

平板显示器-发射显示器

•发射显示器(Emissivedisplays)

原理:将电能转换为光能

类型:

>等离子体显示板:气体放电,氟气

>薄膜光电显示器:荧光物质,硫化锌与镒

>发光二极管■

平板显示器一非发射显示器

•非发射显示器(Nonemissivedisplays)

原理:将太阳光或其他光源的光转换为图形

模式,通过能阻塞或传递光的液晶材料,传

递来自周围的或内部光源的偏振光一.

类型:液晶显示器(LCD)

平板显示器非发射显示器

FieldEffectofLCD

Polorizer

-Glau一

liquidcrystal

direction

Glass

Polorizer

液晶分子排列饼况冏

Liquidcrystalalignmeni

01se«nfromtop

立体显示

为观察者的每只眼睛给出不同的视图来

提供三维效果,从而场景带有深度

立体显示

主动式立体显示系统

立体显示

柿才才亡依鼠奈无终

3D投影里/墙

被动立体显示系统示意图

图形系统的硬件工作平台类型

•微机

•工作站

・中小型机

・大型机

・计算机网络

IBMZ900大型机1套,价值1500万美金

图形输入输出设备

一、图形输入设备

1、向量型图形输入设备

采取跟踪轨迹,记录坐标点的方法输入图形。主要

输入的数据形式为直线或折线构成的图形构成的图

形学数据。

>数字化板

>鼠标器

>光笔

图形输入输出设备

2.光栅扫描型图形输入设备

采取逐行扫描,按一定密度采样的方式输入图形。

主要的输入数据形式为一幅由亮度值构成的像素矩

阵一一图像。

>扫描仪二.

>摄像机

图形输入输出设备

二、常用的图形输出设备

•向量型:作画机构随着图形输出形状而移动并成像

A绘图机

•光栅扫描型:作画机构按光栅矩阵扫描整张图面,

并按输出内容对图面成像。

>点阵式打印机

A激光打印机.

>热敏印刷机-'

>静电印刷机

>喷墨印刷机

图形输入输出设备

三、其他输入输出设备

•跟踪球和空间球

・操纵杆

•数据手套

图形软件

图形隹

应用体vA

W(API)

Illi!J

图形软件

坐标表示

•笛卡尔坐标

•建模坐标

•世界坐标

•规范化设备坐标

•设备坐标或屏幕坐标

坐标表示

•笛卡儿坐标:通用图形编程软件包

•建模坐标系/局部坐标系/主坐标系:描述单

个物体的形状、大小、尺寸所采用的坐标

系称为

•世界坐标系(WC):把物体放入场景的适当

位置。

坐标表示

•设备坐标系(DC)或屏幕坐标系:该场景的世界坐

标系描述转换为一个或多个输出设备参照系来显

示。该坐标系依赖于具体的显示输出设备

•规范化坐标系(NC):指独立于具体物理设备的一

种坐标系,它具有显示空间在x和y上都是0到1,

主要用于在计算机内部处理图形,对一个具体物

理设备,NC与DC仅仅是相差一个比例因子,NC

可被看成是一个抽象的图形设备

坐标表示

•从建模坐标到设备坐标的变换序列为:

(Xmc,ymc)一(Xwc,ywc)~^Xnc,y11)(*加,丫dJ

•为适应比例和纵横比的差别,NC变换到输

出设备(DC)的正方形区域,以保持适当的

比例

坐标表示

绘图仪

其他输出设备

设备坐标系

图形功能

•图形的基本构造块称为图形输出图元(graphics

outputprimitives):包括字符串和几何成分,

如点、直线、曲线、填充区域(多边形、圆等)以

及彩色阵列定义的形状。

•属性是输出图元的特性。属性描述一个特定图元

是怎样显示的,包括强度和彩色设定,线型、文

本类型,以及填充模式■

•可以使用几何变换(如平移、比例、旋转、投影

等)改变物体的位置、大小或方向

软件标准

•标准化图形软件的最初目标是可移植性

•国际和许多国家的标准化组织努力合作开发

计算机图形标准。

>图形核心'系统GKS(GraphicalKernelSystem)o

GKS是针对二维图形软件标准,随后经过扩充,

出现三维图形的GKS-3D。「二.

>PHIGS(Programmer5sHierarchicalInteractive

GraphicsSystem)是出现的第二个图形标准,是

对GKS的扩充

软件标准

•标准图形函数定义为独立于任何程序设计语言

的一组规范。语言联编(Languagebinding)则是

为特定的高级程序设计语言而给出该语言去访

问各种标准图形函数的语法

•CGI(ComputerGraphicsInterface,计算机图

形接口)标准规定对输出设备图形接口

•CGM(ComputerGraphicsMeta,le计算机图形

元文件)标准规定图形存档和传输

OpenGL图形开发

•OpenGL绘缶ij管线

•OpenGL库与编程环境

•基本图元绘制

•状态机管理

・例子学习

I

OpenGL规范

•OpenGL库是在硬件支持标准基础上,提

“供的一个硬件图形加速软件库,让应用程

序能够高效地访问硬件的功能。

・难以用硬件实现的高级特性(如高级图元

类型的支持、场景图形和实用函数等)不

是OpenGL规范的一部分。二」

•许多库支持这些扩展部分。

OpenGL绘制管线

3DAPI

3DAPI:命令

OpenGL或

Direct3D

CPU-GPU边界(AGP/PCIe总线)

顶点像素产生

索引透视变换像素更新

募据流

图1

Rasterization

GPUPrimitiveRasterFrame

and

FrontEndAssemblyOperaticBuffer

Interpolation

3I

s

eaN

S

U

83ProgrammableProgrammableE

siVertexFragmentK

eProcessorProcessor

.

图形绘制流水线

•图形绘制流水线上OpenGL每个阶段的命令

二二^penGL^

0

ModelingIlluminationViewingClipping

OTransformationTransformation✓

I--------1

Projection

>I

i

Display◄-Rasterization/

OpenGL流水线架构

I

I

I

OpenGL流水线架构

•顶点操作

A坐标变换

A光照

»裁剪

OpenGL流水线架构

•像素操作

>对应用程序发送的像素数据块执行像素存储操作。

»控制像素数据块的字节顺序交换、填充和偏移量,

以便发送和接收各种格式像素。

»其他像素操作,如像素转移(映射、缩放和偏移)

OpenGL流水线架构

•光栅化)

A将几何数据转换为片元。J

A片元是OpenGL写入帧缓存之前处理的位置、码

色、深度、纹理坐标和其他数据。

a注意片元与像素的区别。支持多重采样的1

OpenGL实现将片元存储在子像素位置上。1

A光栅化主要是硬件完成计算机图形学中的图元填

充问题。

OpenGL流水线架构

•片元操作

»对于光栅化生成的每个片元,进行操作。

。像素归属测试,

。裁剪测试)

*多样本片元操作

Alpha测试|

模板测试I

深度测试■{

遮盖测试

混合|

♦:♦抖动I

网上资源

>

。有很多例子可供学习

>news:comp.graphics.api.opengl

>/software/opengl

>http:〃/

>/-narobins/opengLhtml

。——个opengl的tutorial

OpenGL与相关API之间关系

编程环境

•基本库

>Opengl32.libopengl32.dllgl.h

>Glu32.libglu32.dllglu.h

>Glut32.libglut32.dllglut.h

>Glaux.libglaux.dllglaux.h

基本图元绘制

functionname

glVertex3f(xryzz)

X

yzarefloats

belongstoGLlibraiy#

glVertex3fv(p)

pisapointertoanarray

OpenGL命令语法

表面模型

•基本由点组成线段或多边形

•多边形最后构成物体模型

10种基本图元类型

GL__POLYGON

._QUAD_STRIP

基本绘制单元

•glBegin(mode);

gIVertext3f(x,y,z);

gIVertext3f(x,y,z);

gIVertext3f(x,y,z);

■■■

•glEnd();

OpenGL状态

'•OpenGL是一个状态机,应用程序通过

OpenGL函数调用来实现状态的设置。例如

下面的实例:

glColor3f(1.f,O.f,O.f);//redasanRGBtriple

glBegin(GL_POLYGONS);

glVertex3f(-.5f,0.f,0.f);

glEnd();

glColor3f(0.f,0.f,1.f);//blueasanRGBtriple

glBegin(GL_POINTS);

glVertex3f(0.f,0.f,0.f);

glEnd();

glBegin(GL_POINTS);

glVertex3f(.5f,0.f,0.f);

glEnd();

OpenGL状态

•OpenGL总是按照应用程序的发送顺序执行

命令。

•因此状态影响应该是最接近绘制的状态改变

函数来决定。

•同时主要注意状态改变对效率的影响

状态设置与查询

•布尔类型控制与查询

>voidglEnable(GLenumtarget);

>VoidglDisable(GLenumtarget);

>VoidgllsEnable();

•数值类型|

>gISet,gIGet)

•堆栈类型{

>VoidglPushAttrib(GLbitfieldmask);

>VodglPopAttrib(void);

>VoidglPushClientAtrrib(GLbitfieldmask);

>VoidglPopClientAttrib(void);

•其他

>gIGetString,

>gIGetError

gIGet使用

•voidglGetBooleanv(GLenumpname,GLboolean*param);

•voidglGetDoublev(GLenumpname,GLdouble*param);

•voidglGetFloatv(GLenumpname,GLfloat*param);

•voidglGetlntegerv(GLenumpname,Glint*param);

其中,pname可能是:

>GL_COLOR_CLEAR_VALUE

>GL_CURRENT_COLOR

>GL_CURRENT_NORMAL

>GL_MATRIX_MODE

>GL_MODEVIEW_MATRIX

>GL_PROJECTION_MATRIX

>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论