当前位置:首页 > 演讲稿 > 基于OpenGL的三维场景的构建技术研究_场景构建
 

基于OpenGL的三维场景的构建技术研究_场景构建

发布时间:2019-02-21 03:58:49 影响了:

  摘要:三维场景的构建技术是数字化的一个研究领域。该文介绍一种基于OpenGL的三维场景的构建方法,具有较强的通用性,为虚拟三维场景的构建提供了一条切实可行的途径。   关键词:三维建模 三维场景
  中图分类号: 文献标识码:A文章编号:1007-9416(2010)05-0000-00
  
  Research on 3D Scenery Modelling Based on OpenGL
  Yang Yan Zhao Dong-ling
  (1JIYUAN Vocational and Technical College 454650)
  Abstract :Setting up a 3DM Scene of reality is an important step of graphics. This article introduce one method which is used in 3D scene, this method basing on OpenGL has verygood general ability and ingenuously avoid those complex graphics formulas.
  Key words :3D simulation ; 3d scene
  
  1 引言
  随着仿真、游戏娱乐的应用需求不断提高,具有真实视觉效果虚拟环境建模愈显重要,而其中三维场景构建尤显得突出。OpenGL是近几年发展起来的一个性能卓越的三维图形平台,OpenGL的显著优点是作为一个独立的工作平台,独立于硬件设备、窗口系统和操作系统,用它编写的软件可以在UNIX、Window98/NT等系统间实现移植,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库1。利用OpenGL建立复杂物体的三维模型是一件比较麻烦和枯燥的事情,因为OpenGL并没有提供三维模型的高级命令,它也是通过基本的几何图元―――点、线及多边形来建立三维立体模型的。而利用三维动画软件3DStudioMAX建立复杂物体的模型则显得轻松的多。可是,用3DStudioMAX制作的动画没有交互性,无法实时控制,而这正是OpenGL的优势所在。把这些模型转换成OpenGL程序,再对其进行控制是一种比较理想的方法。所以,如果可以把OpenGL与3DStudioMAX结合起来实现三维场景建模则可以事半功倍。
  
  2 设计思路
  场景模型制作指除动画角色以外的一切场景物品、动物、植物、人等的模型制作。按精度、体积、表面纹理与所处位置来分,可用不同的技术进行实现。①对于精度要求高、体积较大的物体,可利用三维动画软件进行制作。②对于细长条的物体如栏杆、窗框等实体,可使用单一面片和贴图照片来表现。这样一来可以减少场景内的几何模型和面片数量,从而减轻系统的运算负担。同时在渲染场景中不会出现锯齿和闪烁现象,提高场景的总体效果。③对于表面纹理复杂的物体,可采用拍摄贴图的方式进行制作。这样可以避免高难度复杂纹理的维建模以及不必要的系统开销。④对于处于远处的模型,可使用大面积平面贴图的方式进行制作2。
  本文就精度要求高的物体的三维场景构建时情况进行探讨。我们使用将OpenGL与3DStudioMAX结合起来使用的办法。简单地说,在建模阶段可以利用三维图形软件建立模型,避免在OPenGL中 用点、线和多边形来建立三维立体模型的繁重劳动;在控制阶段,则可以通过OpenGL程序实现。对模型的人机交互式调整,实现了资源共享,也避免了重复劳动,从而可以随心所欲地利用现成的模型实现虚拟现实及虚拟仿真等。几何建模与虚拟场景系统如图1所示。
  
  3 三维场景的构建实现
  3.1 用3D’sMAX建立三维模型
  利用3DStudioMAX建立物体模型,并将其保存为*.3ds格式的文件。
  3.2 格式转换
  把各种格式的三维模型转换成OpenGL格式的软件很多,其中是把3DStudioMAX
  制作的.3ds格式的三维模型转换成OpenGL格式的较好的软件。利用这种软件将.3ds格式的模型文件生成模型数据文件,从而将3DStudioMAX制作的物体模型转换成OpenGL的格式。
  创建工程并完成初始化设置3
  在基于VC++与OpenGL程序的开发前,都必须进行必要的初始化的工作。创建通用的基础框架程序,是开发工作的基础,本系统中许多程序功能的实现都将用到该程序。创建的主要过程步骤如下:
  (1)创建一个多文档的VC++工程;
  (2)完成OpenGL基础库的设置,在头文件中添加gl\gl.h与gl\glu.h两个文件,并连接
  OpenGL.Lib与glu32.lib两个库文件;
  (3)定义全局变量,函数,如渲染描述表函数的创建,调用和删除,并对变量或函数进行
  必要的初始化;
  (4)其他设置,包括窗口风格,视点,窗体背景等。
  将模型引入工程;将上一步生成的filename.h和filename.gl复制到工程文件夹中,在filename.h中会自动生成一个函数GL3DS-initialize-filename(),在绘图函数中调用这个函数,其实现代码如下:
  intmodel=
  GL3DS-initialize-filename();
  if(model==-1)
  {
  MessageBox(“Errorinitializingdisplaylist/n”);
  exit(-1);
  }
  glCallList(model);
  在OpenGL中对模型进行控制;引入工程后,我们可以利用函数队模型进行移位、旋转、复制等工作,在此不再赘述。
  
  4 结语
  在Windows平台上,以VisualC++和OpenGL为开发工具进行编程,利用基本的建模工具,在实际的应用中进行了初步的探索,利用这种方法开发出相应的系统,实现三维场景的构建。OpenGL和3DStudioMAX结合实现三维仿真,既利用了3DStudioMAX建立模型方便快捷的特点,又利用了OpenGL容易实现交互性的特点,从而使三维仿真的实现变得更加轻松。
  
  参考文献
  [1] 林培炎等.《采用VC++与OpenGL 的三维场景编辑系统的研究与设计》 [J].工程图学学报,2009.5.
  [2] Angel E,OenGL 编程基础[M].第3版.北京:清华大学出版社,2008.
  [3] 杨键等.《基于OpenGL 的三维图形绘制和3D 建模》[J].软件导刊,2009.7.
  [4] 倪明田,吴良芝.计算机图形学[M].北京:北京大学出版社,2004.
  
  作者简介:杨艳(1979- ),女,河南济源人,讲师,研究方向为计算机多媒体技术;赵冬玲(1972- ),女,河南济源人,副教授,研究方向为软件技术。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3