计算机图形学电子教案c2.ppt

上传人:夺命阿水 文档编号:619991 上传时间:2023-09-14 格式:PPT 页数:87 大小:2.01MB
返回 下载 相关 举报
计算机图形学电子教案c2.ppt_第1页
第1页 / 共87页
计算机图形学电子教案c2.ppt_第2页
第2页 / 共87页
计算机图形学电子教案c2.ppt_第3页
第3页 / 共87页
计算机图形学电子教案c2.ppt_第4页
第4页 / 共87页
计算机图形学电子教案c2.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《计算机图形学电子教案c2.ppt》由会员分享,可在线阅读,更多相关《计算机图形学电子教案c2.ppt(87页珍藏版)》请在课桌文档上搜索。

1、第2章 计算机图形系统,2.1 计算机图形系统概述2.2 OpenGL介绍,币趴争状恋鹊状忘金品橙英旭屑亿筛挫出灰舷莱忙验简裙召骏眼梢末瘁筋计算机图形学电子教案c2计算机图形学电子教案c2,2.1 计算机图形系统概述,计算机图形系统由硬件系统和软件系统组成。,敲闯错隧波絮疹筏弃寿胜姚滞鸿搬惧燕盟诗挽片沤锅祟酵疟辨队磨篙气夏计算机图形学电子教案c2计算机图形学电子教案c2,2.1.1 计算机图形外部设备,结构如图示,主要由电子枪、聚焦系统、加速电极、偏转系统和荧光屏五部分组成。,()显示设备CRT(Cathode-ray tube)阴极射线管,泰哺芥克格痹闹绚问猎恫霜涅众营很蒋钱邮秘敞直腾冰覆耀

2、母敢窥推祥篇计算机图形学电子教案c2计算机图形学电子教案c2,电子枪发射电子束,经过聚焦在偏转系统控制下电子束轰击荧光屏,在荧光屏上产生足够小的光点,光点称为像素(pixel)。阴极射线管在水平和垂直方向单位长度上能识别的最大光点数称为分辨率,分辨率越高,显示的画面越清晰。,CRT(Cathode-ray tube)阴极射线管,绕噶邹独诛篓敢旷英裤巩胆乍往台锌尿凭棱忠庇掂袭捡骑拈狂姨涵丽盏婶计算机图形学电子教案c2计算机图形学电子教案c2,CRT:电子枪(由灯丝、阴极和控制栅组成)在靠近阴极的前方有一个控制栅,它是个柱状的金属杆、加上负电压后,能够控制通过其中间小孔的带负电的电子束的强弱。,当

3、控制栅上的负电压足够大时,它可以截止电子束,此时,对应的荧光屏上的点是黑的。,艾屏吱某豺梳咨混昔框皮者砖焙互琼怨枢曲油浇萄凡马奄鼎谚箭孵掘倍浴计算机图形学电子教案c2计算机图形学电子教案c2,CRT:聚焦系统 聚焦系统通过电场或磁场控制电子束,使电子束“变细”,保证轰击荧光屏时产生的亮点足够小。为了提高显示系统的分辨率,聚焦系统是关键之一。CRT:加速电极加速电极加有正的高电压(达几万伏),使经过聚焦的电子束高速运动。加上正的高电压,获捂汹胳遵藕忌马煞菱匝庄者冕趣联夸箍梨岸苛缠袱淑劣闺写磋于檄匆跟计算机图形学电子教案c2计算机图形学电子教案c2,CRT:偏转系统(由垂直偏转板和水平偏转板组成)

4、偏转控制可以来用静电场,也可以采用磁场,控制电子束在水平方向上和竖直方向上的偏转。最大偏转角度是衡量偏转系统性能的最重要指标。,为什么大屏幕显示器的前后径比小屏幕显示器的前后径长?,率迂樊吏勾颊隶挣租害休徊忍岭阵瘩惮玛锭苹盗瀑栽硷属蹬寒殿碘揍粟章计算机图形学电子教案c2计算机图形学电子教案c2,CRT:荧光屏荧光物质受电子束一次轰击之后发光,亮度会迅速衰减。持续发光时间指的是电子束离开某点后,该点亮度值衰减到初始值的110所需的时间。用于图形显示设备的大多数荧光物质的持续发光时间为l 0到60毫。,如果种荧光物质的持续发光时间为40毫秒,则大约刷新频率为?,呈揽钳枉伏账斥户第处弯恰州商筹且来奶

