《计算机图形学电子教案c2.ppt》由会员分享,可在线阅读,更多相关《计算机图形学电子教案c2.ppt(87页珍藏版)》请在第壹文秘上搜索。
1、第2章 计算机图形系统2.1 计算机图形系统概述2.2 OpenGL介绍2.1 计算机图形系统概述2.1.1 计算机图形外部设备CRT(Cathode-ray tube)阴极射线管 CRT(Cathode-ray tube)阴极射线管CRT:电子枪(由灯丝、阴极和控制栅组成)在靠近阴极的前方有一个控制栅,它是个柱状的金属杆、加上负电压后,能够控制通过其中间小孔的带负电的电子束的强弱。当控制栅上的负电压足够大时,它可以截止电子束,此时,对应的荧光屏上的点是黑的。CRT:聚焦系统 聚焦系统通过电场或磁场控制电子束,使电子束“变细”,保证轰击荧光屏时产生的亮点足够小。为了提高显示系统的分辨率,聚焦系
2、统是关键之一。CRT:加速电极加速电极加有正的高电压(达几万伏),使经过聚焦的电子束高速运动。加上正的高电压CRT:偏转系统(由垂直偏转板和水平偏转板组成)偏转控制可以来用静电场,也可以采用磁场,控制电子束在水平方向上和竖直方向上的偏转。最大偏转角度是衡量偏转系统性能的最重要指标。为什么大屏幕显示器的前后径比小屏幕显示器的前后径长?CRT:荧光屏荧光物质受电子束一次轰击之后发光,亮度会迅速衰减。持续发光时间持续发光时间指的是电子束离开某点后,该点亮度值衰减到初始值的110所需的时间。用于图形显示设备的大多数荧光物质的持续发光时间为l 0到60毫。如果种荧光物质的持续发光时间为40毫秒,则大约刷
3、新频率为?CRT:彩色阴极射线管彩色阴极射线管(1)射线穿透法(主要用于画线显示器中)l原理 l 应用:画线显示器 l 优点:成本低 l 缺点:只能产生有限几种颜色(红橙黄绿)l 特点:电子束的速度决定了屏幕上光点的颜色荧光涂层 产生颜色低速电子束较低速电子束较高速电子束高速电子束电子束(2)影孔板法:l 原理:影孔板被安装在荧光屏的内表面,用于精确定位像素的位置外层玻璃影孔板荧光涂层 1)影孔板的类型:l 点状影孔板 大多数球面 与柱面显象管 l 栅格式影孔板Mitsubishi(三菱)的Diamondtron(钻石)与 Sony的Trinitron(特丽珑)显象管 l 栅格式影孔板 LG的
4、 Flatron 显象管CRT:2)点状影孔板工作原理)点状影孔板工作原理红、绿、蓝三基色三色荧光点三个电子枪CRT:这种方法利用人们眼睛在超过一定距离后分辨力不高的特性,产生与直接混色法相同的效果3)点状影孔板工作原理)点状影孔板工作原理(续续)CRT:分辨率 用乘法形式来表示,如800600,其中“800”表示屏幕上水平方向显示的像素数,“600”表示垂直方向显示的像素数。所以分辨率就是指画面的解析度由多少像素构成,其数值越大图象就越清晰。CRT(阴极射线管)显示器的实际分辨率不仅与显示尺寸有关,还由显像管点距和视频放大电路提供的视频带宽等因素决定。CRT:显示器能够同时显示的颜色个数a.
5、如果电子枪只有开、关两个状态,则只能产生2*2*2=8种颜色CRT:b.如果每个电子枪有256个等级,则显示器能同时显示256*256*256=16M 种颜色,此时称为真彩系统如图是一个具有如图是一个具有24位面的位面的帧缓冲存储器,红、绿、帧缓冲存储器,红、绿、蓝各蓝各8个位面,其值经数个位面,其值经数模转换控制红、绿、蓝电模转换控制红、绿、蓝电子枪的强度,每支电子枪子枪的强度,每支电子枪的强度有的强度有256(8位位)个等级,个等级,则能显示则能显示256*256*256=16兆种颜色,兆种颜色,16兆种颜色也兆种颜色也称作称作(24位位)真彩色。真彩色。CRT:点距:点距是指显像管内壁相
6、邻两个同色荧光点的间距,水平点距水平点距是指这两个荧光点之间在水平方向的距离。CRT:点距点距:如果把屏幕上三个最临近的同色荧光点连接起来,就构成一个等边三角形,此等边三角形的边长就是点距。该等边三角形底边上的高即边长在水平方向的投影,其长度就是水平点距(如图所示)。CRT:大多数球面 与柱面显象管 Mitsubishi(三菱)的Diamondtron(钻石)与 Sony的Trinitron(特丽珑)显象管LG的 Flatron 显象管CRT:荧光像素由红、绿、蓝(R、G、B)三个相邻荧光点才构成一个彩色的荧光像素。像素是指在显示器屏幕上显卡所能控制的最小区域。显像管内壁的荧光点(荧光像素)的
7、位置无法改变,而像素点的位置是随显卡输出分辨率的变化而变化的,故荧光像素与像素的概念是不同的。CRT:用可显示区域的宽和高分别除以水平和垂直点距,就可得到显示器在水平和垂直方向最多可以显示的点数。以15英寸、0.28mm点距显示器为例,则求其最大分辨率?(提示:其有效显示尺寸为 13.8英寸(屏幕对角线长度),按宽高比 4:3 计算(1 英寸=2.54mm)CRT:则水平和垂直方向有效显示尺寸水平和垂直方向有效显示尺寸约为:280mm和210mm 水平点距水平点距=垂直点距0.866=0.28mm0.866=0.2425mm 水平可用荧光像素点数水平可用荧光像素点数=水平有效显示尺寸/水平点距
8、=280mm/0.2425mm=1154 垂直可用荧光像素点数垂直可用荧光像素点数=垂直有效显示尺寸/垂直点距=210mm/0.28mm=750 该显示器的实际分辨率实际分辨率最大为:1154750(标准分辨率)。超过这个模式,如显卡输出12801024 分辨率的信号,显示器只能将这12801024个像素的信息罗列到1154750 个荧光像素之中。光栅扫描显示系统光栅扫描显示系统特点特点:光栅扫描帧帧:完成一次扫描所产生的图像扫描线,水平回扫期,垂直回扫期绘图过程绘图过程:其原理是利用了人们眼睛的视觉残留特性和荧光粉的余辉作用光栅扫描显示系统光栅扫描显示系统简单的光栅扫描图形显示系统的结构光栅
9、扫描显示系统光栅扫描显示系统逻辑部件逻辑部件:帧缓冲存储器(Frame Buffer),视频控制器(Video Controller),显示处理器(Display Processor),阴极射线管(CRT:Cathode-ray Tube)较为典型光栅扫描图形显示系统的结构帧缓冲存储器帧缓冲存储器作用作用:存储屏幕上像素的颜色值简称帧缓冲器,俗称分辨率M*N、颜色个数K与显存大小V的关系可以同时显示16兆种颜色的显示系统称为真彩系统 CPU或显示处理器扫描转换光栅扫描显示系统光栅扫描显示系统光栅扫描显示系统光栅扫描显示系统带宽T与分辨率、帧频F的关系显存问题高分辨率和真彩要求有大的显存 102
10、4*768真彩模式需要3M字节显存解决办法解决办法:(1)增加显存;(2)采用(Lookup Table)也称(Color Table)技术.带宽问题与显存问题带宽问题与显存问题查色表工作原理带宽问题高分辨率和高刷新频率要求有高带宽(设1024*768/85模式需要85M带宽)一般为B=r(x)r(y)V 实际为:B=r(x)r(y)V1.3为了避免信号在扫描边缘的衰减,保证图像的清晰 解决办法解决办法:隔行扫描隔行扫描(现在已经基本不用,主流显示器都采用逐行扫描逐行扫描方式)隔行扫描的工作原理隔行扫描的工作原理:把一帧分为两场,即奇数场偶数场场频场频:定义为:2*帧频 光栅显示系统的特点光栅
11、显示系统的特点(1)优点)优点:成本低易于绘制填充图形色彩丰富刷新频率一定,与图形的复杂程度无关易于修改图形(2)缺点)缺点:需要扫描转换会产生混淆,即会出现直线段不直、图形边界呈阶梯状等现象 新型显示器()Liquid crystal displayfluorescent lampcolour filtersliquid crystal layer 新型显示器()()计算机图形输入设备 计算机图形输入设备(续)光学鼠标。发光二极管、微型摄像头、光学引擎和控制芯片数据手套(3)(3)计算机图形输出设备计算机图形输出设备2.1.2 2.1.2 计算机图形软件计算机图形软件(1)几何造型平台(2)
12、CAD/CAM CAD/CAM(续)(3)计算机动画软件 Poser人体动画软件 Metacreations公司(4)可视化软件 2.1.3 2.1.3 图形标准图形标准 图形标准的产生与发展历史图形标准的产生与发展历史(1)发展历程诸侯割据诸侯割据标准讨论标准讨论标准形成标准形成图形标准的产生与发展历史(续)图形标准的产生与发展历史(续)(2)两类标准l官方标准(标准组织制定):GKS(Graphical Kernel System)PHIGS(Programmings Hierachical Interactive Graphics System)l工业标准(事实上的标准):SGI 等公司
13、的 OpenGL,微软公司的 DirectX,X财团的 Xlib,Adobe 公司的 PostScript 等等。图形标准的产生与发展历史(续)图形标准的产生与发展历史(续)2.2 基于Windows的图形程序设计方法2.2 OpenGL介绍 2.2.1 OpenGL的主要功能 OpenGL的主要功能(续)OpenGL的主要功能(续)OpenGL的主要功能(续)2.2.2 GLUT库介绍lGLUT 代表代表OpenGL Utility Tookit。Mark J.Kilgard 为了使为了使OpenGL应用程序应用程序结构能够真正独立于窗口系统构思了结构能够真正独立于窗口系统构思了GLUT库。
14、库。Introduction to GLUTlGLUT is an OpenGL add-onnot part of the standard,but shipped with most implementationsprovides a platform-independent way toget a context(window or fullscreen)read keyboard and mousecreate menusperform animationsluses the call-back event modelregister call-back or service func
15、tions with GLUT to handle each type of eventGLUT calls the appropriate event handling function as each event happensUsing GLUTint main(int argc,char*argv)/initialise GLUT&pass in command-line argumentsglutInit(&argc,argv);/get a context/register callbacks for GLUT/let GLUT manage things from hereglu
16、tMainLoop();/note that glutMainLoop()never returnsreturn 0;/so this is never runGetting a windowed context/window position(hint only,may be overridden by GLUT)glutInitWindowPosition(100,100);/window dimensions(hint only,may be overridden by GLUT)glutInitWindowSize(300,300);/context features/e.g.double=double-buffered(front/back)/rgb=24-bit context/depth=24=at least 24-bit depth buffer/see for moreglutInitDisplayString(double rgb depth=24);/open window with titleglutCreateWindow(GL_POLYGON);Getti