电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汪老师课件9openGLintro

100页
  • 卖家[上传人]:E****
  • 文档编号:91057516
  • 上传时间:2019-06-21
  • 文档格式:PPT
  • 文档大小:742.50KB
  • / 100 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、OpenGL三维图形编程,2019/6/21,OpenGL概述,OpenGL发展历史 OpenGL基本特点 OpenGL与DirectX OpenGL基本功能 OpenGL语法特点 OpenGL状态机制,OpenGL渲染流水线 OpenGL相关函数库 使用GLUT函数库 使用WGL函数库 OpenGL相关资源,建立OpenGL中的重要概念,2019/6/21,OpenGL发展历史(18),在研究三维图形的过程中,人们开发了各种图形工具库(软件包,即一系列函数的集合) 第一个图形软件包:图形核心系统,GKS ISO(国际标准化组织)和ANSI(美国标准化所)标准:层次结构交互图形系统,PHIGS,扩充后形成PHIGS SGI的图形库:GL,扩充后形成OpenGL,实际上的图形工业标准 ,2019/6/21,OpenGL发展历史(28),OpenGL(开放性图形库Open Graphics Library)标准 GL:美国SGI公司为图形工作站开发的一种功能强大的三维图形机制 经过长期发展,在跨平台移植的过程中,由GL扩充形成 背靠SGI 公司,技术实力强大 研发资金充盈,由成立于1992

      2、年的独立财团OpenGL Architecture Review Board (OARB)控制,2019/6/21,OpenGL发展历史(38),OpenGL标准 由SGI等OARB成员以投票方式产生标准 OARB公布规范文档(Specification),各软硬件厂商据此开发自己系统上的实现 只有通过了OARB规范全部测试的实现才能称为OpenGL,2019/6/21,OpenGL发展历史(48),OpenGL标准 1.0版,1992年7月 1.1版,1995年12月 1.2版,1998年3月 1.2.1版,1998年10月 1.3版,2001年8月 1.4版,2002年7月 1.5版,2003年7月 4.5版,目前发布的最新版本,2019/6/21,OpenGL发展历史(58),OpenGL成为高性能图形和交互式视景处理的工业标准 SGI、IBM、DEC、SUN、HP等大型硬件厂商都采用OpenGL作为三维图形标准 动画软件Soft Image、动画软件3D Studio MAX、仿真软件Open Inventor、VR(虚拟现实)软件World Tool Kit、CAM(计算机辅

      3、助制造)ProEngineer、GIS(地理信息系统)软件ARC/INFO等软件的制造厂商都以OpenGL为基础进行开发,2019/6/21,OpenGL发展历史(68),OpenGL成为高性能图形和交互式视景处理的工业标准 NVIDIA、ATI等显卡制造商支持OpenGL标准 Windows系列、Linux、Unix、OS/2等各平台都提供对OpenGL的支持,2019/6/21,OpenGL发展历史(78),OpenGL的普及应用 计算机硬件性能的提高和OpenGL本身的不断发展,使得OpenGL不再只属于专用图形工作站 开发人员可以在各种硬件平台利用OpenGL进行图形软件开发 进行图形开发实践的必备工具,2019/6/21,OpenGL发展历史(88),OpenGL并不是唯一 OpenGL是一个相当流行的高性能图形处理标准,但并不是唯一的图形处理开发包 世界上还存在比OpenGL更优秀、更专业(功能专一,且纯粹)的开发包,也许并不是标准,但应用于一些超高端的、更专业的图形工作站,服务于一些特定应用(电影制作、游戏等等),2019/6/21,OpenGL基本特点(13),跨平台的

      4、工业标准 标准支持灵活 各平台开发商可以自由地开发适合于各自系统的OpenGL执行实例 OpenGL功能可由特定的硬件实现,也可用纯软件例程实现,或者以软硬件结合的方式实现,只要支持标准即可,2019/6/21,OpenGL基本特点(23),运行稳定,容易使用 只要硬件支持OpenGL标准即可使用 屏蔽硬件细节 具有良好的伸缩性 基于OpenGL API的图形应用程序可以运行在许多系统上,包括各种用户电子设备、PC、工作站以及超级计算机,2019/6/21,OpenGL基本特点(33),具有良好的扩展性 OpenGL标准提供了一套良好的功能扩充机制 硬件升级后,可以遵循OpenGL扩展机制提供相应的OpenGL函数 一个成功的OpenGL扩展会被融入在未来的OpenGL版本之中 因此,OpenGL能紧跟最新硬件发展和计算机图形绘制算法的发展,2019/6/21,OpenGL与DirectX(15),DirectX简介 DirectX是Microsoft公司开发的底层应用程序接口,用于Windows平台下游戏软件和多媒体系统的开发 DirectX库采用COM组件思想设计,提供二进制级的组

      5、件接口,2019/6/21,OpenGL与DirectX(25),DirectX简介 DirectX提供多媒体程序开发所需的全面的API支持 图形,DirectX Graphics 声音,DirectSound,DirectMusic 交互,DirectInput 多人网络游戏,DirectPlay 流媒体,DirectShow 现在DirectX的稳定版本是8.0和9.0,2019/6/21,OpenGL与DirectX(35),OpenGL与DirectX的相同点 在图形绘制部分,基于相同的计算机图形学原理实现 提供绘制能力相当的图形绘制API(现在Windows平台上常用的OpenGL库,也是Microsoft依据OpenGL标准实现的),2019/6/21,OpenGL与DirectX(45),OpenGL与DirectX的不同点 OpenGL是跨平台标准,且有各个平台的实现;DirectX仅仅应用于Windows,由Microsoft独立开发 OpenGL仅仅提供图形绘制功能,甚至没有交互功能;DirectX则提供了多媒体程序开发所需的全部API OpenGL是函数库;Dir

      6、ectX则是组件库 OpenGL各版本向后兼容;DirectX的体系结构则在不停变化,并不向后兼容,2019/6/21,OpenGL与DirectX(55),目前应用 一般显卡厂商都支持OpenGL和DirectX,同时针对两者进行硬件优化 教学、科研方面OpenGL是主流,游戏开发、商业应用则基本采用DirectX 需要跨平台应用时,只能用OpenGL,2019/6/21,OpenGL基本功能(111),物体建模与图元(Primitive)绘制 矩阵变换 颜色管理 光照和材质 纹理映射(Texture mapping) 反走样(Antialiasing) 图像特效 双缓存(Double buffering)动画,2019/6/21,OpenGL基本功能(211),物体建模与图元(Primitive)绘制 OpenGL认为,所有的物体都是由点、线、多边形构成的,点、线、多边形被称为图元(Primitive) OpenGL一共定义了十种图元(Primitive),2019/6/21,OpenGL基本功能(311),物体建模与图元(Primitive)绘制,2019/6/21,OpenGL

      7、基本功能(411),物体建模与图元(Primitive)绘制 物体建模的意思就是将物体用图元(Primitive)表示,由于三点决定一个平面,所以物体常用三角面片来表示,三角面片越多,物体越复杂 OpenGL提供了各种图元的绘制函数,以及一些复杂三维物体(球、锥、多面体、茶壶)、曲线曲面(贝塞尔、NURBS)的绘制函数,2019/6/21,OpenGL基本功能(511),矩阵变换 无论多复杂的图形都是由基本图元组成并经过一系列变换来实现的 OpenGL提供四种基本变换:平移、旋转、按比例缩放、镜像 OpenGL提供两种投影变换:平行投影(正射投影)、透视投影,2019/6/21,OpenGL基本功能(611),颜色管理 OpenGL提供了两种颜色模式:RGBA模式,颜色索引模式(Color index) RGBA模式为每个像素点指定颜色,可提供丰富多彩的色彩效果,其中A是混合因子,用于各种特效处理 对于显示能力不足的硬件,可采用颜色索引模式,系统提供一个颜色表,通常有256或4096种颜色,各像素点通过索引颜色表项得到颜色值,2019/6/21,OpenGL基本功能(711),光照和材

      8、质 在现实生活中,物体因为受光照射和自身对各种频率光波的吸收与反射能力的不同,而呈现各自不同的颜色 OpenGL的实现 假设光仅仅由三原色(RGB)组成 物体对三原色分别有不同的反射率(即材质) 利用物理光学模型,计算物体实际的颜色,2019/6/21,OpenGL基本功能(811),纹理映射(Texture mapping) 由于物体采用图元(Primitive)表示(点、线、多边形),绘制时,有效渲染的地方也仅仅是这些点、线、多边形,其它位置的颜色值则通过插值实现,这就造成了物体绘制的不真实 纹理映射通过贴图的方式,为物体表面贴上真实的色彩花纹,这些被指定贴上的图片,就称作纹理(Texture) OpenGL提供了完善的纹理映射机制,2019/6/21,OpenGL基本功能(911),反走样(Antialiasing) 线段在计算机中是通过一系列的像素来近似逼近的,而这些像素实际上是一个个的小正方形,因此线段常常呈锯齿状,这被称为走样(Aliasing) OpenGL通过计算线段对各个像素的不同覆盖率来实现反走样(Antialiasing),2019/6/21,OpenGL基本功能

      9、(1011),图像特效 融合(Blending) 为了使三维图形更加具有真实感,经常需要处理半透明或透明的物体图像,这就需要用到融合技术 雾(fog) 正如自然界中存在烟雾一样,OpenGL提供了“fog“的基本操作来达到对场景进行雾化的效果,2019/6/21,OpenGL基本功能(1111),双缓存(Double buffering)动画 出色的动画效果是OpenGL的一大特色 OpenGL通过双缓存实现动画 前台缓存显示当前帧 后台缓存同时进行后续帧的场景计算,生成画面,2019/6/21,OpenGL语法特点(15),所有OpenGL函数都使用“gl”作为前缀 如 glClearColor() 所有OpenGl常量都使用“GL_”开头,并且所有字母都大写 如 GL_FALSE,2019/6/21,OpenGL语法特点(25),OpenGL函数后缀说明 后缀中的阿拉伯数字一般表示参数的数目 如 glVertex2i(1, 3),表示该函数有两个参数 阿拉伯数字后的小写字符(一个或多个)表示参数类型 如 glVertex2i(1, 3),表示该函数的两个参数都为32位整数(Integer) 表示参数类型的后缀定义见下表,2019/6/21,OpenGL语法特点(35),OpenGL函数后缀说明,2019/6/21,OpenGL语法特点(45),OpenGL函数后缀说明 有些函数最后一个字母为“v”,则表示该函数参数为向量(Vector),即数组 此时,前面的阿拉伯数字表示可接受向量(数组)的长度 如 glColor3f(color_array),表示color_array为一数组,该数组有三个元素,每个元素的类型都为32位浮点数(Float),2019/6/21,OpenGL语法特点(55),OpenGL数据类型 开发OpenGL程序时,为便于程序移植,最好使用OpenGL的数据类型定义 例如,尽量使用“GLint”,而不是用C或C+的“int”,2019/6/21,OpenGL状态机制(12),OpenGL是一个状态机(State machine) 设置的状态将一直保持,直到显示改变 例如,调用 glColor3f(1.0, 1.0, 0.0) 设置当前颜色为黄色之后,除非再次调用 g

      《汪老师课件9openGLintro》由会员E****分享,可在线阅读,更多相关《汪老师课件9openGLintro》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.