欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机图形学电子教案(1).ppt

    • 资源ID:65852433       资源大小:1.98MB        全文页数:87页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机图形学电子教案(1).ppt

    第2章 计算机图形系统2.1 计算机图形系统概述2.2 OpenGL介绍2.1 计算机图形系统概述计算机图形系统由硬件系统和软件系统组成计算机图形系统由硬件系统和软件系统组成 。激光打印机激光打印机喷墨打印机喷墨打印机计算机计算机台式绘图机台式绘图机滚筒绘图机滚筒绘图机幅面受限制,幅面受限制,幅面受限制,幅面受限制,精度高精度高精度高精度高幅面不受限幅面不受限幅面不受限幅面不受限制,精度低制,精度低制,精度低制,精度低计算机图形系统的主要硬件:计算机、打印机、绘图机。计算机图形系统的主要硬件:计算机、打印机、绘图机。2.1.1 计算机图形外部设备结构如图示,主要由电子枪、聚焦系统、加速电极、偏转系统结构如图示,主要由电子枪、聚焦系统、加速电极、偏转系统和荧光屏五部分组成。和荧光屏五部分组成。()显示设备显示设备CRT(Cathode-ray tube)阴极射线管电子枪发射电子束,经过聚焦在偏转系统控制下电电子枪发射电子束,经过聚焦在偏转系统控制下电子束轰击荧光屏,在荧光屏上产生足够小的光点,子束轰击荧光屏,在荧光屏上产生足够小的光点,光点称为光点称为像素像素像素像素(pixel)pixel)。阴极射线管在水平和垂直方向单位长度上能识别的阴极射线管在水平和垂直方向单位长度上能识别的最大光点数称为最大光点数称为分辨率分辨率分辨率分辨率,分辨率越高,显示的画,分辨率越高,显示的画面越清晰。面越清晰。CRT(Cathode-ray tube)阴极射线管CRT:电子枪(由灯丝、阴极和控制栅组成)在靠近阴极的前方有一个控制栅,它是个柱状的金属杆、加上负电压后,能够控制通过其中间小孔的带负电的电子束的强弱。当控制栅上的负电压足够大时,它可以截止电子束,此时,对应的荧光屏上的点是黑的。CRT:聚焦系统 聚焦系统通过电场或磁场控制电子束,使电子束“变细”,保证轰击荧光屏时产生的亮点足够小。为了提高显示系统的分辨率,聚焦系统是关键之一。CRT:加速电极加速电极加有正的高电压(达几万伏),使经过聚焦的电子束高速运动。加上正的高电压CRT:偏转系统(由垂直偏转板和水平偏转板组成)偏转控制可以来用静电场,也可以采用磁场,控制电子束在水平方向上和竖直方向上的偏转。最大偏转角度是衡量偏转系统性能的最重要指标。为什么大屏幕显示器的前后径比小屏幕显示器的前后径长?CRT:荧光屏荧光物质受电子束一次轰击之后发光,亮度会迅速衰减。持续发光时间持续发光时间指的是电子束离开某点后,该点亮度值衰减到初始值的110所需的时间。用于图形显示设备的大多数荧光物质的持续发光时间为l 0到60毫。如果种荧光物质的持续发光时间为40毫秒,则大约刷新频率为?CRT:彩色阴极射线管彩色阴极射线管(1)射线穿透法(主要用于画线显示器中)原理 应用:画线显示器 优点:成本低 缺点:只能产生有限几种颜色(红橙黄绿)特点:电子束的速度决定了屏幕上光点的颜色荧光涂层 产生颜色低速电子束较低速电子束较高速电子束高速电子束电子束(2)影孔板法:原理:影孔板被安装在荧光屏的内表面,用于精确定位像素的位置外层玻璃影孔板荧光涂层 1)影孔板的类型:点状影孔板 大多数球面 与柱面显象管 栅格式影孔板Mitsubishi(三菱)的Diamondtron(钻石)与 Sony的Trinitron(特丽珑)显象管 栅格式影孔板 LG的 Flatron 显象管CRT:2)点状影孔板工作原理)点状影孔板工作原理红、绿、蓝三基色三色荧光点三个电子枪CRT:这种方法利用人们眼睛在超过一定距离后分辨力不高的特性,产生与直接混色法相同的效果3)点状影孔板工作原理)点状影孔板工作原理(续续)CRT:分辨率 用乘法形式来表示,如800600,其中“800”表示屏幕上水平方向显示的像素数,“600”表示垂直方向显示的像素数。所以分辨率就是指画面的解析度由多少像素构成,其数值越大图象就越清晰。CRT(阴极射线管)显示器的实际分辨率不仅与显示尺寸有关,还由显像管点距和视频放大电路提供的视频带宽等因素决定。CRT:显示器能够同时显示的颜色个数a.如果电子枪只有开、关两个状态,则只能产生2*2*2=8种颜色CRT:b.如果每个电子枪有256个等级,则显示器能同时显示256*256*256=16M 种颜色,此时称为真彩系统通过调节电子枪发出的电子束中所含电子的多少,可以控通过调节电子枪发出的电子束中所含电子的多少,可以控制击中的相应荧光点的亮度,因此以不同的强度击中荧光点,制击中的相应荧光点的亮度,因此以不同的强度击中荧光点,就能够在像素点上生成极其丰富的颜色。就能够在像素点上生成极其丰富的颜色。如图是一个具有如图是一个具有24位面的位面的帧缓冲存储器,红、绿、帧缓冲存储器,红、绿、蓝各蓝各8个位面,其值经数个位面,其值经数模转换控制红、绿、蓝电模转换控制红、绿、蓝电子枪的强度,每支电子枪子枪的强度,每支电子枪的强度有的强度有256(8位位)个等级,个等级,则能显示则能显示256*256*256=16兆种颜色,兆种颜色,16兆种颜色也兆种颜色也称作称作(24位位)真彩色。真彩色。CRT:点距:点距是指显像管内壁相邻两个同色荧光点的间距,水平点距水平点距是指这两个荧光点之间在水平方向的距离。CRT:点距点距:如果把屏幕上三个最临近的同色荧光点连接起来,就构成一个等边三角形,此等边三角形的边长就是点距。该等边三角形底边上的高即边长在水平方向的投影,其长度就是水平点距(如图所示)。CRT:大多数球面 与柱面显象管 Mitsubishi(三菱)的Diamondtron(钻石)与 Sony的Trinitron(特丽珑)显象管LG的 Flatron 显象管CRT:荧光像素由红、绿、蓝(R、G、B)三个相邻荧光点才构成一个彩色的荧光像素。像素是指在显示器屏幕上显卡所能控制的最小区域。显像管内壁的荧光点(荧光像素)的位置无法改变,而像素点的位置是随显卡输出分辨率的变化而变化的,故荧光像素与像素的概念是不同的。CRT:用可显示区域的宽和高分别除以水平和垂直点距,就可得到显示器在水平和垂直方向最多可以显示的点数。以15英寸、0.28mm点距显示器为例,则求其最大分辨率?(提示:其有效显示尺寸为 13.8英寸(屏幕对角线长度),按宽高比 4:3 计算(1 英寸=2.54mm)CRT:则水平和垂直方向有效显示尺寸水平和垂直方向有效显示尺寸约为:280mm和210mm 水平点距水平点距=垂直点距0.866=0.28mm0.866=0.2425mm 水平可用荧光像素点数水平可用荧光像素点数=水平有效显示尺寸/水平点距=280mm/0.2425mm=1154 垂直可用荧光像素点数垂直可用荧光像素点数=垂直有效显示尺寸/垂直点距=210mm/0.28mm=750 该显示器的实际分辨率实际分辨率最大为:1154750(标准分辨率)。超过这个模式,如显卡输出12801024 分辨率的信号,显示器只能将这12801024个像素的信息罗列到1154750 个荧光像素之中。光栅扫描显示系统光栅扫描显示系统特点特点:光栅扫描帧帧:完成一次扫描所产生的图像扫描线,水平回扫期,垂直回扫期绘图过程绘图过程:其原理是利用了人们眼睛的视觉残留特性和荧光粉的余辉作用光栅扫描显示系统光栅扫描显示系统简单的光栅扫描图形显示系统的结构光栅扫描显示系统光栅扫描显示系统逻辑部件逻辑部件:帧缓冲存储器(Frame Buffer),视频控制器(Video Controller),显示处理器(Display Processor),阴极射线管(CRT:Cathode-ray Tube)较为典型光栅扫描图形显示系统的结构帧缓冲存储器帧缓冲存储器作用作用:存储屏幕上像素的颜色值简称帧缓冲器,俗称显存显存分辨率M*N、颜色个数K与显存大小V的关系可以同时显示16兆种颜色的显示系统称为真彩系统 CPU或显示处理器扫描转换光栅扫描显示系统光栅扫描显示系统光栅扫描显示系统光栅扫描显示系统带宽T与分辨率、帧频F的关系显存问题高分辨率和真彩要求有大的显存 1024*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*帧频 光栅显示系统的特点光栅显示系统的特点(1)优点)优点:成本低易于绘制填充图形色彩丰富刷新频率一定,与图形的复杂程度无关易于修改图形(2)缺点)缺点:需要扫描转换会产生混淆,即会出现直线段不直、图形边界呈阶梯状等现象 新型显示器()2020世世纪纪8080年年代代中中期期产产生生了了平平板板显显示示器器,如如液液晶晶显显示示 器器 和和 等等 离离 子子 显显 示示 器器 等等。液液 晶晶 显显 示示 器器(Liquid Liquid Crystal Crystal DisplayDisplay,简简称称LCD)LCD)的的原原理理是是利利用用液液晶晶的的物物理理特特性性,通通电电时时导导通通,晶晶体体在在电电场场作作用用下下,排排列列变变得得有有秩秩序序,通通过过它它的的光光的的折折射射角角度度会会发发生生变变化化,使使光光线线容容易易通通过过;不不通通电电时时,晶晶体体排排列列变变得得混混乱乱,光光被遮挡,不能通过。被遮挡,不能通过。Liquid crystal displayfluorescent lampcolour filtersliquid crystal layer 等离子显示器(Plasma Display Panel,简称PDP)是一种利用气体放电激发荧光粉发光的显示装置。等离子管作为等离子显示器的发光元件,大量的等离子管排列在一起构成屏幕。新型显示器()平板显示器具有超薄超轻、无辐射、平板显示器具有超薄超轻、无辐射、平板显示器具有超薄超轻、无辐射、平板显示器具有超薄超轻、无辐射、低功耗等优良特性,低功耗等优良特性,低功耗等优良特性,低功耗等优良特性,近几年来正在逐步普及。近几年来正在逐步普及。近几年来正在逐步普及。近几年来正在逐步普及。()计算机图形输入设备 计计算算机机图图形形输输入入设设备备是是一一种种交交互互式式输输入入设设备备,这这些些设设备备包包括括键键盘盘、鼠鼠标标、轨轨迹迹球球和和触触摸摸屏屏等等,其其中中键键盘盘和和鼠鼠标标是我们经常使用和熟悉的输入设备。是我们经常使用和熟悉的输入设备。键键盘盘:最最早早从从打打字字机机演演变变而而来来,在在发发展展的的过过程程中中,键键盘盘的的按按键键构构造造也也不不断断发发展展,由由开开始始的的机机械械式式到到改改进进为为电电容容式式和和薄薄膜膜式式。随随着着键键盘盘技技术术的的成成熟熟,还还出出现现了了无无线线键键盘盘,带手写板的键盘等等。带手写板的键盘等等。计算机图形输入设备(续)鼠标鼠标是计算机的主要输入设备,它的发展经历了机械是计算机的主要输入设备,它的发展经历了机械式鼠标、光学机械式鼠标、光电式鼠标和式鼠标、光学机械式鼠标、光电式鼠标和光学鼠标。有线有线 无线鼠标无线鼠标.发光二极管、微型摄像头、光学引擎和控制芯片空间球和数据手套空间球和数据手套是三维定位设备。主要应用是三维定位设备。主要应用于虚拟现实等高级计算机图形学应用系统中。于虚拟现实等高级计算机图形学应用系统中。数据手套(3)(3)计算机图形输出设备计算机图形输出设备图形显示器作为图形输出设备,只能够在屏幕上显示图形,图形显示器作为图形输出设备,只能够在屏幕上显示图形,图形要想长期保存,应将图形输出到打印机或绘图仪等图图形要想长期保存,应将图形输出到打印机或绘图仪等图形输出设备上,形成图形的硬拷贝。能够形成图形硬拷贝形输出设备上,形成图形的硬拷贝。能够形成图形硬拷贝的常用图形输出设备有笔式绘图机、喷墨打印机、静电绘的常用图形输出设备有笔式绘图机、喷墨打印机、静电绘图仪、激光打印机、照相排版设备等等。图仪、激光打印机、照相排版设备等等。激光打印机激光打印机喷墨打印机喷墨打印机台式绘图机台式绘图机滚筒绘图机滚筒绘图机2.1.2 计算机图形软件计算机图形软件通用编程软件包:通用编程软件包:通用编程软件包:通用编程软件包:常常是图形库,提供了生成各种图常常是图形库,提供了生成各种图形、实现图形的处理和输入输出操作、控制和处理各形、实现图形的处理和输入输出操作、控制和处理各种图形设备以及交互过程中的各种事件,如种图形设备以及交互过程中的各种事件,如OpenGLOpenGL。应用编程软件包:应用编程软件包:应用编程软件包:应用编程软件包:一般由程序员在开发时使用。专用一般由程序员在开发时使用。专用应用图形软件包是具有图形处理能力的交互式图形软应用图形软件包是具有图形处理能力的交互式图形软件系统,为非程序员提供的而且往往应用于某个或某件系统,为非程序员提供的而且往往应用于某个或某些领域,如些领域,如AutoCADAutoCAD、3DS MAX,poser3DS MAX,poser等。等。(1)几何造型平台 两种流行的几何造型平台:两种流行的几何造型平台:ACISACIS和和ParasolidParasolid,现现今大多数著名的今大多数著名的CAD/CAMCAD/CAM软件是基于软件是基于ACISACIS或或ParasolidParasolid开发的。几何造型平台开发的。几何造型平台ACISACIS和和ParasolidParasolid最早最早都源于英国剑桥大学。都源于英国剑桥大学。CAD/CAMCAD/CAM软件和典型的软件和典型的专用应用图形软件包专用应用图形软件包(2)CAD/CAM AutoCAD:AutoCAD:是世界第四大是世界第四大PCPC软件公司软件公司AutodeskAutodesk的主导产品。的主导产品。Unigraphics(UG)Unigraphics(UG):是是Unigraphics SolutionsUnigraphics Solutions公司的产品,最公司的产品,最早源于美国麦道飞机公司,以早源于美国麦道飞机公司,以ParasolidParasolid几何造型核心为基础。几何造型核心为基础。采用参数化和变量化技术。采用参数化和变量化技术。Pro/EngineerPro/Engineer:是美国参数技术公司是美国参数技术公司(Parametric Parametric Technology CorporationTechnology Corporation简称简称PTC)PTC)的产品。的产品。19851985年于波士顿成年于波士顿成立,是世界第一大立,是世界第一大CAD/CAE/CAMCAD/CAE/CAM软件公司。基于特征造型。软件公司。基于特征造型。I-DEASI-DEAS:是美国是美国SDRCSDRC公司的产品,是全世界制造业广泛公司的产品,是全世界制造业广泛应用的大型应用的大型CAD/CAE/CAMCAD/CAE/CAM软件。采用变量化技术。软件。采用变量化技术。CATIACATIA:是法国达索公司是法国达索公司2020世纪世纪7070年代开始开年代开始开发的,目前已与美国发的,目前已与美国IBMIBM公司合作,该软件广泛公司合作,该软件广泛应用于飞机设计,如波音应用于飞机设计,如波音777777、阵风战斗机、阵风战斗机、F F2222等。等。CimatronCimatron:是成立于是成立于19821982年的以色列年的以色列CimatronCimatron公司的产品。公司的产品。采用采用ACISACIS几何造型平台。几何造型平台。MasterCAMMasterCAM:美国美国CNCCNC公司公司(1984(1984年成立年成立)基于基于PCPC的的CAD/CAMCAD/CAM软件,采用软件,采用ParasolidParasolid几何核心。几何核心。采用采用NURBSNURBS设计曲面,设计曲面,CAMCAM功能较强。功能较强。国内北航金银花、清华高华国内北航金银花、清华高华CADCAD、华中开目华中开目CADCAD、浙江大学大天等浙江大学大天等CAD/CAM(续)(3)计算机动画软件 最早出名计算机动画软件有三大公司的产品:加拿大最早出名计算机动画软件有三大公司的产品:加拿大SoftimageSoftimage公司公司SoftimageSoftimage、美国的美国的Alias ResearchAlias Research公司的公司的AliasAlias、Wavefront TechnologiesWavefront Technologies公司的公司的WavefrontWavefront。Poser人体动画软件 Metacreations公司(4)可视化软件 AVS AVS 系系统统是是美美国国Advanced Advanced Visual Visual Systems Systems Inc.Inc.公公司司推推出出的的一一个个通用的体数据可视化系统,主要运行在大型机和工作站上。通用的体数据可视化系统,主要运行在大型机和工作站上。VolVis VolVis 是是美美国国纽纽约约州州立立大大学学以以Arie Arie E.KaufmanE.Kaufman教教授授为为首首的的研研究究小小组组设设计计的的体体数数据据可可视视化化系系统统,是是在在X/MotifX/Motif的的支支持持下下开开发发的的,主要运行在工作站上。主要运行在工作站上。ApE ApE 是是美美国国TaraVisual TaraVisual Inc.Inc.公公司司设设计计的的一一个个通通用用的的科科学学可可视视化化系统。主要运行于大型机和工作站上。系统。主要运行于大型机和工作站上。Visualizer Visualizer 是中科院自动化所国家模式识别实验室医学图像处是中科院自动化所国家模式识别实验室医学图像处理分析研究小组设计开发的一个可视化系统。理分析研究小组设计开发的一个可视化系统。VTK VTK :是一个开源可视化软件包,是一个开源可视化软件包,http:/www.vtk.orghttp:/www.vtk.org 2.1.3 图形标准图形标准图图形形标标准准的的制制定定是是为为了了在在不不同同的的计计算算机机系系统统和和外外设设之之间间进进行行图图形形应应用用软软件件的的移移植植。为为了了实实现现这这些些可可移移植植性性,有有三三个个接口必须实现统一标准。接口必须实现统一标准。应应应应用用用用接接接接口口口口:应应用用程程序序与与图图形形软软件件包包的的接接口口,它它隔隔离离了了应应用用程程序序与与处处理理图图形形的的实实际际物物理理设设备备的的联联系系,从从而而保保证证了了应应用用程序在不同系统之间的可移植性。程序在不同系统之间的可移植性。虚虚虚虚拟拟拟拟图图图图形形形形设设设设备备备备接接接接口口口口:图图形形软软件件与与图图形形外外部部设设备备之之间间的的接接口口,称为它保证了图形软件与图形外部设备的无关性。称为它保证了图形软件与图形外部设备的无关性。数数数数据据据据接接接接口口口口:规规定定了了记记录录图图形形信信息息的的数数据据文文件件的的格格式式,使使得得软件与软件之间可以交换图形数据。软件与软件之间可以交换图形数据。图形标准的产生与发展历史图形标准的产生与发展历史 图形标准的产生始于图形标准的产生始于19741974年,年,GKS(Graphical Kernel System)GKS(Graphical Kernel System),是以,是以3 3D CoreD Core为蓝本。为蓝本。PHIGS(Programmers Hierarchical Interactive Graphics System)PHIGS(Programmers Hierarchical Interactive Graphics System)图形软件标准。图形软件标准。CGI(Computer Graphics Interface)CGI(Computer Graphics Interface)CGM(Computer Graphics Metafile)CGM(Computer Graphics Metafile)。(1)发展历程诸侯割据诸侯割据标准讨论标准讨论标准形成标准形成图形标准的产生与发展历史(续)图形标准的产生与发展历史(续)(2)两类标准官方标准(标准组织制定):GKS(Graphical Kernel System)PHIGS(Programmings Hierachical Interactive Graphics System)工业标准(事实上的标准):SGI 等公司的 OpenGL,微软公司的 DirectX,X财团的 Xlib,Adobe 公司的 PostScript 等等。图形标准的产生与发展历史(续)图形标准的产生与发展历史(续)2.2 OpenGL介绍 OpenGL(Open OpenGL(Open Graphics Graphics LibraryLibrary,即即开开放放性性图图形形库库)是是以以SGISGI的的GLGL三三维维图形库为基础制定的一个开放式三维图形标准。图形库为基础制定的一个开放式三维图形标准。OpenGLOpenGL独独立立于于硬硬件件设设备备、窗窗口口系系统统和和操操作作系系统统,使使得得以以OpenGLOpenGL为为基基础础开开发发的的应应用用程程序序可可以以在在各各种种平平台台间间移移植植。OpenGLOpenGL可可以以运运行行在在当当前前各各种种流流行行操操作作系系统统之之上上,如如Windows95/98Windows95/98、Windows Windows NT/2000NT/2000、LinuxLinux、Mac OSMac OS、UnixUnix、OS/2OS/2等。等。OpenGLOpenGL可可以以与与各各种种编编程程语语言言紧紧密密接接口口。各各种种流流行行的的编编程程语语言言如如C C、C+C+、FortranFortran、AdaAda、JavaJava等都可以调用等都可以调用OpenGLOpenGL中的库函数。中的库函数。2.2.1 OpenGL的主要功能 绘绘制制模模型型:提提供供了了绘绘制制点点、线线、多多边边形形、球球、锥锥、多多面面体体、茶茶壶壶等等复复杂杂的的三三维维物物体体以以及及贝贝塞塞尔尔、NURBSNURBS等等复复杂杂曲曲线线或或曲曲面的绘制函数。面的绘制函数。各各种种变变换换:提提供供了了平平移移、旋旋转转、变变比比和和镜镜像像四四种种基基本本变变换换以以及及平平行行投投影影和和透透视视投投影影两两种种投投影影变变换换。通通过过变变换换实实现现三三维维的的物体在二维的显示设备上显示。物体在二维的显示设备上显示。OpenGL的主要功能(续)着色模式:着色模式:提供了提供了RGBARGBA模式和颜色索引两种颜模式和颜色索引两种颜色的显示方式。色的显示方式。光照处理:光照处理:在自然界我们所见到的物体都是由在自然界我们所见到的物体都是由其材质和光照相互作用的结果,其材质和光照相互作用的结果,OpenGLOpenGL提供了提供了辐射光辐射光(Emitted Light)Emitted Light)、环境光环境光(Ambient Light)Ambient Light)、漫反射光漫反射光(Diffuse Light)Diffuse Light)和镜面光和镜面光(Specular Specular Light)Light)。材质是指物体表面对光的反射特性,在材质是指物体表面对光的反射特性,在OpenGLOpenGL中用光的反射率来表示材质。中用光的反射率来表示材质。纹理映射纹理映射(Texture Mapping)Texture Mapping):将真实感的纹理粘贴在物体表将真实感的纹理粘贴在物体表面,使物体逼真生动。纹理是数据的简单矩阵排列,数据有颜面,使物体逼真生动。纹理是数据的简单矩阵排列,数据有颜色数据、亮度数据和色数据、亮度数据和alphaalpha数据。数据。位图和图像位图和图像:提供了一系列函数来实现位图和图像的操作。:提供了一系列函数来实现位图和图像的操作。位图和图像数据均采用像素的矩阵形式表示。位图和图像数据均采用像素的矩阵形式表示。制制作作动动画画:提提供供了了双双缓缓存存(Double Double Buffering)Buffering)技技术术来来实实现现动动画画绘绘制制。双双缓缓存存即即前前台台缓缓存存和和后后台台缓缓存存,后后台台缓缓存存用用来来计计算算场场景景、生生成成画画面面,前前台台缓缓存存用用来来显显示示后后台台缓缓存存已已经经画画好好的的画画面面。当当画画完一帧时,交互两个缓存,这样循环交替以产生平滑动画。完一帧时,交互两个缓存,这样循环交替以产生平滑动画。OpenGL的主要功能(续)选择和反馈:选择和反馈:OpenGLOpenGL为支持交互式应用程序设为支持交互式应用程序设计了选择操作模式和反馈模式。计了选择操作模式和反馈模式。在选择模式下,则可以确定用户鼠标指定或拾取的是哪在选择模式下,则可以确定用户鼠标指定或拾取的是哪一个物体。一个物体。而反馈模式,而反馈模式,OpenGLOpenGL把即将光栅化的图元信息反馈给把即将光栅化的图元信息反馈给应用程序。应用程序。此外,此外,OpenGLOpenGL还提供了反走样技术,能够实还提供了反走样技术,能够实现现深度暗示深度暗示(Depth Cue)Depth Cue)、运动模糊运动模糊(Motion Motion Blur)Blur)、雾化雾化(Fog)Fog)等特殊效果。等特殊效果。OpenGL的主要功能(续)2.2.2 GLUT库介绍GLUT 代表代表OpenGL Utility Tookit。Mark J.Kilgard 为了使为了使OpenGL应用程序应用程序结构能够真正独立于窗口系统构思了结构能够真正独立于窗口系统构思了GLUT库。库。Introduction to GLUTGLUT 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 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 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 hereglutMainLoop();/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);Functions to register callbacksglutDisplayFunc()register 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 called when a special key is pressed(eg.,cursor/function keys)Functions to register callbacksglutMouseFunc()register the function that is called when a mouse button is clicked or releasedglutMotionFunc()register the function that is called when the 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 Sample GLUT programint main(int argc,char*argv)/initialise GLUTglutInit(&argc,argv);glutInitWindowPosition(350,500);glutInitWindowSize(300,300);glutInitDisplayString(double rgb depth=24);glutCreateWindow(GL_POLYGON);/register callbacks for GLUTglutDisplayFunc(ViewScene);/let GLUT manage things from hereglutMainLoop();return 0;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);glVertex2f(-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 output2.2.3 OpenGL的绘制流程和原理 点数据评价器逐点操作基元匹配显示列表像素数据像素操作纹理存储器光栅化基片操作帧缓冲区具体可参看辅助电子教材OpenGL红宝,第8页:OpenGL渲染管道2.2.4 VC开发OpenGL绘图程序1.1.http:/www.opengl.org/resources/libraries/glut/glutdllshttp:/www.opengl.org/resources/libraries/glut/glutdlls37beta.zip37beta.zip 上下载上下载glutglut包包(1)(1)将其中的将其中的glut.hglut.h放到放到c:Program FilesMicrosoft c:Program FilesMicrosoft SDKsWindowsv7.1IncludeglSDKsWindowsv7.1Includegl文件夹下文件夹下(2)(2)将解压得到的将解压得到的glut32.libglut32.lib放到放到c:Program c:Program FilesMicrosoft SDKsWindowsv7.1LibFilesMicrosoft SDKsWindowsv7.1Lib文件夹下文件夹下(3)(3)将解压得到的将解压得到的glut.dllglut.dll和和glut32.dllglut32.dll放到操作系统目录下放到操作系统目录下面的面的system32system32文件夹内文件夹内(64位WIN7操作系统放在”C:WindowsSysWOW64”下2.运行visual c+2010,file-new project 新建空的win32 console appliction在右侧solution Explorer下右键点击新建工程的Source Files,弹出菜单,选择add-new item.,选择C+File(.cpp)在新建的文件中输入以下代码测试下#include#include int main(int argc,char*argv)glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowSize(250,250);glutInitWindowPosition(100,100);glutCreateWindow(hello);init();/见下一页glutDisplayFunc(display);/见下页glutMainLoop();return 0;/*ISO C requires main to return int.*/编译没问题就OK了void display(void)/*clear all pixels*/glClear(GL_COLOR_BUFFER_BIT);/*draw white polygon(rectangle)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();void init(void)/*select clea

    注意事项

    本文(计算机图形学电子教案(1).ppt)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开