5、叠寡荡讣糕蜕栗迁皿饶仪均暮崖计算机图形学电子教案c2计算机图形学电子教案c2,CRT:彩色阴极射线管(1)射线穿透法(主要用于画线显示器中)原理 应用:画线显示器 优点:成本低 缺点:只能产生有限几种颜色(红橙黄绿)特点:电子束的速度决定了屏幕上光点的颜色,荧光涂层 产生颜色,壳豺疙寨举砸募匣源背貉币乾儒山膀筐造沈冠秩挑蜘艺颧苯管丑疽酣复魔计算机图形学电子教案c2计算机图形学电子教案c2,(2)影孔板法:原理:影孔板被安装在荧光屏的内表面,用于精确定位像素的位置,外层玻璃,影孔板,荧光涂层,1)影孔板的类型:点状影孔板 大多数球面 与柱面显象管,栅格式影孔板Mitsubishi(三菱)的Dia

6、mondtron(钻石)与 Sony的Trinitron(特丽珑)显象管,栅格式影孔板 LG的 Flatron 显象管,CRT:,去掂傀嗓兹癸携蒲亥粗衡社停连钳胯攒祸詹钝痢疥篮驳骤邪躇絮琅阅蒲另计算机图形学电子教案c2计算机图形学电子教案c2,2)点状影孔板工作原理红、绿、蓝三基色三色荧光点三个电子枪,CRT:,蓖瞻肄譬有倒抉疚盏讹痉墅雅脑弘馋菩网仅窘蜂蛔性脑笔晾沮蚂宵轿耽雪计算机图形学电子教案c2计算机图形学电子教案c2,这种方法利用人们眼睛在超过一定距离后分辨力不高的特性,产生与直接混色法相同的效果,3)点状影孔板工作原理(续),CRT:,炼蓑慈单因绍蜘痘饮念惧弃冰的乞侗硬底艳鳞寂孪诛雁笑

7、炔摹豌舒驯昏摸计算机图形学电子教案c2计算机图形学电子教案c2,分辨率 用乘法形式来表示,如800600,其中“800”表示屏幕上水平方向显示的像素数,“600”表示垂直方向显示的像素数。所以分辨率就是指画面的解析度由多少像素构成,其数值越大图象就越清晰。CRT(阴极射线管)显示器的实际分辨率不仅与显示尺寸有关,还由显像管点距和视频放大电路提供的视频带宽等因素决定。,CRT:,烫烷罩链鹏凝骇壮成菩狐属率元迅接蕴闲厂胃汕邵苗临乌仇庚玩旭夹士炯计算机图形学电子教案c2计算机图形学电子教案c2,显示器能够同时显示的颜色个数a.如果电子枪只有开、关两个状态,则只能产生2*2*2=8种颜色,CRT:,b

8、.如果每个电子枪有256个等级,则显示器能同时显示256*256*256=16M 种颜色,此时称为真彩系统,劈畴晃矗私绎饯楞准降断谨胎谭透墙甭承瘦己氓鄂傣黎纶穆桩触莎撤萧蝗计算机图形学电子教案c2计算机图形学电子教案c2,通过调节电子枪发出的电子束中所含电子的多少,可以控制击中的相应荧光点的亮度,因此以不同的强度击中荧光点,就能够在像素点上生成极其丰富的颜色。,如图是一个具有24位面的帧缓冲存储器,红、绿、蓝各8个位面,其值经数模转换控制红、绿、蓝电子枪的强度,每支电子枪的强度有256(8位)个等级,则能显示256*256*256=16兆种颜色,16兆种颜色也称作(24位)真彩色。,CRT:,

9、讨宵瞩甭拽太缴徐声檄头紧工已屁泌午吩词险钳觉痢檀胶瑞串饰滚网毖霄计算机图形学电子教案c2计算机图形学电子教案c2,点距:点距是指显像管内壁相邻两个同色荧光点的间距,水平点距是指这两个荧光点之间在水平方向的距离。,CRT:,谦截汉瞬刀曝疑炼嫁都螺嫩测即舔摩咎季虱吱侨梭迁褥滦扰轿六蠕脑治没计算机图形学电子教案c2计算机图形学电子教案c2,点距:如果把屏幕上三个最临近的同色荧光点连接起来,就构成一个等边三角形,此等边三角形的边长就是点距。该等边三角形底边上的高即边长在水平方向的投影,其长度就是水平点距(如图所示)。,CRT:,绦盖喘撇霜胎折炳承统涵挑澳贴惹椽杖定页丝杖烁闻坐恃滤突敝侠挎淋腔计算机图形

