- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 计算机图形系统(2) * * 教学总体目标:要求初步掌握OpenGL的基本知识。 2.3 OpenGL介绍 2.3.4 使用Visual C++开发OpenGL绘图程序的基本方法 2.3.1 OpenGL的背景情况 2.3.2 OpenGL的主要功能 2.3.3 OpenGL的绘制流程和原理 2.3.5 OpenGL的缓冲区 2.3 OpenGL介绍 2.3.1 OpenGL的背景情况 OpenGL(open graphics library,开放性图形库)是以SGI公司 的GL三维图形库为基础制定的一个开放式三维图形标准。 OpenGL已经成为一个工业标准,并广泛应用于游戏开发、建筑、产品设计、医学、地球科学、流体力学等领域。 OpenGL独立于硬件设备、窗口系统和操作系统,使得以OpenGL为基础开发的应用程序可以在各种平台间移植。 OpenGL可以用各种编程语言调用,如C/C++,Java,Fortran,Ada等。 由于微软在Windows中包含了OpenGL,所以OpenGL可以与Visual C++紧密接合,简单快捷地实现有关计算和图形算法,并保证算法的正确性和可靠性。简单地说,OpenGL具有建模、变换、色彩处理、光线处理、纹理影射、图像处理、动画及物体运动模糊等功能: 1、建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体,如球、锥、多面体、茶壶以及复杂曲线和曲面(例如Bezier、Nurbs等曲线或曲面)的绘制函数。 2.3.2 OpenGL的主要功能 2、变换 OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比、镜像四种变换,投影变换有平行投影(又称正射投影)和透视投影两种变换。 3、颜色模式设置 OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。 4、光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示。客观世界中的物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 5、纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。 6、位图显示和图象增强 OpenGL的图象功能除了基本的拷贝和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可是被仿真物更具真实感,增强图形显示的效果。 7、双缓存动画(Double Buffering) OpenGL使用了前台缓存和后台缓存交替显示场景(Scene)技术,简而言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。 8、特殊效果 利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。运动模糊的绘图方式(motion-blured),模拟物体运动时人眼观察所感觉的动感现象。深度域效果(depth-of-effects),类似于照相机镜头效果,模型在聚焦点处清晰,反之则模糊。 这些三维物体绘图和特殊效果处理方式,说明OpenGL能够模拟比较复杂的三维物体或自然景观。 2.3.3 OpenGL的绘制流程和原理 如上图所示,几何顶点数据包括模型的顶点集、线集、多边形集,这些数据经过流程图的上部,包括运算器、逐个顶点操作等;图像数据包括象素集、影像集、位图集等,图像象素数据的处理方式与几何顶点数据的处理方式是不同的,但它们都经过光栅化、逐个片元(Fragment)处理直至把最后的光栅数据写入帧缓冲器。 在OpenGL中的所有数据包括几何顶点数据和象素数据都可以被存储在显示列表中或者立即可以得到处理。OpenGL中,显示列表技术是一项重要的技术。 根据这个流程,我们可以归纳出在OpenGL中进行主要的图形操作直至在计算机屏幕上渲染绘制出三维图形景观的基本步骤: 1)根据基本图形单元建立景物模型,并且对所建立的模型进行数学描述(OpenGL中把:点、线、多边形、图像和位图都作为基本图形单元)。 2)把景物模型放在三维空间中的合适的位置,并且设置视点(viewpoint)以观察所感兴趣的景观。 3)计算模型中所有物体的色彩,其中的色彩根据应用要求来确定,同时确定光照条件、纹理粘贴方式等。 4)把景物模型的数学描述及其色彩信息转换至计算机屏幕上的象素,这个过程也就是光栅化(rasterization)。 在这些步骤的执行过程中,OpenGL可能执行其他的一些操作,例如自动消隐处理等。另外,景物光栅化之后被送入帧缓冲
您可能关注的文档
最近下载
- 剑桥王牌教材第二版Think1U2知识清单及作业单v1.4.pdf VIP
- 摩托车培训学校建设项目投资可行性建议书.doc VIP
- 高考语文专题训练-病句(含答案解析)70题.docx VIP
- 2024年太阳能电池片产业海外专利预警分析报告-上海知识产权保护中心.docx
- 小学英语词汇练习及答案.doc VIP
- WSET二级复习试题库(共229题).pdf VIP
- 标准图集-99J201-1 平屋面建筑构造(一).pdf VIP
- 砂浆锚杆工艺性试验方案.docx VIP
- DB32T 4659.5-2024 医院公共卫生工作规范 第5部分:职业卫生.docx VIP
- 中药材(植物药)新品种评价技术规范.pdf-中华人民共和国国.PDF
文档评论(0)