




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章了解OpenGL基础知识、图形编程的基本概念了解OpenGL基本功能和工作学习图形系统和模型的基本原理、结构、1.1OpenGL概述、1.1.1直观三维图形开发环境、OpenGL是美国SGI公司为图形工作站开发的强大三维图形机制,旨在使用户从特定硬件系统和操作系统中解放出来,完全不了解这些系统的结构和命令系统OpenGL实际上是图形和硬件的接口。它包含数百个命令和函数,开发人员可以使用它们构建三维模型和执行三维实时交互。与其他图形编程接口不同,OpenGL提供了非常清晰的图形函数。1.1.2作为3d图形开发标准,许多计算机公司将OpenGL集成到包括UNIX、WindowsNT、DOS等在内的各种窗口和操作系统中,窗口系统包括x窗口、Windows等。为了实现功能完整的图形处理系统,与OpenGL相关的系统结构是底层图形硬件,第二个是操作系统,第三个是窗口系统,第四个是OpenGL,第五个是应用程序软件。OpenGL是网络透明的,在客户-服务器体系结构中,OpenGL允许本地和远程绘制。在网络系统上,OpenGL可以在x窗口、Windows或其他窗口系统上显示为单独的图形窗口。1.1.3OpenGL基本功能和操作,OpenGL渲染整个三维模型,绘制与客观世界非常相似的三维场景。OpenGL还可以执行三维交互、运动模拟等。具体功能主要包括:(1)模型绘图(2)模型观察(3)颜色模式下指定的(4)照明应用程序(5)图像效果增强(6)位图和图像处理OpenGL还提供了专门用于处理位图和图像的函数。(7)纹理贴图(8)实时动画(9)交互技术、1.1.4OpenGL的体系结构、OpenGL是与硬件无关的高效接口,没有执行窗口操作或获取用户输入的函数,程序员需要通过窗口系统控制硬件。因此,在绘制3d图形的过程中,应用程序必须使用OpenGL和操作系统的基本命令控制窗口系统和操作系统之间的交互,并通过硬件驱动程序操作各个图形硬件来完成3d图形的绘制。网络下的OpenGL体系结构是服务器端的WINSRV,在实际运行期间应用程序执行OpenGL命令,由动态链接库OpenGL32.dll打包。发送到DLL,然后通过DDI层发送到视频显示驱动程序。如果系统上安装了硬件加速器,则由与硬件相关的DDI处理。1.1.5创建OpenGL控制台应用程序框架,1)安装OpenGL(visual studio .以Net2008为例)2)OpenGL工程配置和测试3)OpenGL程序测试,1.1.6 visual c 6.0环境中的OpenGL单文档应用程序框架,1)OpenGL安装(VisualStudio6.0示例)1opengl32 . lib glaut 32 . lib glaux . lib最后,在ProjectOptions中将subsystem:console修改为subsystem:windows。ProjectSettingsC/C选项卡将Preprocessordefinitions的_CONSOLE修改为_WINDOWS。这使您可以测试OpenGL应用程序。1.2OpenGL图形的实现,1.2.1设备上下文DC和渲染上下文RC,OpenGL与Windows的典型绘制方法不同,因为: Windows使用GDI绘图,主要在以下三个方面:OpenGL使用渲染上下文RC(RenderContext,也称为渲染说明表)绘图。OpenGL使用特殊的像素格式。在Windows中使用GDI绘图时,必须指定在哪个设备上下文(也称为设备说明表)中绘制。同样,使用OpenGL函数时,也必须指定所谓的渲染上下文。正如设备上下文DC要存储GDI的绘图环境信息(例如笔、笔刷、字体等)一样,渲染上下文RC也必须存储OpenGL所需的渲染信息(例如像素格式等),这是管理RC和DC的两种方法。方法1:RC在响应WM_CREATE消息时生成,并在生成后立即释放DC;WM_PAINT消息出现时,程序获取DC句柄并将其与RC关联,绘图完成后,立即断开RC和DC的连接,然后断开DC。出现WM_DESTROY消息时,程序只需删除RC即可,如图1.9所示。方法2:RC在程序启动时创建,并成为当前RC。程序退出之前,它将保留为当前RC。因此,GetDC在程序启动时调用,ReleaseDC仅在程序关闭时调用。1.2.3OpenGL图形处理过程,OpenGL工作流程,如图所示:1.2.4OpenGL图形绘制方法,OpenGL的各种模型绘制过程,丰富的内容,OpenGL提供了以下三维对象绘制方法:(1)绘制线框(Wireframe):绘制三维对象的网格轮廓。(2)深度优先线框绘制方法(depth cued): (3)抗锯齿线框绘制方法(antiased): (4)平面着色(flat shading): (5)平滑着色(smooth) 1.3.1开发库的配置、特定于OpenGL库的API包括核心库(GL)、实用程序库(Glu)、辅助库(aux)、实用程序库(glaut)、窗口库(glx、agl、wgl) 如图1所示,GL是核心,Glu是GL的一些软件包。Glx、agl和wgl是不同窗口系统的函数。Glut是用于跨平台OpenGL程序的工具包,其功能优于aux。扩展库是硬件供应商开发的函数,用于利用OpenGL进行硬件更新的扩展机制。1.3.2默认数据类型,OpenGL是跨平台API,数据类型的大小取决于您使用的编程语言和处理器(64位、32位、16位)等,因此OpenGL定义了自己的数据类型。1.3.3OpenGL库函数命名约定,所有OpenGL函数均使用GL、Glu、aux、glaut、wgl、glx等格式。这表示函数属于OpenGL开发库。函数名称后,您可以知道所需的参数数和参数类型。I为int,f为float,d为double,u为无符号整数。某些函数参数类型后缀的前缀为数字2、3、4。2表示二维,3表示三维,4表示alpha值(稍后介绍)。某些OpenGL函数使用字母v来表示函数参数可以通过一个指针指向矢量(或数组),而不是指向一系列单独的参数值。基于1.4 OpenGL的高级图形库除了基于默认3d图形库的OpenGL之外,现在还出现了许多高级3d图形开发库。支持当前实时三维图形开发的软件包包括iris performer、Multigen-paradigm Vega、cg2 v tree、softrealitysoftvr、carmelappledtechelogyx-ig、1.5OpenGL应用程序框架、1、Window32控制台程序框架OpenGL编写的程序结构类似于使用其他语言编写的程序。实际上,OpenGL是一个丰富的三维图形库,编写OpenGL程序并不难,只需在主程序语言中调用即可,其用法基本上相似,但存在一些差异。对于简单的控制台程序,只需执行以下步骤:OpenGL编程:创建新项目。设置包含文件和库文件路径。添加OpenGL库。,2 .Win32SDK程序框架Win32软件开发工具包(SDK)是基于Windows32位平台的软件开发包,包含多种API函数和相关工具包。Win32程序始终依赖窗口,并使用基于事件的消息机制。(1)对WM_CREATE消息的响应2)WM_PAINT消息响应,3,MFC程序框架MFC是一组面向类的库,其中将WindowsAPI函数封装到类中。所以MFC的底部是Win32程序。每个Win32应用程序执行固定任务,如定义窗口类、注册窗口类、创建窗口、消息循环、定义窗口过程等。但是,在MFC基础框架类中找不到这些明显的定义代码。只有在程序编译链接时,链接器才会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商城隐私政策和服务协议7篇
- 山西吕梁招用公益性岗位人员考试真题2024
- 2025年智能门锁的市场需求与趋势
- 2025广东广州翰城房地产开发有限公司招聘工作人员、进入人员考前自测高频考点模拟试题含答案详解
- 2025年海洋能源开发储能电池梯次利用技术挑战报告
- 2025年芜湖市第三城市医疗集团成员单位招聘15人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025江苏泰州市兴化市医疗卫生事业单位招聘卫生专业技术人员91人模拟试卷及答案详解(各地真题)
- 2025内蒙古通辽市开鲁县招募企业储备人才37人模拟试卷完整参考答案详解
- 2025河南安阳市龙安区人社局招聘7名考前自测高频考点模拟试题及答案详解(易错题)
- 河南洛阳洛龙区公益性岗位招聘考试真题2024
- 师德师风考核表
- 三年级上册语文必考点1-8单元按课文内容填空专项练习
- 噬血细胞综合征课件护理查房
- 《一、圆锥曲线的光学性质及其应用》教学设计(部级优课)-数学教案
- 书写板卫生安全要求
- 中成药合理使用
- 装配钳工高级试题与答案
- GB/T 27809-2011热固性粉末涂料用双酚A型环氧树脂
- GA 1732-2020警用无人驾驶航空器外观制式涂装规范
- 3-体育赛事经营管理课件
- 苏教版科学四年级上册3-1课件《力与运动》
评论
0/150
提交评论