张龙
摘 要: 针对传统室内软装三维模拟系统选取几何建模方法三维模拟室内软装效果,缺乏有效的充实和渲染手段,真实性差。文中设计一种基于OpenGL与Direct3D的室内软装三维模拟系统,采用3DMAX软件建立室内模型,将该模型导入OpenGL三维图形标准库模块中,利用基本几何图元绘制室内软装场景元素,通过穿墙、重叠以及尺寸约束函数对场景元素进行约束,确保室内软装代理区域合理布局,充实室内模型,充实后室内模型传送至Direct3D渲染引擎模块变换单元实施软装布局,利用照明单元和光栅化单元对布局后室内进行渲染,获取最优室内软装效果,并输出室内软装三维模拟图像。实验结果表明,利用该系统三维模拟的室内软装真实性强,编辑操作平均运行时间为327 ms,用户满意度高。
关键词: OpenGL; Direct3D; 室内软装; 三维模拟系统; 变换单元; 约束函数
中图分类号: TN02?34; TP319 文献标识码: A 文章编号: 1004?373X(2019)19?0119?05
Abstract: The traditional three?dimensional simulation system for indoor soft?fitting chooses geometric modeling method to simulate the effect of indoor soft?fitting, which lacks effective enrichment and rendering means, and has poor authenticity. Therefore, an indoor soft?fitting 3D simulation system based on OpenGL and Direct3D is designed. The indoor model is built by means of 3DMAX software. The model is imported into OpenGL 3D graphics standard library module. The elements of indoor soft?fitting scene are drawn by using basic geometric primitives. The elements of indoor soft?fitting scene are constrained by piercing walls, overlapping and size constraint functions, so as to ensure the reasonable layout of the agent area of indoor soft?fitting. The enriched indoor model is transmitted to the transformation unit of Direct3D rendering engine module to implement soft?fitting layout. The lighting unit and rasterization unit are utilized to render the arranged room, so as to obtain the optimal indoor soft?fitting effect and output the three?dimensional simulation image of the indoor soft?fitting. The experimental results show that the indoor soft?fitting simulation using this system has strong authenticity, the average running time of editing operation is 327 ms, and the user satisfaction is high.
Keywords: OpenGL; Direct3D; indoor soft?fitting; 3D simulation system; transformation unit; constraint function
室内软装又称为室内陈设,是指家庭或商业建筑空间内家具、布艺、灯饰等后期装修布置。我国经济发展迅速,人们生活水平有所提高,逐渐重视家庭装修质量。家庭装修质量不仅是指家具材质质量,更重要的是色彩搭配以及居住舒适度,装修质量可直接体现居住人的文化内涵及生活品味[1]。制定室内软装方案时,设计师通常需要通过可直接展示室内设计的软件与客户沟通及修改设计,因此一种可真实模拟室内软装的三维模拟系统对于提升家装设计质量具有重要意义。
传统的室内软装三维模拟系统通常选取几何建模方法获取室内场景信息,虽成本较低但是开发工具性能较差,导致系统缺失真实性,无法获取真实色彩搭配以及装修材质情况[2]。本文设计一种基于OpenGL与Direct3D的室内软装三维模拟系统,该系统将OpenGL软件与Direct3D软件相结合,有效提升了室内软装三维模拟的真实性,使客户真实感受室内软装设计与布局效果,提升室内软装设计质量[3]。
1.1 室内软装三维模拟系统总体结构
基于OpenGL软件以及Direct3D软件设计室内软装三维模拟系统总体结构图,如图1所示。该系统选取Windows 7作为操作系统,采用3DMAX 7.0软件进行室内软装三维模型以及动画制作,使用OpenGL软件与Direct3D软件相结合作为三维程序开发工具。
OpenGL软件以及Direct3D软件包含在程序接口范畴之内。OpenGL软件可以利用点、线、简单图形以及复杂曲线、曲面展示所需函数,并且可适应Unix,Windows 7等平台进行操作。OpenGL软件的主要功能是绘制室内场景元素图形并发送至Direct3D软件进行最终处理[4]。Direct3D软件是一种3D绘图编程接口,利用Direct3D软件通过抽象处理将具有相同作用的不同硬件归类处理。
采用3DMAX软件作为建模工具建立室内模型,完成建模后保存至3ds格式文件,3ds格式是一种以“块”形式进行存储的格式,包括待软装室内各种场景数据以及编辑窗口[5]。将3DMAX软件建立的室内模型利用OpenGL三维图形标准库模块绘制室内软装场景元素充实模型。将充实后模型转换成“*.x”格式文件加入至Direct3D渲染引擎模块中进行布局以及渲染操作,完成编辑后输出最终室内软装三维模拟图像[6]。
1.2 OpenGL三维图形标准库模块
将3DMAX软件建立的3ds格式文件导入OpenGL软件中,OpenGL软件并不支持直接读取3ds格式文件。因此需要先将3ds格式文件利用View3d等第三方工具转换成OpenGL软件可读取的c格式文件,转换c格式文件时随之生成的.h与.gl格式文件导入OpenGL软件中的程序框架,利用代码编译即可在OpenGL软件中获取所需模型。以上过程可能会导致软装家具或装饰品等场景元素纹理丢失,而本文系统利用3DMAX软件建立初步室内模型时并未添加家具等系统场景元素,因此以上过程在本系统中可行。
OpenGL三维图形标准库模块具体流程为:
1) 利用VC++ 6.0软件建立MFC数据库应用程序,该应用程序为单文档,并在该数据库中加入opengl32.lib,glaux.lib等库文件,并将gl.h,glu.h以及glaux.h等头文件加入View类文件中。
2) 在应用程序中设置窗口描述表、OpenGL描述表、像素格式等编辑类消息函数,设置绘图初始化函数以及显示函数。
3) 将通过3ds格式转化后的.h与.gl格式文件发送至该模块工程文件中,生成函数为GL3DS_INITIALIZE_ MODLE(),将该函数加入至GL voied程序中,完成室内模型导入。
4) 在导入室内模型中利用基本几何图元绘制室内软装场景元素,为保证室內软装布局合理,加入穿墙约束函数、重叠约束函数以及尺寸约束函数,确保室内软装代理区域合理布局,充实室内模型。OpenGL软件是一个功能极其强大的图形标准库,可处理较复杂的交互式三维图像,并且包含独立的窗口系统以及操作系统,可轻易绘制理想的室内三维图像。将充实后的室内模型发送到Direct3D渲染引擎模块进行布局修改以及渲染,可实现室内软装的三维模拟设计[7]。
1.3 Direct3D渲染引擎模块
Direct3D软件可对模型提供实时三维支持,是一个智能化图像操作软件,通过图形硬件接口实现三维操作。Direct3D软件仅支持“*.x”格式文件,将OpenGL三维图形标准库模块充实后模型转换成“*.x”格式文件后,加入到Direct3D渲染引擎模块中进行操作。Direct3D渲染引擎模块主要包括变换单元、照明单元以及光栅化单元,具体结构图如图2所示。
在变换单元中对OpenGL三维图形标准库模块完成充实后的室内模型进行室内软装布局,并利用照明单元和光栅化单元渲染室内软装布局,增加室内软装三维模拟的灵活性[8]。
2.3 三维模拟效果对比
三种系统三维模拟样本间客厅效果图如图4所示。
由图4可以看出,本文系统所模拟客厅效果图色彩鲜明,图像清晰,而Untiy3D系统所模拟的客厅效果图较为灰暗、物品边缘存在缺失以及虚化问题,Smart3D系统所模拟的客厅效果图模糊,存在严重的虚化问题。说明本文系统可清晰直观地展现客厅软装实际情况,验证了本文系统的室内软装三维模拟最终效果。
2.4 系统评分结果对比
选取200名家装设计师,将200名家装设计师共分为10组,令10组人员分别使用三种系统进行室内软装设计。设计完成后对200名家装设计师进行统计,通过问卷回答方式验证家装设计师们对通过三种系统进行室内软装设计的满意度。调查内容包括好感度、操作灵敏度、设计便利性、设计满意度以及软装效果。10组人员对三个系统的评分结果如表2~表4所示。
通过表2~表4调查结果可知,本文系统的好感度、操作灵敏度、设计便携性、设计满意度以及软装效果评分结果均高于Untiy3D系统以及Smart3D系统。本文系统评分平均分均在95左右,而Untiy3D系统评分平均分均低于89,Smart3D系统评分平均分均低于85,说明本文系统的室内软装三维模拟效果较好,设计较便利,操作灵敏,用户满意度较高。
随着人们生活水平的上升,室内软装设计已经成为近年来发展迅速的行业。为便于室内设计师更好地对室内软装进行设计,提升室内软装的三维模拟效果的真实性以及实时性,本文设计基于OpenGL与Direct3D的室内软装三维模拟系统,该系统将OpenGL软件与Direct3D软件相结合,先利用3DMAX软件建立室内模型,再利用OpenGL软件添加室内场景元素并对场景元素进行约束,充实室内模型,最后通过Direct3D软件对家具进行最终布局以及渲染,实现室内软装的有效三维模拟,为室内设计提供可靠的分析依据。
参考文献
[1] 施珂奕,邓春健,邹昆.基于OpenGL的三维模型点坐标拾取方法[J].液晶与显示,2016,31(7):708?713.
SHI Keyi, DENG Chunjian, ZOU Kun. Point pick?up in three?dimension model based on OpenGL [J]. Chinese journal of liquid crystals and displays, 2016, 31(7): 708?713.
[2] 关日钊,陈新度,吴磊.面向点云模型的交互式位姿调整系统[J].计算机工程与应用,2018,54(18):195?200.
GUAN Rizhao,CHEN Xindu,WU Lei. Interactive position and orientation adjustment system for point cloud model [J]. Computer engineering and applications, 2018, 54(18): 195?200.
[3] 张岚,李柯玲,杨海军.毛纺库存面料在室内软装产品开发中的转型应用[J].毛纺科技,2018,46(8):23?28.
ZHANG Lan, LI Keling, YANG Haijun. Transformation utilization of stock wool fabric in interior decoration development [J]. Wool textile journal, 2018, 46(8): 23?28.
[4] 孙培松.现代室内设计装饰中传统印染饰品运用[J].染整技术,2018,40(8):82?83.
SUN Peisong. Application of traditional printing and dyeing ornaments in modern interior design decoration [J]. Textile dyeing and finishing journal, 2018, 40(8): 82?83.
[5] 刘阳,谢宗武,王滨,等.基于OpenGL的模拟双目建模平台研究与仿真[J].哈尔滨工程大學学报,2017,38(6):939?944.
LIU Yang, XIE Zongwu, WANG Bin, et al. The simulated binocular camera system based on OpenGL [J]. Journal of Harbin Engineering University, 2017, 38(6): 939?944.
[6] 蔡晶菁,杨涛,欧明辉.室内装饰装修材料对火反应特性试验[J].消防科学与技术,2017,36(8):1046?1048.
CAI Jingjing, YANG Tao, OU Minghui. Tests on the properties of indoor decoration materials′ reaction to fire [J]. Fire science and technology, 2017, 36(8): 1046?1048.
[7] 赵凯,唐丽华,张姝婧.基于OpenGL的交互式三维树木建模与可视化研究[J].浙江农林大学学报,2019,36(1):138?147.
ZHAO Kai, TANG Lihua, ZHANG Shujing. Research on inte?ractively 3D tree modeling and visualization based on OpenGL [J]. Journal of Zhejiang A&F University, 2019, 36(1): 138?147.
[8] 缪永伟,汪逊,陈佳舟,等.基于单幅图像成像一致性的组合式建筑交互建模[J].计算机辅助设计与图形学学报,2018,30(11):2001?2010.
MIAO Yongwei, WANG Xun, CHEN Jiazhou, et al. Single image based interactive modeling for modular architectures using imaging consistency [J]. Journal of computer?aided design & computer graphics, 2018, 30(11): 2001?2010.
[9] 王鹏飞,关伟鹏,文尚胜,等.基于免疫算法的高精度室内可见光三维定位系统[J].光学学报,2018,38(10):103?113.
WANG Pengfei, GUAN Weipeng, WEN Shangsheng, et al. High precision indoor visible three?dimensional positioning system based on immune algorithm [J]. Acta optica sinica, 2018, 38(10): 103?113.
[10] 陈邦泽,杨晓波.智能家居室内温度远程优化控制仿真研究[J].计算机仿真,2016,33(12):286?290.
CHEN Bangze, YANG Xiaobo. Intelligent household indoor temperature remote control simulation study [J]. Computer simulation, 2016, 33(12): 286?290.