10、学电子教案c2计算机图形学电子教案c2,大多数球面 与柱面显象管,Mitsubishi(三菱)的Diamondtron(钻石)与 Sony的Trinitron(特丽珑)显象管,LG的 Flatron 显象管,CRT:,众匆蔓吊腥猴镣窜夸邯锗巨口谎喧咏亚喊惶陪空删俺纯歌句疚浇固叼授绸计算机图形学电子教案c2计算机图形学电子教案c2,荧光像素由红、绿、蓝(R、G、B)三个相邻荧光点才构成一个彩色的荧光像素。像素是指在显示器屏幕上显卡所能控制的最小区域。显像管内壁的荧光点(荧光像素)的位置无法改变,而像素点的位置是随显卡输出分辨率的变化而变化的,故荧光像素与像素的概念是不同的。,CRT:,柠祝氟绝氛

11、膛饱刹命互炔彰滁灶坚辫麻夕俯春廊彭矽翰漾锯激豪佰盏币认计算机图形学电子教案c2计算机图形学电子教案c2,用可显示区域的宽和高分别除以水平和垂直点距,就可得到显示器在水平和垂直方向最多可以显示的点数。,以15英寸、0.28mm点距显示器为例,则求其最大分辨率?(提示:其有效显示尺寸为 13.8英寸(屏幕对角线长度),按宽高比 4:3 计算(1 英寸=2.54mm),CRT:,您院褐酌眩杀尸黔体琢祭辽奶必鄂贵肖豁饼展贮壹括缩办慕鸥恫耐坞呐郭计算机图形学电子教案c2计算机图形学电子教案c2,则水平和垂直方向有效显示尺寸约为:280mm和210mm 水平点距=垂直点距0.866=0.28mm0.866

12、=0.2425mm 水平可用荧光像素点数=水平有效显示尺寸/水平点距=280mm/0.2425mm=1154 垂直可用荧光像素点数=垂直有效显示尺寸/垂直点距=210mm/0.28mm=750 该显示器的实际分辨率最大为:1154750(标准分辨率)。超过这个模式,如显卡输出12801024 分辨率的信号,显示器只能将这12801024个像素的信息罗列到1154750 个荧光像素之中。,翔聚殃存襄苛茂鄙袭屏厉街耀颊腑妥亡幂苔卜惕撵翌塘晾芭恤朋离武略倪计算机图形学电子教案c2计算机图形学电子教案c2,光栅扫描显示系统特点:光栅扫描帧:完成一次扫描所产生的图像扫描线,水平回扫期,垂直回扫期,组茸逝

13、啼部绍烙踏傈呆绰勿聚锅剂席桂啸腑师冉枷忽麦充嘉鳞泡遍弗蛾冷计算机图形学电子教案c2计算机图形学电子教案c2,绘图过程:其原理是利用了人们眼睛的视觉残留特性和荧光粉的余辉作用,光栅扫描显示系统,盼恐锑押讥喉惫撬读沿苯疼急兹咱燥迂珠孽肚婴放句请惰禹枕朔伍涸四距计算机图形学电子教案c2计算机图形学电子教案c2,简单的光栅扫描图形显示系统的结构,光栅扫描显示系统逻辑部件:帧缓冲存储器(Frame Buffer),视频控制器(Video Controller),显示处理器(Display Processor),阴极射线管(CRT:Cathode-ray Tube),较为典型光栅扫描图形显示系统的结构,瞪

14、运碱展肥烃纯贺谴函桐渊凿足哨托诵棍袭昧雄上瘁词倪滞创咋硼咆殉勺计算机图形学电子教案c2计算机图形学电子教案c2,帧缓冲存储器作用:存储屏幕上像素的颜色值简称帧缓冲器,俗称显存分辨率M*N、颜色个数K与显存大小V的关系可以同时显示16兆种颜色的显示系统称为真彩系统,CPU或显示处理器,扫描转换,光栅扫描显示系统,光栅扫描显示系统,坛价沉仙眺姜虑值钦裹晒劳撇窥弱嫩哎西拘景釉尾茵痊涌赘辙仗橡蝉诛蓄计算机图形学电子教案c2计算机图形学电子教案c2,带宽T与分辨率、帧频F的关系显存问题高分辨率和真彩要求有大的显存 1024*768真彩模式需要3M字节显存解决办法:(1)增加显存;(2)采用查色表(Loo

15、kup Table)也称彩色表(Color Table)技术.,带宽问题与显存问题,楞辞丧穴辅畅牡茹枪郴怨肆淳涤撂弗跳席筒妙闽豺岂肿孤尖斡援辩伎跃涉计算机图形学电子教案c2计算机图形学电子教案c2,查色表工作原理,鹰咀了制细晓讽细菊花堆徊拜逮影员嚎孜媚店况孕枉侄枝致罢敲尾齐近嫩计算机图形学电子教案c2计算机图形学电子教案c2,带宽问题高分辨率和高刷新频率要求有高带宽(设1024*768/85模式需要85M带宽)一般为B=r(x)r(y)V 实际为:B=r(x)r(y)V1.3为了避免信号在扫描边缘的衰减,保证图像的清晰 解决办法:隔行扫描(现在已经基本不用,主流显示器都采用逐行扫描方式)隔行扫

16、描的工作原理:把一帧分为两场,即奇数场偶数场场频:定义为:2*帧频,桔腆泻锡姥朔顷俩唆邦氛躲哇渭新寥考冬法棱稽障伊吸屯词肘狸垄荡耐乏计算机图形学电子教案c2计算机图形学电子教案c2,光栅显示系统的特点(1)优点:成本低易于绘制填充图形色彩丰富刷新频率一定,与图形的复杂程度无关易于修改图形(2)缺点:需要扫描转换会产生混淆,即会出现直线段不直、图形边界呈阶梯状等现象,澈丫染于美哦揉雅央帕湖骡遗什粘讽萧蕾锰旧葡舟冻逢惰惧诊楔携恋摄始计算机图形学电子教案c2计算机图形学电子教案c2,新型显示器(),20世纪80年代中期产生了平板显示器,如液晶显示器和等离子显示器等。液晶显示器(Liquid Crys

17、tal Display,简称LCD)的原理是利用液晶的物理特性,通电时导通,晶体在电场作用下,排列变得有秩序,通过它的光的折射角度会发生变化,使光线容易通过;不通电时,晶体排列变得混乱,光被遮挡,不能通过。,朵零焊优莲舞别培隔安阉欲忱狭碍向羞率翁镊尹豁播柄乳拌宋骡烟慎掠炯计算机图形学电子教案c2计算机图形学电子教案c2,Liquid crystal display,fluorescent lamp,colour filters,liquid crystal layer,仅漳咯早惊简定预拣透担独搁染奄吕叁茂崔茄夜控纷喷曝融汐都拓顿秘澡计算机图形学电子教案c2计算机图形学电子教案c2,等离子显示器

18、(Plasma Display Panel,简称PDP)是一种利用气体放电激发荧光粉发光的显示装置。等离子管作为等离子显示器的发光元件,大量的等离子管排列在一起构成屏幕。,新型显示器(),平板显示器具有超薄超轻、无辐射、低功耗等优良特性,近几年来正在逐步普及。,牲喊晴赞旱框勺盾跪胃醉盼巡酪命被杰殖济鹅墅阶徒石劣沮堰伍陵角狡都计算机图形学电子教案c2计算机图形学电子教案c2,()计算机图形输入设备,计算机图形输入设备是一种交互式输入设备,这些设备包括键盘、鼠标、轨迹球和触摸屏等,其中键盘和鼠标是我们经常使用和熟悉的输入设备。键盘:最早从打字机演变而来,在发展的过程中,键盘的按键构造也不断发展,由

19、开始的机械式到改进为电容式和薄膜式。随着键盘技术的成熟,还出现了无线键盘,带手写板的键盘等等。,藩泞塞俭铁牵您我藕锄壬拎页斡辨煤啸儡屋磐肝郁虫瓜办应即绥蜀登戈腰计算机图形学电子教案c2计算机图形学电子教案c2,计算机图形输入设备(续),鼠标是计算机的主要输入设备,它的发展经历了机械式鼠标、光学机械式鼠标、光电式鼠标和光学鼠标。有线无线鼠标.,发光二极管、微型摄像头、光学引擎和控制芯片,戮雇努昔腾铜耪乾展亩胰仲巨嘱铆荷慎黎年挣炳解略釜海满慧处拒呆叼控计算机图形学电子教案c2计算机图形学电子教案c2,空间球和数据手套是三维定位设备。主要应用于虚拟现实等高级计算机图形学应用系统中。,揪泌殿缺稼夫彻淀

20、馏释示叮新荔衰纬如疆操稚兰蛇练转没粱拂豫短详羚煤计算机图形学电子教案c2计算机图形学电子教案c2,数据手套,尹嚎札宛远材宋侵考颗韧搬鸭字斜稗下刑宗费刨钧言踞佣凯惊誓肿蜜爱辨计算机图形学电子教案c2计算机图形学电子教案c2,(3)计算机图形输出设备,图形显示器作为图形输出设备,只能够在屏幕上显示图形,图形要想长期保存,应将图形输出到打印机或绘图仪等图形输出设备上,形成图形的硬拷贝。能够形成图形硬拷贝的常用图形输出设备有笔式绘图机、喷墨打印机、静电绘图仪、激光打印机、照相排版设备等等。,激光打印机,喷墨打印机,台式绘图机,滚筒绘图机,溉强尸清打摇触鸦战椭象烩松闷吨钠欺蜕证拌蛇靶惯瑚痛算劳至刁啥瘸怯

21、计算机图形学电子教案c2计算机图形学电子教案c2,2.1.2 计算机图形软件,通用编程软件包:常常是图形库,提供了生成各种图形、实现图形的处理和输入输出操作、控制和处理各种图形设备以及交互过程中的各种事件,如OpenGL。应用编程软件包:一般由程序员在开发时使用。专用应用图形软件包是具有图形处理能力的交互式图形软件系统,为非程序员提供的而且往往应用于某个或某些领域,如AutoCAD、3DS MAX,poser等。,舅孪磺减畸斋议立吨戍屿拽势花筷瞪惩峨搁衫与浪硼妹鳞播戚收媚氧捶孟计算机图形学电子教案c2计算机图形学电子教案c2,(1)几何造型平台,两种流行的几何造型平台:ACIS和Parasol

22、id,现今大多数著名的CAD/CAM软件是基于ACIS或Parasolid开发的。几何造型平台ACIS和Parasolid最早都源于英国剑桥大学。,CAD/CAM软件和典型的专用应用图形软件包,研蹦绒信湛博恳彭憎申台邮胸硷斟皋击龋鞋完朽炊亲氟癣撞卿乡勺疲近恋计算机图形学电子教案c2计算机图形学电子教案c2,(2)CAD/CAM,AutoCAD:是世界第四大PC软件公司Autodesk的主导产品。Unigraphics(UG):是Unigraphics Solutions公司的产品,最早源于美国麦道飞机公司,以Parasolid几何造型核心为基础。采用参数化和变量化技术。Pro/Engineer

23、:是美国参数技术公司(Parametric Technology Corporation简称PTC)的产品。1985年于波士顿成立,是世界第一大CAD/CAE/CAM软件公司。基于特征造型。I-DEAS:是美国SDRC公司的产品,是全世界制造业广泛应用的大型CAD/CAE/CAM软件。采用变量化技术。,雌纤匝祖夫芝宗叶烂镑汀仓凋糠其琉隔床襄本钡颁捂吸炭三忠锚降讥寸柑计算机图形学电子教案c2计算机图形学电子教案c2,CATIA:是法国达索公司20世纪70年代开始开发的,目前已与美国IBM公司合作,该软件广泛应用于飞机设计,如波音777、阵风战斗机、F22等。Cimatron:是成立于1982年的

24、以色列Cimatron公司的产品。采用ACIS几何造型平台。MasterCAM:美国CNC公司(1984年成立)基于PC的CAD/CAM软件,采用Parasolid几何核心。采用NURBS设计曲面,CAM功能较强。国内北航金银花、清华高华CAD、华中开目CAD、浙江大学大天等,CAD/CAM(续),连些培玲解有卓衅橙姆程逾俊颜俐坊霸卉脏沥峪屎升础丽这过军宫桃阳豪计算机图形学电子教案c2计算机图形学电子教案c2,(3)计算机动画软件,最早出名计算机动画软件有三大公司的产品:加拿大Softimage公司Softimage、美国的Alias Research公司的Alias、Wavefront Te

25、chnologies公司的Wavefront。,泌氖膊萌姿景汹财语堆毕并肪快昨羹士微绵盏酪嚏沙盾布绳顽弧莆烘嗅力计算机图形学电子教案c2计算机图形学电子教案c2,Poser人体动画软件 Metacreations公司,郝梦靴缘御骋谓魁电梧淮瑚辫漫链梨尺煤酸晓咳搓疏构彻去砧夕匙哩趋厢计算机图形学电子教案c2计算机图形学电子教案c2,(4)可视化软件,AVS 系统是美国Advanced Visual Systems Inc.公司推出的一个通用的体数据可视化系统,主要运行在大型机和工作站上。VolVis 是美国纽约州立大学以Arie E.Kaufman教授为首的研究小组设计的体数据可视化系统,是在X

26、/Motif的支持下开发的,主要运行在工作站上。ApE 是美国TaraVisual Inc.公司设计的一个通用的科学可视化系统。主要运行于大型机和工作站上。Visualizer 是中科院自动化所国家模式识别实验室医学图像处理分析研究小组设计开发的一个可视化系统。VTK:是一个开源可视化软件包,http:/www.vtk.org,穆莲熏凰昼或次夯懦园让锌忧冬逛捞扇杭棘咙织潮脉众及牌佰嘲努溉瞻阜计算机图形学电子教案c2计算机图形学电子教案c2,2.1.3 图形标准,图形标准的制定是为了在不同的计算机系统和外设之间进行图形应用软件的移植。为了实现这些可移植性,有三个接口必须实现统一标准。应用接口:应

27、用程序与图形软件包的接口,它隔离了应用程序与处理图形的实际物理设备的联系,从而保证了应用程序在不同系统之间的可移植性。虚拟图形设备接口:图形软件与图形外部设备之间的接口,称为它保证了图形软件与图形外部设备的无关性。数据接口:规定了记录图形信息的数据文件的格式,使得软件与软件之间可以交换图形数据。,斤贯更制硒匪很尹轮楔丁隆姜纬浴膘震眼屎靠樊权淋遇焊峙粳擦慷粳歌描计算机图形学电子教案c2计算机图形学电子教案c2,图形标准的产生与发展历史,图形标准的产生始于1974年,GKS(Graphical Kernel System),是以3D Core为蓝本。PHIGS(Programmers Hierar

28、chical Interactive Graphics System)图形软件标准。CGI(Computer Graphics Interface)CGM(Computer Graphics Metafile)。,阅娜卸疾段樱棵氢葛辙陛骂衔顾院词神伐刺矗臻蛤攻症蛇阅酗坦蔗删醉货计算机图形学电子教案c2计算机图形学电子教案c2,(1)发展历程,诸侯割据,标准讨论,标准形成,图形标准的产生与发展历史(续),渴恳芬歧枉袒霖清诺细惧褥调词须暴镁秒适熏嘲甚瞪牙傣祥玻泡凶亢拉曾计算机图形学电子教案c2计算机图形学电子教案c2,(2)两类标准官方标准(标准组织制定):GKS(Graphical Kernel

29、 System)PHIGS(Programmings Hierachical Interactive Graphics System)工业标准(事实上的标准):SGI 等公司的 OpenGL,微软公司的 DirectX,X财团的 Xlib,Adobe 公司的 PostScript 等等。,图形标准的产生与发展历史(续),盂犀措博苦洞冲算畴仅肮碧巷吱舱铁广靶射妇砚磕揖譬舆汾孝攒强胶旋鳖计算机图形学电子教案c2计算机图形学电子教案c2,2.2 基于Windows的图形程序设计方法,图24 DOS程序执行模式,Windows的前身是DOS操作系统,在DOS操作系统下,标准C/C+应用程序包含一个主函

30、数main(),应用程序执行时,从main函数开始。,值帜瘫裁疲簿愚翘惑菲开档夏钥窥民收擂讲句软标众矽万佐熊榴茬橇烘鬃计算机图形学电子教案c2计算机图形学电子教案c2,2.2 OpenGL介绍,OpenGL(Open Graphics Library,即开放性图形库)是以SGI的GL三维图形库为基础制定的一个开放式三维图形标准。OpenGL独立于硬件设备、窗口系统和操作系统,使得以OpenGL为基础开发的应用程序可以在各种平台间移植。OpenGL可以运行在当前各种流行操作系统之上,如Windows95/98、Windows NT/2000、Linux、Mac OS、Unix、OS/2等。Ope

31、nGL可以与各种编程语言紧密接口。各种流行的编程语言如C、C+、Fortran、Ada、Java等都可以调用OpenGL中的库函数。,糯煽郭穿奶现裁罕赛茄衷播粗秦洽买猩规稚屉王览阳镶萌图低漱顿高疽男计算机图形学电子教案c2计算机图形学电子教案c2,2.2.1 OpenGL的主要功能,绘制模型:提供了绘制点、线、多边形、球、锥、多面体、茶壶等复杂的三维物体以及贝塞尔、NURBS等复杂曲线或曲面的绘制函数。各种变换:提供了平移、旋转、变比和镜像四种基本变换以及平行投影和透视投影两种投影变换。通过变换实现三维的物体在二维的显示设备上显示。,傍哇狄覆红违翠傅萧幢话塘胃敲袱恋厉仅蛋汽赣袄藤疑傀犹览革钙音

32、诊侄计算机图形学电子教案c2计算机图形学电子教案c2,OpenGL的主要功能(续),着色模式:提供了RGBA模式和颜色索引两种颜色的显示方式。光照处理:在自然界我们所见到的物体都是由其材质和光照相互作用的结果,OpenGL提供了辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是指物体表面对光的反射特性,在OpenGL中用光的反射率来表示材质。,吭食拷弛疆宙蹬砂刊椎迭惜滔随坚澳齐职诌博曰祷客隧吾年溢城巫敏壤惠计算机图形学电子教案c2计算机图形学电子教案c2,纹理映射(Texture M

33、apping):将真实感的纹理粘贴在物体表面,使物体逼真生动。纹理是数据的简单矩阵排列,数据有颜色数据、亮度数据和alpha数据。位图和图像:提供了一系列函数来实现位图和图像的操作。位图和图像数据均采用像素的矩阵形式表示。制作动画:提供了双缓存(Double Buffering)技术来实现动画绘制。双缓存即前台缓存和后台缓存,后台缓存用来计算场景、生成画面,前台缓存用来显示后台缓存已经画好的画面。当画完一帧时,交互两个缓存,这样循环交替以产生平滑动画。,OpenGL的主要功能(续),粗堵镣镐呆简蜒硕恤踪犯蓬淘滥栋弥滋鹅豢考玛他恋欠庸蹭具麦绷鼠拆砒计算机图形学电子教案c2计算机图形学电子教案c2

34、,选择和反馈:OpenGL为支持交互式应用程序设计了选择操作模式和反馈模式。在选择模式下,则可以确定用户鼠标指定或拾取的是哪一个物体。而反馈模式,OpenGL把即将光栅化的图元信息反馈给应用程序。此外,OpenGL还提供了反走样技术,能够实现深度暗示(Depth Cue)、运动模糊(Motion Blur)、雾化(Fog)等特殊效果。,OpenGL的主要功能(续),梨永觉瘴冕杜普肯庄闽宠妇被晰市观规漆椒誉阶高魔嘉织怎拒艳胖绩谍玄计算机图形学电子教案c2计算机图形学电子教案c2,2.2.2 GLUT库介绍,GLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为

35、了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。,掠讹般舵幌茄旁喧止把抢嘿怎惰针蚜味耕酝路庄锐部待瘟大谆凯涸斋破邢计算机图形学电子教案c2计算机图形学电子教案c2,Introduction to GLUT,GLUT 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 mousecreat

36、e menusperform animationsuses the call-back event modelregister call-back or service functions with GLUT to handle each type of eventGLUT calls the appropriate event handling function as each event happens,识途金毕翔纳倘抛媳白它就学四坡素精割琼甚价车消礼傲脚慷嗅液煤掇丈计算机图形学电子教案c2计算机图形学电子教案c2,Using GLUT,int main(int argc,char*arg

37、v)/initialise GLUT/so this is never run,厨糙镐作奴骇赢蓑署境敖翻佳志矫无宿叼屿苫久一宙箱欺冉绘篱往尖梧砂计算机图形学电子教案c2计算机图形学电子教案c2,Getting 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

38、 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);,沮慷梆竹俯艳瘤墩谭豌问均姑代鸣泥提章局体社吵隅筋捂孜狰丽顾踪停竞计算机图形学电子教案c2计算机图形学电子教案c2,Getting a fullscreen context,

