OpenGL环境下的模型数据库管理与复杂三维建模 (1)
2∞7年工程图学学报
2∞7
第2期
JoURNALOFENGINEERINGGRAPmCS
No.2
openGL环境下的模型数据库管理与
复杂三维建模
吕希奎,
易恩蓉,
何丽
(西南交通大学土木工程学院,四川成都610031)
摘
要:OpenGL作为一个图形标准具有强大的三维图形处理功能,但建模功能较
弱,而专业的三维建模软件却有着很强的建模功能。因此,将OpenGL与三维建模软件相结合,对三维建模软件所创建的模型采用Oracle数据库进行管理,再通过构建不同模型类别的转换模块,实现对最常用的三维模型格式转换的支持。读取模型数据,经转换后在openGL环境中重新构建三维模型,由此,解决了OpenGL中的复杂三维建模问题。
关键词:计算机应用;三维建模;数据库管理;模型重构中图分类号:TP311.1l
文献标识码:A文章编号:1003-0158(2007)02一0012—05
The
Datab嬲e
Manag哪entforModelsandComplex3DModeling
underOpenGLEnVir0瑚ment
LUXi—kui,
YISi—rong,
HELi
(111eCivilEngince血gD印artImnt
0f
So岫westJi∞咖gUniV∞ity,Chengdu
sichu柚610031,China)
Abstract:As
a
graJ蛳c
sta皿dard,cIpenGLhaspowefful3Dgrapllicprocessingabilities,but
isweal【Ilessin3Dmodeling;meanwllilet11ecommercial3DmodelingsoftwarehasveWstrong
modelingfunctions.SoⅡlemodelscreatedbycommercial3D
sof细are
are
savedintoOracle
da诅baseflrsⅡy,aIldmenmodulesformodeldataexchangeshouldbedeVelopedto
supportmost
commoIllyused3DmodelformatexchaJlge.Thenafkrreadingtllemodeldataf幻mOracle,thecomplex3Dmodels
can
bere_builtinOpenGLthroughmodeldataexchange.
Keywords:
computer
application;
3D
modeling;
dat曲ase
management;
model
recons缸uction
在实际的三维图形程序中,需要构建的三维的函数,如圆锥、圆柱和球体等类似的简单物模型一般来说都是比较复杂的,但是OpenGL的体‘¨。如果利用这些函数来构建一个复杂的模型,建模功能并不强大,只提供了一些绘制简单图元
如一架飞机或一辆汽车就显得非常困难;另外使
收稿日期:2006—07—06
基金项目:西南交通大学博士创新基金资助项目(x1200512470102)
作者简介:吕希奎(1976一),男,辽宁绥中人,博士研究生,主要研究方向为铁路选线智能cAD与虚拟环境铁路选线。
万
方数据
第2期
吕希奎等:OpenGL环境下的模型数据库管理与复杂三维建模
用基本的绘图语句编写程序也不现实。因此,必须采用与其它功能强大的三维建模软件结合,利用一定的算法,将其它三维建模软件创建的模型数据读出来,然后利用这些数据在OpenGL环境中重新构建三维模型,从而解决OpenGL复杂三维建模问题,再利用OpenGL的交互控制优势达到理想的三维效果。这方面目前也有了相关的研究,如文献[2卜【5】通过读取3DS模型数据,在一定程度上解决了openGL的复杂三维建模。但最为常用的3D模型格式除了3Ds,还有MD2、MD3、ASE、0BJ、MS3D等多种,它们有着各自特点和应用范围,因此,仅实现一种3D模型的读取显示显然不够,也使程序的应用受到了很大限制,不能很好的解决openGL的复杂三维建模;同时,对建好的三维模型如何有效的管理,也是必须要考虑的问题,而已往相关研究并没有涉及到模型管理。该文对三维建模软件建好的三维模型,采用Oracle数据库进行存储管理,可以方便的对模型进行更新、查询检索,解决了三维模型的管理问题。通过构建多个模型类模块,从而实现了对目前最为常用的所有3D模型格式的支持,有效的解决了operlGL的复杂三维建模问题。
1模型数据库管理
ORACLE提供了一种新的字段类型LOB
(Large
ObjectsBinary一大型二进制对象),它
是用来存储大量的二进制和文本数据的一种数据类型。其中的BLOB类型适用于存储海量的二进制数据,如图像、视频、音频等[6】'【『71,作者就是将不同类型的三维模型文件和纹理文件均以二进制格式存储在BLOB字段中,实现三维模型的数据库存储。
1.1数据库表结构设计
各种3D模型对应的纹理图像是独立于模型之外的,因此,表中分别设计了模型与纹理的文件名称、二进制的存储字段(BLOB)来分别存储模型数据与纹理数据。同时,为了提高管理和查询、检索的效率,还设计了模型类型和模型名称字段,表结构如表1所示。
万
方数据表1
3D模型库表结构
1.2数据库管理的实现
OCI(OracleCall
Interf如e,即Oracle调用接
口),是Oracle公司提供的由头文件和库函数等组成的一个访问Oracle数据库的应用程序编程型数据,模型与纹理文件的写入与读出就是通过图l3D模型数据库管理
3D模型通用类
不论哪一种模型,都具有二维、三维点坐标、面、材质和具体的对象信息,因此,系统中设计了通用3D模型类,用来存储所有类型3D模型的CVector3
{public:floatx,y,z;};
CVector2
接口,提供了丰富而高效的函数来操作BLOB类OcI函数来实现的。模型数据库管理如图1所示。
2.1
2三维建模
通用信息。
//定义3D点的类,用于保存模型中的顶点
classclass
工程图学学报
2007年
{public:noatx,y;);
s缸uct
tFace//面的结构定义
{
intvenIndex[3】;
//顶点索引
intcoord]【lldex[3】;,/纹理坐标索引
);
s仃uct
tMaterialInf0,/
材质信息结构体
{
chars缸N锄e【255];
,/纹理名称
char
s缸眄le[255】;/,示纹理文件名 …… 此处隐藏:4933字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




