3DS与OBJ格式的三维模型文件在OpenGL中的输入与处理.docVIP

3DS与OBJ格式的三维模型文件在OpenGL中的输入与处理.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3DS与OBJ格式的三维模型文件在OpenGL中的输入与处理.doc

3DS与OBJ格式的三维模型文件在OpenGL中的输入与处理 【摘要】介绍了两种流行的三维文件的文件格式,即3DS文件与OBJ文件,并论述了如何将这些文件在OpenGL(Open Graphic Library)中进行输入和处理。重点为OBJ文件的文件格式及怎样利用程序代码来构建模型数据结构、绘制对象模型,然后运用OpenGL实现三维显示和交互操作,并应用于地形建模、城市规划以及虚拟现实等领域。 【关键词】三维模型文件;OpenGL;3DS文件;OBJ文件 1.前言 OpenGL(开放图形库)作为一个开放的三维图形软件包,它独立于窗口系统和操作系统,基于OpenGL开发的应用程序可以十分方便地在各种平台间移植。OpenGL的功能包括:建模、变换、颜色模式设置、纹理映射、位图显示以及双缓存动画等,而且借助Windows编程环境可以方便地对所构模型的人机交互进行控制。由于其开放性和高度重用性,OpenGL已经成为业界标准[1]。 虽然OpenGL提供了一些建立形体模型的命令,但OpenGL并没有提供更为复杂的三维模型的高级命令。在这种情况下,如果完全通过基本的几何图元—点、线、多边形来构建模型,势必十分困难;另一方面,由于3D图形技术的发展,形成了非常多的3D建模软件,这些软件建模一般比较方便,但又难以对其进行控制和交互。因此,如何有效地利用这些资源,对于快速开发可视化系统具有非常重要的意义。 作者在本文中对两种流行的三维模型文件的文件格式进行了介绍,并通过程序实现了文件的读取。把这些文件转换成OpenGL程序,再对其进行控制和交互操作。 2.3DS文件的输入和处理 3D Studio Max是Autodesk公司开发的用于制作三维动画的应用程序,它所生成的图形文件格式是3DS文件格式。该软件建模方便,且功能强大。因此,可以利用3D Studio Max对构建可视化系统提供重要帮助。这里介绍一种将3DS文件转换成OpenGL文件的简单方法。 这种转换需要使用一个工具View3DS.exe(网上可下载)。转换时将3DS文件拖到View3DS上,将弹出一个窗口,在窗口中会显示需要转换的3DS模型。在窗口上单击鼠标左键,会弹出一个菜单,选择Export OpenGL CCode菜单项,将会在当前目录中生成OpenGL程序,包括与模型名相同的.h和.gl二个文件[2]。 生成C代码后,将模型的.h和.gl文件拷贝到当前建立的工程目录中,并在初始化部分加入以下代码: Model GL3DS_initialize_modelName(); ModelName是指对应于3DS模型的名称,上面函数定义在生成的模型.h文件中。该函数运用了显示列表的技术,可以提高显示的速度。在模型绘制文件的开始部分,加入如下代码: #include“modelName.h” 最后,在绘制模型部分加入glCallList (Model),用OpenGL显示列表技术实现图形的显示和重现。 3.OBJ文件的输入和处理 OBJ文件是Alias/Wavefront公司开发的三维软件Maya的一种数据输出类型,它定义了对象的几何和其它的一些特性。由于它的文件结构非常简单,所以适合在应用程序中读取或进行3D文件格式转换[3]。 3.1 OBJ文件格式 OBJ文件既可以定义多边形模型,也可以定义自由曲面模型。多边形模型就是可以用点、线、面等基本元素构造的模型,而自由曲面模型是指使用参数曲面造型定义的模型。下面是某个OBJ文件的一部分 从上面可以看出,OBJ文件由文本行组成,每一行文本都是由一个关键字开头,紧跟着后面是该关键字所表示含义的具体参数。例如,以“vn”开头表示该行描述一个顶点法向量信息,后面一定会跟三个Double型的具体参数,分别描述该顶点法向量的三维坐标信息表1列出了OBJ文件中主要的关键字及其具体含义[4]。 4.小结 本文简要介绍了3DS和OBJ两种3D文件格式在OpenGL中的输入和处理方法。现在3D文件资源十分丰富,要充分利用这些资源,文件格式的转换具有十分重要的意义。在转换为OpenGL程序后,就可以利用OpenGL的强大功能来进行三维分析和交互操作,其成果可以适用于地形建模、城市规划以及虚拟现实等许多领域。 参考文献 [1]郭景,雷鸣.3DSMAX模型在OpenGL中的读取与重现[J].计算机应用,2009,5. [2]胡平平,刘建明,王晶杰.OpenGL显示3DS模型若干问题的研究[J].工程图学学报,2010,8. [3]向南平,江资斌,左廷英.OpenGL中Maya模型的应用[J].微型电脑应用,2009,18. [4]王金峰,姚国清.三维模型文件中的OBJ格式在OpenGL中的输入与处理[J].电脑知识与技术,2011,4. [5]陈炳发,陆楠,伍

文档评论(0)

jingpinwedang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档