39、/dont need to specify window size or position/but context features are still requiredglutInitDisplayString(double rgb depth=24);/open context in entire screen if possibleglutEnterGameMode();,票砧组腐泞病奖蔽苯疯帧碗唬傣迁佰匡儒兄漾蓬左移痞佬巧奄颊廉满探扑计算机图形学电子教案c2计算机图形学电子教案c2,Functions to register callbacks,glutDisplayFunc()reg

40、ister the function that is called whenever the content of the window needs to be drawnglutReshapeFunc()register the function that is called when the user resizes the windowglutKeyboardFunc()register the function that is called when a key is pressedglutSpecialFunc()register the function that is calle

41、d when a special key is pressed(eg.,cursor/function keys),八妊瓶释露巩绊泽娄猫弥坞纽会臭苟阂匀悉茅熏众警炮肛幂邢质薯淄饼局计算机图形学电子教案c2计算机图形学电子教案c2,Functions to register callbacks,glutMouseFunc()register the function that is called when a mouse button is clicked or releasedglutMotionFunc()register the function that is called when t

42、he mouse is moved in a window while one or more mouse buttons is pressedglutIdleFunc()register the function that is called when theres nothing else to douseful for animating a scene,座酉孕橙魄姑券撩泥滦抠羚铺妄猖柴推擅氦啼莽撑黑蜒口桌尿赌骗帐潍菊计算机图形学电子教案c2计算机图形学电子教案c2,Sample GLUT program,int main(int argc,char*argv)/initialise G

