張龍
摘 ?要: 針對傳統(tǒng)室內(nèi)軟裝三維模擬系統(tǒng)選取幾何建模方法三維模擬室內(nèi)軟裝效果,缺乏有效的充實(shí)和渲染手段,真實(shí)性差。文中設(shè)計(jì)一種基于OpenGL與Direct3D的室內(nèi)軟裝三維模擬系統(tǒng),采用3DMAX軟件建立室內(nèi)模型,將該模型導(dǎo)入OpenGL三維圖形標(biāo)準(zhǔn)庫模塊中,利用基本幾何圖元繪制室內(nèi)軟裝場景元素,通過穿墻、重疊以及尺寸約束函數(shù)對場景元素進(jìn)行約束,確保室內(nèi)軟裝代理區(qū)域合理布局,充實(shí)室內(nèi)模型,充實(shí)后室內(nèi)模型傳送至Direct3D渲染引擎模塊變換單元實(shí)施軟裝布局,利用照明單元和光柵化單元對布局后室內(nèi)進(jìn)行渲染,獲取最優(yōu)室內(nèi)軟裝效果,并輸出室內(nèi)軟裝三維模擬圖像。實(shí)驗(yàn)結(jié)果表明,利用該系統(tǒng)三維模擬的室內(nèi)軟裝真實(shí)性強(qiáng),編輯操作平均運(yùn)行時間為327 ms,用戶滿意度高。
關(guān)鍵詞: OpenGL; Direct3D; 室內(nèi)軟裝; 三維模擬系統(tǒng); 變換單元; 約束函數(shù)
中圖分類號: TN02?34; TP319 ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: 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
室內(nèi)軟裝又稱為室內(nèi)陳設(shè),是指家庭或商業(yè)建筑空間內(nèi)家具、布藝、燈飾等后期裝修布置。我國經(jīng)濟(jì)發(fā)展迅速,人們生活水平有所提高,逐漸重視家庭裝修質(zhì)量。家庭裝修質(zhì)量不僅是指家具材質(zhì)質(zhì)量,更重要的是色彩搭配以及居住舒適度,裝修質(zhì)量可直接體現(xiàn)居住人的文化內(nèi)涵及生活品味[1]。制定室內(nèi)軟裝方案時,設(shè)計(jì)師通常需要通過可直接展示室內(nèi)設(shè)計(jì)的軟件與客戶溝通及修改設(shè)計(jì),因此一種可真實(shí)模擬室內(nèi)軟裝的三維模擬系統(tǒng)對于提升家裝設(shè)計(jì)質(zhì)量具有重要意義。
傳統(tǒng)的室內(nèi)軟裝三維模擬系統(tǒng)通常選取幾何建模方法獲取室內(nèi)場景信息,雖成本較低但是開發(fā)工具性能較差,導(dǎo)致系統(tǒng)缺失真實(shí)性,無法獲取真實(shí)色彩搭配以及裝修材質(zhì)情況[2]。本文設(shè)計(jì)一種基于OpenGL與Direct3D的室內(nèi)軟裝三維模擬系統(tǒng),該系統(tǒng)將OpenGL軟件與Direct3D軟件相結(jié)合,有效提升了室內(nèi)軟裝三維模擬的真實(shí)性,使客戶真實(shí)感受室內(nèi)軟裝設(shè)計(jì)與布局效果,提升室內(nèi)軟裝設(shè)計(jì)質(zhì)量[3]。
1.1 ?室內(nèi)軟裝三維模擬系統(tǒng)總體結(jié)構(gòu)
基于OpenGL軟件以及Direct3D軟件設(shè)計(jì)室內(nèi)軟裝三維模擬系統(tǒng)總體結(jié)構(gòu)圖,如圖1所示。該系統(tǒng)選取Windows 7作為操作系統(tǒng),采用3DMAX 7.0軟件進(jìn)行室內(nèi)軟裝三維模型以及動畫制作,使用OpenGL軟件與Direct3D軟件相結(jié)合作為三維程序開發(fā)工具。
OpenGL軟件以及Direct3D軟件包含在程序接口范疇之內(nèi)。OpenGL軟件可以利用點(diǎn)、線、簡單圖形以及復(fù)雜曲線、曲面展示所需函數(shù),并且可適應(yīng)Unix,Windows 7等平臺進(jìn)行操作。OpenGL軟件的主要功能是繪制室內(nèi)場景元素圖形并發(fā)送至Direct3D軟件進(jìn)行最終處理[4]。Direct3D軟件是一種3D繪圖編程接口,利用Direct3D軟件通過抽象處理將具有相同作用的不同硬件歸類處理。
采用3DMAX軟件作為建模工具建立室內(nèi)模型,完成建模后保存至3ds格式文件,3ds格式是一種以“塊”形式進(jìn)行存儲的格式,包括待軟裝室內(nèi)各種場景數(shù)據(jù)以及編輯窗口[5]。將3DMAX軟件建立的室內(nèi)模型利用OpenGL三維圖形標(biāo)準(zhǔn)庫模塊繪制室內(nèi)軟裝場景元素充實(shí)模型。將充實(shí)后模型轉(zhuǎn)換成“*.x”格式文件加入至Direct3D渲染引擎模塊中進(jìn)行布局以及渲染操作,完成編輯后輸出最終室內(nèi)軟裝三維模擬圖像[6]。
1.2 ?OpenGL三維圖形標(biāo)準(zhǔn)庫模塊
將3DMAX軟件建立的3ds格式文件導(dǎo)入OpenGL軟件中,OpenGL軟件并不支持直接讀取3ds格式文件。因此需要先將3ds格式文件利用View3d等第三方工具轉(zhuǎn)換成OpenGL軟件可讀取的c格式文件,轉(zhuǎn)換c格式文件時隨之生成的.h與.gl格式文件導(dǎo)入OpenGL軟件中的程序框架,利用代碼編譯即可在OpenGL軟件中獲取所需模型。以上過程可能會導(dǎo)致軟裝家具或裝飾品等場景元素紋理丟失,而本文系統(tǒng)利用3DMAX軟件建立初步室內(nèi)模型時并未添加家具等系統(tǒng)場景元素,因此以上過程在本系統(tǒng)中可行。
OpenGL三維圖形標(biāo)準(zhǔn)庫模塊具體流程為:
1) 利用VC++ 6.0軟件建立MFC數(shù)據(jù)庫應(yīng)用程序,該應(yīng)用程序?yàn)閱挝臋n,并在該數(shù)據(jù)庫中加入opengl32.lib,glaux.lib等庫文件,并將gl.h,glu.h以及glaux.h等頭文件加入View類文件中。
2) 在應(yīng)用程序中設(shè)置窗口描述表、OpenGL描述表、像素格式等編輯類消息函數(shù),設(shè)置繪圖初始化函數(shù)以及顯示函數(shù)。
3) 將通過3ds格式轉(zhuǎn)化后的.h與.gl格式文件發(fā)送至該模塊工程文件中,生成函數(shù)為GL3DS_INITIALIZE_ MODLE(),將該函數(shù)加入至GL voied程序中,完成室內(nèi)模型導(dǎo)入。
4) 在導(dǎo)入室內(nèi)模型中利用基本幾何圖元繪制室內(nèi)軟裝場景元素,為保證室內(nèi)軟裝布局合理,加入穿墻約束函數(shù)、重疊約束函數(shù)以及尺寸約束函數(shù),確保室內(nèi)軟裝代理區(qū)域合理布局,充實(shí)室內(nèi)模型。OpenGL軟件是一個功能極其強(qiáng)大的圖形標(biāo)準(zhǔn)庫,可處理較復(fù)雜的交互式三維圖像,并且包含獨(dú)立的窗口系統(tǒng)以及操作系統(tǒng),可輕易繪制理想的室內(nèi)三維圖像。將充實(shí)后的室內(nèi)模型發(fā)送到Direct3D渲染引擎模塊進(jìn)行布局修改以及渲染,可實(shí)現(xiàn)室內(nèi)軟裝的三維模擬設(shè)計(jì)[7]。
1.3 ?Direct3D渲染引擎模塊
Direct3D軟件可對模型提供實(shí)時三維支持,是一個智能化圖像操作軟件,通過圖形硬件接口實(shí)現(xiàn)三維操作。Direct3D軟件僅支持“*.x”格式文件,將OpenGL三維圖形標(biāo)準(zhǔn)庫模塊充實(shí)后模型轉(zhuǎn)換成“*.x”格式文件后,加入到Direct3D渲染引擎模塊中進(jìn)行操作。Direct3D渲染引擎模塊主要包括變換單元、照明單元以及光柵化單元,具體結(jié)構(gòu)圖如圖2所示。
在變換單元中對OpenGL三維圖形標(biāo)準(zhǔn)庫模塊完成充實(shí)后的室內(nèi)模型進(jìn)行室內(nèi)軟裝布局,并利用照明單元和光柵化單元渲染室內(nèi)軟裝布局,增加室內(nèi)軟裝三維模擬的靈活性[8]。
2.3 ?三維模擬效果對比
三種系統(tǒng)三維模擬樣本間客廳效果圖如圖4所示。
由圖4可以看出,本文系統(tǒng)所模擬客廳效果圖色彩鮮明,圖像清晰,而Untiy3D系統(tǒng)所模擬的客廳效果圖較為灰暗、物品邊緣存在缺失以及虛化問題,Smart3D系統(tǒng)所模擬的客廳效果圖模糊,存在嚴(yán)重的虛化問題。說明本文系統(tǒng)可清晰直觀地展現(xiàn)客廳軟裝實(shí)際情況,驗(yàn)證了本文系統(tǒng)的室內(nèi)軟裝三維模擬最終效果。
2.4 ?系統(tǒng)評分結(jié)果對比
選取200名家裝設(shè)計(jì)師,將200名家裝設(shè)計(jì)師共分為10組,令10組人員分別使用三種系統(tǒng)進(jìn)行室內(nèi)軟裝設(shè)計(jì)。設(shè)計(jì)完成后對200名家裝設(shè)計(jì)師進(jìn)行統(tǒng)計(jì),通過問卷回答方式驗(yàn)證家裝設(shè)計(jì)師們對通過三種系統(tǒng)進(jìn)行室內(nèi)軟裝設(shè)計(jì)的滿意度。調(diào)查內(nèi)容包括好感度、操作靈敏度、設(shè)計(jì)便利性、設(shè)計(jì)滿意度以及軟裝效果。10組人員對三個系統(tǒng)的評分結(jié)果如表2~表4所示。
通過表2~表4調(diào)查結(jié)果可知,本文系統(tǒng)的好感度、操作靈敏度、設(shè)計(jì)便攜性、設(shè)計(jì)滿意度以及軟裝效果評分結(jié)果均高于Untiy3D系統(tǒng)以及Smart3D系統(tǒng)。本文系統(tǒng)評分平均分均在95左右,而Untiy3D系統(tǒng)評分平均分均低于89,Smart3D系統(tǒng)評分平均分均低于85,說明本文系統(tǒng)的室內(nèi)軟裝三維模擬效果較好,設(shè)計(jì)較便利,操作靈敏,用戶滿意度較高。
隨著人們生活水平的上升,室內(nèi)軟裝設(shè)計(jì)已經(jīng)成為近年來發(fā)展迅速的行業(yè)。為便于室內(nèi)設(shè)計(jì)師更好地對室內(nèi)軟裝進(jìn)行設(shè)計(jì),提升室內(nèi)軟裝的三維模擬效果的真實(shí)性以及實(shí)時性,本文設(shè)計(jì)基于OpenGL與Direct3D的室內(nèi)軟裝三維模擬系統(tǒng),該系統(tǒng)將OpenGL軟件與Direct3D軟件相結(jié)合,先利用3DMAX軟件建立室內(nèi)模型,再利用OpenGL軟件添加室內(nèi)場景元素并對場景元素進(jìn)行約束,充實(shí)室內(nèi)模型,最后通過Direct3D軟件對家具進(jìn)行最終布局以及渲染,實(shí)現(xiàn)室內(nèi)軟裝的有效三維模擬,為室內(nèi)設(shè)計(jì)提供可靠的分析依據(jù)。
參考文獻(xiàn)
[1] 施珂奕,鄧春健,鄒昆.基于OpenGL的三維模型點(diǎn)坐標(biāo)拾取方法[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] 關(guān)日釗,陳新度,吳磊.面向點(diǎn)云模型的交互式位姿調(diào)整系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,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] 張嵐,李柯玲,楊海軍.毛紡庫存面料在室內(nèi)軟裝產(chǎn)品開發(fā)中的轉(zhuǎn)型應(yīng)用[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] 孫培松.現(xiàn)代室內(nèi)設(shè)計(jì)裝飾中傳統(tǒng)印染飾品運(yùn)用[J].染整技術(shù),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].哈爾濱工程大學(xué)學(xué)報(bào),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] 蔡晶菁,楊濤,歐明輝.室內(nèi)裝飾裝修材料對火反應(yīng)特性試驗(yàn)[J].消防科學(xué)與技術(shù),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].浙江農(nóng)林大學(xué)學(xué)報(bào),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].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),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] 王鵬飛,關(guān)偉鵬,文尚勝,等.基于免疫算法的高精度室內(nèi)可見光三維定位系統(tǒng)[J].光學(xué)學(xué)報(bào),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] 陳邦澤,楊曉波.智能家居室內(nèi)溫度遠(yuǎn)程優(yōu)化控制仿真研究[J].計(jì)算機(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.