论基于OpenGL技术的三维建模设计(2)
作者:佚名; 更新时间:2014-12-05
相关三角形列表被用来建立每个顶点的法向量。有了模型各种属性的信息,我们就可以在创立显示列表中根据这些指针变量中存入的相应数据来再现模型。在创建新的显示列表(g1NewList)中,使用glBegin(GL_TRIANGLES)和glEnd ()函数来绘制模型,所有具体属性的绘制均在这两个函数之间实现。对于每一个面的绘制,都是先赋好材质,再定义法线和渲染纹理,这些工作都完成后,就可以通过绘制顶点来绘制面了。程序中判断是否具有纹理部分省略,其实现过程与其它属性类似。然后在需要绘制模型的时候使用函数调用即可。
  在OpenGL程序入3DS模型采用了根据3DS文件的数据格式来编写OpenGL程序来读取数据信息,在程序中生成模型的办法,这种方法在操作上实际是比较繁琐的,编程量很大。
  (二)运用软件将模型转化为cpp文件,然后转入OpenGL程序
  有一些现成的软件可以专门用来转换三维模型。3D Exploration便是其中的一种。3D Exploration也是一种专业的图像技术软件,它可以读入许多建模软件所建的模型文件,并也具有渲染环境和制作动画的功能。
  我们使用3D Exploration软件读入模型的3DS文件,通过另存为将其转化成能为OpenGL所用的cpp文件。这样我们就较轻松的拥有了表示模型各种参数的代码,而不需要自己编写,从而大大减轻了编程的工作量。最终转化后的文件是由大量的浮点数组成,这些浮点数包含了模型面、材质、顶点、法线和纹理等的全部信息,并按照这些属性分类。然后我们在OpenGL程序中专门定义一个读取模型参数的类,在此类中实现读取相应的浮点数的函数的所有功能,再在主程序中调用。这段代码运行后,这些变量中就会存入对应表示相应属性的数据。最后再编程遍历所有的顶点,信捷职称论文写作发表网,法线,纹理,从而生成模型。
  通过这种方法实现3DS格式模型的导入,编程简单,但是缺点也很明显,生成的.cpp文件体积较大,无论是存储或传输都很不方便。
  将三维模型转入OpenGL程序以实现人机交互控制在工程、游戏等领域有着广泛的应用,特别是随着虚拟现实技术的发展,更显现出它的重要意义和实用价值。本文结合目前的主流技术对三维模型转入OpenGL程序的方式进行了一定的研究和探索。
  
  参考文献
  [1]和平鸽工作室 编著, OpenGL三维图形系统开发与实用技术(实用技术篇),重庆大学出版社,2003
  [2]OpenGL体系结构审核委员会/Dave Shreiner/Mason Woo等 编著,OpenGL编程指南(第四版),人民邮电出版社,2005
核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com