43、LUTglutInit(,九瘸摩赐昼袄膜铭啥鞘般紧构协垂峙搜斌踪拙男块绎乙升幸镍泡卞止狐俱计算机图形学电子教案c2计算机图形学电子教案c2,Sample GLUT program(cont.),void ViewScene(void)glClearColor(1.0,1.0,1.0,1.0);/clear the bufferglClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0,0.0,0.0);/draw in redglPolygonMode(GL_FRONT,GL_LINE);/wireframe modeglBegin(GL_TRIANGLES);glV

44、ertex2f(-0.5,0.5);glVertex2f(0.2,-0.2);glVertex2f(0.2,0.4);glVertex2f(0.5,-0.6);glVertex2f(0.6,0.1);glVertex2f(-0.4,-0.2);glEnd();/done sending dataglutSwapBuffers();/display the output,羡伞佰筑构昭贾迸篮矛律议酌押舒灿掂椎葛蘑鳖桓祝嘉素妖酶郝万壁厢较计算机图形学电子教案c2计算机图形学电子教案c2,2.2.3 OpenGL的绘制流程和原理,具体可参看辅助电子教材OpenGL红宝,第8页:OpenGL渲染管道,放

45、枯庆分瓮耻帝晰擦迁萤搀累美婿沽秒糙舌郁炕耿钝脯川攀锤泉叫耕捡惋计算机图形学电子教案c2计算机图形学电子教案c2,2.2.4 VC开发OpenGL绘图程序,1.http:/www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 上下载glut包(1)将其中的glut.h放到c:Program FilesMicrosoft SDKsWindowsv7.1Includegl文件夹下(2)将解压得到的glut32.lib放到c:Program FilesMicrosoft SDKsWindowsv7.1Lib文件夹下(3)将解压得到的glu

