OpenGL虚拟现实图形程序设计接口要点解析.pptVIP

  • 12
  • 0
  • 约3.03千字
  • 约 25页
  • 2016-05-10 发布于湖北
  • 举报

OpenGL虚拟现实图形程序设计接口要点解析.ppt

光照模型 法线向量 控制光源 控制材质 选择光照模型 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精品文档

相关文档