虚拟现实技术及应用 教学课件 作者 马永峰 薛亚婷 南宏师 第6章 OpenGL虚拟现实图形程序设计接口.pptVIP

虚拟现实技术及应用 教学课件 作者 马永峰 薛亚婷 南宏师 第6章 OpenGL虚拟现实图形程序设计接口.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
光照模型 法线向量 控制光源 控制材质 选择光照模型 6.6 OpenGL Inventor Open Inventor是一个三维图形编程工具,随着版本的更新,它的功能也日益变强,由原来仅具有仿真功能发展到现在包括仿真、虚拟现实硬件支持、体视化等功能 应用领域 Open Inventor目前在商业图形、机械CAE和CAD、绘画、建筑设计、医学和科学图像、化学工程设计、地理科学、虚拟现实、科学数据可视化、AEC和仿真动画等方面具有了广泛的应用。 小 结 OpenGL提供了一种直观的编程环境,它提供的一系列函数简化了三维图形编程。它是一个开放的三维图形软件包,独立于其他系统,可以在各种平台间移植。OpenGL具有方便的建模、变换、颜色设置以及光照和材质设置、纹理映射等功能。总之OpenGL绘制过程多种多样,内容十分丰富。 习 题 1.OpenGL是一种什么样的程序设计接口? 2.OpenGL的程序由什么样的结构构成? 3.OpenGL中纹理效果是如何实现的? 4.Open Inventor具有什么样的应用特点? 第六章 OpenGL虚拟现实图形程序设计接口 本章内容 6.1 OpenGL简介 6.2 OpenGL的程序结构 6.3 OpenGL程序编写原理与方法 6.4 OpenGL变换 6.5 OpenGL光照及纹理处理 6.6 OpenGL Inventor 6.1 OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL的主要特点 可以在网络上工作,即客户机/服务器型 可以在多种硬件及软件平台上工作,跨平台移植性较好可以在Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植 OpenGL对三维物体的绘制方式 格线绘图方式 深度优先网格线绘图方式 反走样网格线绘图方式 平面消隐绘图方式 光滑消隐绘图方式 加阴影和纹理的绘图方式 运动模糊的绘图方式 大气环境效果 深度域效果 OpenGL的工作方式 OpenGL的基本工作流程 6.2 OpenGL的程序结构 实例: #include?GL/glut.h void?myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glRectf(-0.5f,?-0.5f,?0.5f,?0.5f); glFlush(); } int?main(int?argc,?char?*argv[]) { glutInit (argc,?argv); ????glutInitDisplayMode(GLUT_RGB?|?GLUT_SINGLE); ????glutInitWindowPosition(100,?100); ????glutInitWindowSize(400,?400); ????glutCreateWindow(第一个OpenGL程序); ????glutDisplayFunc(myDisplay); ????glutMainLoop(); ????return?0; } 6.3 OpenGL程序编写原理与方法 OpenGL中描述图元的方法 OpenGL中描述颜色的方法 OpenGL中描述图元的方法 点、直线和多边形 OpenGL提供了一系列函数。它们都以glVertex开头,后面跟一个数字和1~2个字母。例如: glVertex2d glVertex2f glVertex3f glVertex3fv 数字表示参数的个数,字母表示参数的类型,s表示16位整数(OpenGL中将这个类型定义为GLshort),?i表示32位整数(OpenGL中将这个类型定义为GLint和GLsizei),?f表示32位浮点数(OpenGL中将这个类型定义为GLfloat和GLclampf),d表示64位浮点数(OpenGL中将这个类型定义为GLdouble和GLclampd)。v表示传递的几个参数将使用指针的方式。这些函数除了参数的类型和个数不同以外,功能是相同的。 OpenGL要求:指定顶点的命令必须包含在glBegin函数之后,glEnd函数之前(否则指定的顶点将被忽略)。并由glBegin来指明如何使用这些点。 例如: glBegin(GL_POINTS); glVertex2f(0.0f,?0.0f); glVertex2f(0.5f,?0.0f); glEnd(); 则这两个点将分别被画出来 OpenGL中描述颜色的方法 OpenGL

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档