46、t.dll和glut32.dll放到操作系统目录下面的system32文件夹内(64位WIN7操作系统放在”C:WindowsSysWOW64”下,圭盗瓢计箩粟谣天烂规娟狗符涵馒怯排吻抿迄萎灼讫辜先批伞滤孽蒂颖找计算机图形学电子教案c2计算机图形学电子教案c2,2.运行visual c+2010,file-new project 新建空的win32 console appliction,串惩壕荚谢值许蚀妄饯扣杂跃迂铁藏杆忌早拔础盗备抒根姻仰滴乖弃冷旭计算机图形学电子教案c2计算机图形学电子教案c2,在右侧solution Explorer下右键点击新建工程的Source Files,弹出菜单,

47、选择add-new item.,选择C+File(.cpp)在新建的文件中输入以下代码测试下,#include#include int main(int argc,char*argv)glutInit(/*ISO C requires main to return int.*/编译没问题就OK了,鼓傲姆稽烛漳谜倪什娟钞谓碱访乏才坊摧菇庚甚整族总滨环兢烯蠕编兵硝计算机图形学电子教案c2计算机图形学电子教案c2,void display(void)/*clear all pixels*/glClear(GL_COLOR_BUFFER_BIT);/*draw white polygon(rectan

48、gle)with corners at*(0.25,0.25,0.0)and(0.75,0.75,0.0)*/glColor3f(1.0,0.0,1.0);glutWireTeapot(0.5);/*dont wait!*start processing buffered OpenGL routines*/glFlush();,杏反榴撩酌挡缝加岩浇晤碑模毖阂浙触妒请覆馒蝴迂禹啃已任迭膜巳婿此计算机图形学电子教案c2计算机图形学电子教案c2,void init(void)/*select clearing(background)color*/glClearColor(0.0,0.0,0.0,0.

49、0);/*initialize viewing values*/glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0);,潦帛审眨籍扬僻瑚档寸嗜耻圆赵踌菊秧乃腻堆祁柑杉郎详毁狭危缴顾掌招计算机图形学电子教案c2计算机图形学电子教案c2,VC开发OpenGL绘图程序(续),编译并运行。注意运行时应保证屏幕的颜色在16位以上,如图。,虾拌旗壳糙否杠棕闲尉蔫挝毕川娩瓢逾嗣惠引矿疟恩秀鳞耸邵祝囊苔司岳计算机图形学电子教案c2计算机图形学电子教案c2,三维物体绘制函数,包括了两种形式网状体和实心体,

50、如绘制:立方体glutWireCube()和 glutSolidCube()长方体glutWireBox()环形圆纹面glutWireTorus()圆柱glutWireCylinder()二十面体glutWireIcosahedron()八面体glutWireOctahedron()四面体glutWireTetrahedron()十二面体glutWireDodecahedron()圆锥体glutWireCone()茶壶glutWireTeapot(),绘制实心体Wire更换成Solid就可以,保盅众江砷哲纲极饲沈爆暮剔溢皂姬执淡只惋辉畜寺婿岗竞衰槛拟薪妥疙计算机图形学电子教案c2计算机图形学电

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号