999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

顧及高效可視化的CAD模型數(shù)據(jù)重組織方法

2008-12-31 00:00:00柯勝男鮑曙明
計算機(jī)應(yīng)用研究 2008年10期

收稿日期:2007-12-29;

修回日期:2008-03-11

基金項目:國家自然科學(xué)基金資助項目(40571121); 江西省教育廳2008年度科技計劃資助項目(GJJ08152); 香港“數(shù)字志蓮凈苑木構(gòu)佛寺演示系統(tǒng)”資助項目; 江西省教育廳2006年度科技計劃資助項目(贛教技字[2006]110號)

作者簡介:龔俊(1978-),男,湖北武漢人,博士,主要研究方向為空間數(shù)據(jù)庫、空間數(shù)據(jù)可視化(gongjunbox@gmail.com);

柯勝男(1981-),女,助教,碩士,主要研究方向為軟件工程、程序設(shè)計;

鮑曙明(1959-),男,教授,博士,主要研究方向為時空分析建模.

(1.江西師范大學(xué) a.鄱陽湖生態(tài)環(huán)境與資源研究教育部重點實驗室; b.軟件學(xué)院, 南昌 330022; 2.密歇根大學(xué) 中國數(shù)據(jù)中心, Ann Arbor, Michigan 48109-1106)

摘要:

CAD模型造型精度高,渲染效果逼真,被廣泛應(yīng)用于虛擬現(xiàn)實、實時仿真以及三維地理信息系統(tǒng)等三維可視化中,但是其幾何模型數(shù)據(jù)復(fù)雜,圖像數(shù)據(jù)量大,也導(dǎo)致可視化效率低下。為此,提出了一種CAD模型數(shù)據(jù)重組織方法,旨在解決當(dāng)前可視化應(yīng)用集成CAD模型數(shù)據(jù)效率低下的問題。采用預(yù)先計算可視化信息,高度緊湊組織數(shù)據(jù),顧及圖形軟硬件特性等一系列策略,實現(xiàn)CAD模型數(shù)據(jù)的高效可視化功能。其中,幾何模型繪制和圖像紋理生成效率均提高了10倍以上。該方法被成功應(yīng)用于香港志蓮凈苑佛寺虛擬旅游演示項目中。

關(guān)鍵詞:可視化; 計算機(jī)輔助設(shè)計模型; 重組織; 逼真

中圖分類號:TP39

文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2008)10-3056-04

New method to reorganize CAD model concerning visualization

GONG Jun1a, KE Sheng-nan1b, BAO Shu-ming2

(1.a. Key Laboratory of Poyang Lake Ecological Environment Resource Development, b.School of Software, Jiangxi Normal University, Nanchang 330022, China; 2.China Data Center, University of Michigan, Ann Arbor, MI 48109-1106, USA)

Abstract:

This paper presented a new method to reorganize CAD model data,which aimed at solving the problems of visualizing CAD model data inefficiently. The accuracy of CAD model data might be very high, and rendering effects could be realistic, so it was broadly applied to virtual reality, real-time simulation and 3D geographical information system and so on.-However, goemetric data of CAD was highly complex and image data was very large, which leaded to low-efficiency of-visua-lization. In order to solve this problem, this paper used a series of strategies. For example, beforehand calculated visualization information, and high-tightly organized data, and concerned graphic hardwares and softwares. Because of these solutions, the efficiency of rendering geometric model and generating the texture was improved over 10 times. Furthermore, this technique was successfully applied to a virtual-touring system in Hong Kong.

Key words:visualization; CAD model; reorganization; fidelity

0引言

三維可視化技術(shù)提供了便捷直觀的人機(jī)交互界面。三維地圖網(wǎng)絡(luò)服務(wù)Google Earth使人們深切體會到科技“以人為本”的理念,因此眾多領(lǐng)域積極引入三維可視化技術(shù)以提升對信息的直觀性和感知度。但可視化質(zhì)量成為制約其應(yīng)用的最大瓶頸。逼真度和效率是可視化質(zhì)量的兩個重要指標(biāo)。圖形繪制軟硬件技術(shù)的發(fā)展使得人們對高逼真度需求永遠(yuǎn)不會終止,甚至要求達(dá)到以假亂真的程度,模擬造型中的微小細(xì)節(jié)和真實的光影效果。然而,渲染效果和繪制效率始終是一對矛盾,計算機(jī)圖形技術(shù)只能盡量調(diào)和分歧,使得可視化綜合性能最優(yōu)以滿足現(xiàn)實應(yīng)用的需求[1]。高逼真度需求迫使人們采用CAD技術(shù)進(jìn)行高精度建模工作,同時高精度建模也帶來了飛速增長的模型數(shù)據(jù)量,引發(fā)可視化的效率瓶頸。高效渲染CAD模型數(shù)據(jù)成為可視化應(yīng)用中迫切需要解決的工程問題。

CAD誕生以來,已經(jīng)深深地影響了眾多設(shè)計領(lǐng)域,尤其在建筑設(shè)計領(lǐng)域獲得了成功的應(yīng)用。從二維設(shè)計到三維設(shè)計,CAD技術(shù)已經(jīng)滲透到建筑設(shè)計中的方方面面,直觀逼真的建筑物設(shè)計模型激發(fā)著設(shè)計者的創(chuàng)造性思維。一些應(yīng)用中,對建筑物及附屬物的重建精度要求高,明確提出要求室內(nèi)室外場景一體化,而對復(fù)雜建筑場景的建模正是CAD技術(shù)的強(qiáng)項。CAD技術(shù)的普遍應(yīng)用和大量可得的建筑設(shè)計成果數(shù)據(jù),使得CAD數(shù)據(jù)成為三維可視化的主要數(shù)據(jù)來源之一。人們對逼真模擬其生存的城市環(huán)境和建筑環(huán)境并在其中虛擬漫游的愿望日益強(qiáng)烈,但是隨之而來的海量CAD數(shù)據(jù)渲染問題成為阻礙應(yīng)用的瓶頸。目前,主流圖形硬件的極限繪制能力往往是每秒數(shù)千萬個三角形,實際中是遠(yuǎn)遠(yuǎn)無法達(dá)到這個數(shù)值的;同時由于屏幕刷新頻率至少大于15 fps方能實現(xiàn)流暢可視化,實時繪制的圖形數(shù)目規(guī)模往往不能夠超過100萬個。而單個建筑物的CAD模型設(shè)計數(shù)據(jù)包含數(shù)十萬個三角形是比較普遍的,更不用說一個城市場景往往包含成千上萬個建筑物,不采取某些特殊處理技術(shù)是無法實現(xiàn)交互可視化的[2]。

基于圖像繪制、多細(xì)節(jié)層次、動態(tài)調(diào)度和可見性裁減等已是普遍采用的實時渲染技術(shù)。本文是從數(shù)據(jù)組織角度提出一種CAD模型數(shù)據(jù)重組織方法,設(shè)計一套新數(shù)據(jù)結(jié)構(gòu)重新組織CAD模型數(shù)據(jù),旨在大幅度減少CAD模型的數(shù)據(jù)量和提升數(shù)據(jù)的繪制效率,為高效可視化應(yīng)用提供可靠的數(shù)據(jù)保證[3]。

1現(xiàn)有數(shù)據(jù)組織方法的問題

具有CAD技術(shù)經(jīng)驗的建模者均知道,椅子、雕塑等簡單特征采用數(shù)千個多邊形建模表達(dá)也是常見的,單個復(fù)雜建筑物的真三維模型甚至包含幾十萬甚至幾百萬個多邊形。CAD系統(tǒng)憑借周密設(shè)計的數(shù)據(jù)模型和數(shù)據(jù)組織方法來管理高度復(fù)雜的模型數(shù)據(jù)。目前大多數(shù)CAD系統(tǒng)按照建模對象的方式組織數(shù)據(jù),如3DMAX和AutoCAD等,每個建模對象可能由一個圓球、圓柱或正方體等基本模型元素編輯修改而產(chǎn)生。每個元素具有相對獨立完整的幾何、材質(zhì)以及紋理等信息。其中最基本的圖形單元是點、線和三角形面片,便于實現(xiàn)建模對象的數(shù)據(jù)管理和維護(hù)。

以3DMAX的建模數(shù)據(jù)為例,其重要數(shù)據(jù)包括幾何模型數(shù)據(jù)和紋理圖像數(shù)據(jù)。幾何模型數(shù)據(jù)存放于3DS文件中,包括三角形幾何坐標(biāo)數(shù)據(jù)、紋理坐標(biāo)數(shù)據(jù)、法線數(shù)據(jù)、材質(zhì)信息(如環(huán)境光、散射光、鏡面光分量)、燈光信息以及動畫數(shù)據(jù)等信息;圖像數(shù)據(jù)以BMP等圖像文件分開保存,3DS文件中僅僅關(guān)聯(lián)圖像文件名稱。幾何坐標(biāo)數(shù)據(jù)用于恢復(fù)建模對象的三維模型;圖像數(shù)據(jù)和紋理坐標(biāo)數(shù)據(jù)實現(xiàn)紋理建模,即保證合適的紋理圖像以正確方式映射到建模對象的表面,法線、材質(zhì)和燈光共同作用恢復(fù)現(xiàn)實的光影效果,如圖1所示。

CAD數(shù)據(jù)組織方式并不利于加速圖形繪制,如果按照已有建模對象次序,將對象的幾何、材質(zhì)和紋理數(shù)據(jù)逐一送入繪制管道,可以生成三維渲染圖像。但是這種方式導(dǎo)致繪制效率低下,原因在于:a)數(shù)據(jù)冗余現(xiàn)象嚴(yán)重,數(shù)據(jù)存儲方法不夠緊湊;b)固有方式?jīng)]有集中地存儲具有相同材質(zhì)和紋理屬性的多邊形數(shù)據(jù),難以一次性繪制具有相同材質(zhì)和紋理屬性的所有多邊形數(shù)據(jù),致使頻繁改變繪制引擎中材質(zhì)和紋理的繪制狀態(tài);c)按照離散三角形方式組織幾何模型數(shù)據(jù),即繪制三角形圖形完全輸入三個點的幾何數(shù)據(jù),沒有考慮利用三角形間的點拓?fù)潢P(guān)系加速繪制;d)原有CAD數(shù)據(jù)沒有直接保存可視化操作必需的某些重要信息如法線信息,需要額外計算,因而消耗昂貴的實時計算開銷;e)紋理數(shù)據(jù)沒有根據(jù)圖形硬件特性進(jìn)行壓縮處理,消耗外存、內(nèi)存和顯存的存儲空間,并加大數(shù)據(jù)傳輸總線開銷。

針對上述分析,本文對CAD數(shù)據(jù)組織方式的優(yōu)化原則采取如下策略:a)預(yù)先計算法線等重要信息,以便直接應(yīng)用,以空間換時間的策略省略在實時渲染階段的費時計算開銷;b)采用緊湊數(shù)據(jù)組織方式消除所有冗余信息,僅僅存儲用于可視化的必要數(shù)據(jù),外存數(shù)據(jù)能高效調(diào)入內(nèi)存;c)外存CAD數(shù)據(jù)調(diào)入內(nèi)存,無須重組即可送入繪制通道,盡可能減少冗余操作;d)數(shù)據(jù)組織方法顧及三維渲染引擎和圖形硬件的繪制特性,盡可能提高引擎的效率。

2一種CAD模型數(shù)據(jù)重組織新方法

CAD模型數(shù)據(jù)主要分為幾何模型數(shù)據(jù)和紋理圖像數(shù)據(jù)兩部分。紋理圖像數(shù)據(jù)用于紋理映射實現(xiàn)照片質(zhì)量的渲染效果;幾何模型數(shù)據(jù)則是三維幾何造型的數(shù)據(jù)基礎(chǔ),同時也是三維渲染的瓶頸,幾何數(shù)據(jù)組織方式直接影響了三維可視化的效率,如圖2所示。

2.1法線生成算法研究

自主編程渲染CAD數(shù)據(jù)的表現(xiàn)效果,往往不及CAD系統(tǒng)的渲染圖效果,無法滿足高質(zhì)量可視化應(yīng)用需求,主要原因在于不真實的光影明暗效果。即使幾何數(shù)據(jù)完全一樣,不真實的光影明暗效果也會導(dǎo)致離散表面棱角不分明、連續(xù)表面不光滑以及亮度不合理[4]。

根據(jù)可視化經(jīng)驗可知,光影明暗效果的主要影響因素包括材質(zhì)參數(shù)、光照屬性以及幾何模型的法線向量數(shù)據(jù)。前兩者可以從CAD數(shù)據(jù)中直接獲取,而后者需要應(yīng)用法線生成算法間接獲得。因此法線數(shù)據(jù)是最終導(dǎo)致渲染效果優(yōu)劣的主要因素,而法線生成算法又是其中的核心。

三維渲染引擎OpenGL等軟件包不承認(rèn)面法線,繪制時需要對每個點指定法線向量。一般存在兩種計算點法線向量的算法:a)面法線平均算法。某點的點法線向量是包含該點的所有三角形面的面法線向量的平均值(圖3(a))。b)直接面法線算法。某點在不同的三角形面中采用不同的法線值,其法線值是所處三角形面的面法線向量(圖3(b))。

在3DMAX建模系統(tǒng)中,每個三角面片屬于一個光滑組,同一個光滑組中三角形的點法線向量按照算法a)計算,而不同光滑組中的三角形分別計算自身的法線信息,即使兩個屬于不同光滑組的三角形相鄰,公共點將按照算法b)計算法線值,不相互干擾,使得相鄰的不同光滑組的表面邊界清晰,從而實現(xiàn)光滑效果和棱角效果的完美統(tǒng)一。但是前期編輯過程中需要人為地指定三角形面片所屬的光滑組。

2.2緊湊幾何數(shù)據(jù)組織方法

一個典型的硬盤驅(qū)動器的存取速度是內(nèi)存存取速度的10-5~10-6倍。硬盤的定位和尋址時間近期很難有突破性的提高,它受到機(jī)械運動的慣性、加速度、磁臂的牢度等物理極限的限制[5]。CAD精細(xì)建模方式導(dǎo)致CAD文件數(shù)據(jù)量偏大,一個建筑物的模型數(shù)據(jù)(不包括紋理圖像)可能達(dá)到數(shù)兆字節(jié),將其從外存調(diào)入內(nèi)存會耗費大量的CPU時間,實時調(diào)度數(shù)據(jù)的過程中會造成明顯的視覺停頓,需要研究CAD數(shù)據(jù)的緊湊組織方法。

幾何模型是由三角形面片組成的。每個三角形由三個點構(gòu)成。每個點包含幾何坐標(biāo)信息(x,y,z)、紋理坐標(biāo)信息(u,v)和法線向量信息(n1,n2,n3),總共八個浮點數(shù)(float)。如果每個點直接存儲上述三種信息,則具體形式如下:

每個三角形需要8×sizeof(float)×3=96 Byte。圖4中有五個三角形,總共需要96×5=480 Byte。其中,點1落于所有五個三角形內(nèi)。采取這種方式組織數(shù)據(jù),導(dǎo)致點1數(shù)據(jù)被重復(fù)存儲五次,造成冗余。

為解決冗余現(xiàn)象,提出第一種方案:按照節(jié)點列表的思想存儲數(shù)據(jù),組織方式為將所有節(jié)點的幾何信息存儲為列表,沒有重復(fù)節(jié)點幾何信息,三角形信息僅采用其三個節(jié)點在數(shù)組中的索引值來表達(dá)。假如數(shù)組長度小于256×256,則索引值為short類型;如果大于256×256,則采用int類型表達(dá)。結(jié)合圖4中的圖形實例說明數(shù)據(jù)組織方式如下:

a)節(jié)點數(shù)據(jù)數(shù)組

b)三角形數(shù)據(jù)

三角形A三角形B三角形C三角形D三角形E

162123134145156

這種方案所需的存儲空間為8×sizeof(float)×6+3×2×5=222 Byte,比較第一種方案的480 Byte,在存儲空間利用效率上有了明顯的提高。然而,這種數(shù)據(jù)組織方案仍然有不足之處。根據(jù)2.1節(jié)的法線計算方法可知,空間中一個點處于不同的三角形中可能采用不同的法線向量,即可能存在多個法線值。假設(shè)采取第二種方案:如果某點存在多個法線向量值,則需要在節(jié)點數(shù)據(jù)數(shù)組中存儲多次,其幾何坐標(biāo)被重復(fù)保存,從而造成存儲浪費;而且不同空間點的紋理坐標(biāo)和法線值可能相同,完全可以共用這些數(shù)值,避免重復(fù)存儲造成的浪費。因此,本文提出第三種數(shù)據(jù)組織方案,即節(jié)點的幾何坐標(biāo)、紋理坐標(biāo)和法線值分別以一個數(shù)組列表方式予以存儲,這樣三角形中一個節(jié)點需要保存兩個索引值,分別對應(yīng)幾何坐標(biāo)、紋理坐標(biāo)或者法線值列表數(shù)組中的索引號(當(dāng)三角形上有紋理時,僅保存幾何坐標(biāo)和紋理坐標(biāo);當(dāng)無紋理時,僅保存幾何坐標(biāo)和法線值,因為紋理存在時,法線不起作用),從而造成一個三角形存儲的索引數(shù)從第二種方案的三個增加為六個,這方面的存儲量增加2倍。然而,第三種方案中列表數(shù)組元素的數(shù)目不會超過第二種方案中列表數(shù)組元素的數(shù)目,數(shù)目值超過256×256的可能性更小,索引值需要采用整型數(shù)據(jù)類型表達(dá)的可能性更小。兩種方案各有優(yōu)劣,需要通過實際數(shù)據(jù)測試決定最優(yōu)方案。測試數(shù)據(jù)結(jié)果如表1所示。

樣本類型

原始3DS數(shù)據(jù)第二種方案第三種方案

注:3DS文件不含法線數(shù)據(jù),方案二和三的文件包含法線數(shù)據(jù)。

測試數(shù)據(jù)表明第三種方案最優(yōu)。原有的3DS數(shù)據(jù)并沒有直接存儲法線數(shù)據(jù);第三種方案存儲了預(yù)先計算的法線數(shù)據(jù),雖然增加了法線數(shù)據(jù)等附加信息,但其數(shù)據(jù)量仍然明顯小于原始3DS文件的數(shù)據(jù)量,減少幅度甚至高達(dá)50%以上。

2.3顧及渲染引擎特性的組織方法

不同的圖形硬件性能差異較大,然而原理和特性大致相同,如果沒有顧及甚至違背渲染引擎的特性,難以充分發(fā)揮圖形硬件的繪制能力[6]??紤]到CAD幾何紋理信息高度復(fù)雜且數(shù)量巨大,更要認(rèn)真地結(jié)合數(shù)據(jù)特點和渲染引擎特性組織數(shù)據(jù),實現(xiàn)單位時間內(nèi)最大的圖形繪制數(shù)目。

2.3.1顧及狀態(tài)機(jī)性質(zhì)

本文實驗所用的三維可視化引擎OpenGL是一種狀態(tài)機(jī),即包括兩個操作步驟:設(shè)置狀態(tài)和在該狀態(tài)下實施渲染操作。實際上,還有另外一個重要環(huán)節(jié),即核實確認(rèn),它是狀態(tài)機(jī)的當(dāng)前狀態(tài)能夠?qū)崿F(xiàn)應(yīng)用程序所希望功能的保證。新狀態(tài)的設(shè)置導(dǎo)致狀態(tài)機(jī)的一系列屬性隨之發(fā)生變化,確認(rèn)過程可能比較復(fù)雜,導(dǎo)致狀態(tài)變化過程會損耗一定的計算開銷,甚至?xí)@著影響繪制效率。OpenGL的繪制狀態(tài)包括的內(nèi)容廣泛,材質(zhì)、燈光、紋理等信息均屬于狀態(tài)信息。當(dāng)繪制具備某種紋理或材質(zhì)屬性的圖形時,需要設(shè)置該紋理或材質(zhì)為當(dāng)前狀態(tài)。由于CAD數(shù)據(jù)往往包含了多種紋理和材質(zhì)屬性的圖形數(shù)據(jù),處理不當(dāng)將導(dǎo)致頻繁地變化狀態(tài)信息,從而導(dǎo)致繪制效率顯著下降。一種合理的繪制方式是,一次性繪制屬于同一種材質(zhì)狀態(tài)的所有多邊形,這樣就能保證最少的狀態(tài)變化。為了實現(xiàn)該繪制方式,數(shù)據(jù)組織方法也應(yīng)當(dāng)作出調(diào)整,放棄原先以建模對象為單位的數(shù)據(jù)存儲方式,改成以材質(zhì)和紋理狀態(tài)為單位的數(shù)據(jù)存儲方式,集中存儲具有相同紋理和材質(zhì)屬性的多邊形數(shù)據(jù)。存儲結(jié)構(gòu)如下所示:

這樣,材質(zhì)狀態(tài)變化次數(shù)就是材質(zhì)種類的數(shù)目,保證最少的狀態(tài)變化過程。

2.3.2顧及三角形連接關(guān)系

三角形的節(jié)點數(shù)據(jù)通過繪制通道最終生成柵格像素,之前需要經(jīng)過一系列復(fù)雜的幾何變換和計算,如同進(jìn)入一條狹長的流水線。如果這個流水線的一個環(huán)節(jié)效率偏低,均會成為繪制瓶頸。由于CAD數(shù)據(jù)中多邊形數(shù)目繁多,大量的節(jié)點數(shù)據(jù)不斷地送入繪制通道,使得節(jié)點處理階段成為渲染瓶頸。模型視點變換階段計算節(jié)點和視點的相對關(guān)系,確定節(jié)點在以視點為坐標(biāo)原點,視線方向為z軸負(fù)向的坐標(biāo)系中的坐標(biāo)值;燈光處理階段根據(jù)模型視點變換的結(jié)果,結(jié)合法線、燈光、材質(zhì)、顏色等信息,確定節(jié)點的顏色值;投影變換和透視整除階段負(fù)責(zé)將三維信息變換到投影平面上的二維信息;裁剪階段將屏幕外的節(jié)點數(shù)據(jù)刪除,避免不必要的繪制效果;視口變換階段將投影平面上的二維信息映射到視口中。經(jīng)過上述階段,繪制數(shù)據(jù)進(jìn)入光柵化和柵格處理階段。

減少節(jié)點處理階段的計算開銷是突破繪制瓶頸的主要解決途徑之一。一般認(rèn)為繪制一個三角形,需要有三個節(jié)點數(shù)據(jù)進(jìn)入繪制通道。然而并不盡然,OpenGL等繪制引擎提出連接圖元的功能,連接圖元減少節(jié)點數(shù)據(jù)送入繪制通道的次數(shù)。因此,采用這種方式可以提高繪制性能。

以一種連接圖元——三角形條帶為例(圖5),它用于繪制一組連接的三角形組,一個新的節(jié)點和之前的兩個點組成新的三角形。假設(shè)起始n=1,對于奇數(shù)n,節(jié)點n、n+1、n+2定義三角形n;對于偶數(shù)n,節(jié)點n+1、n和n+2定義三角形n。以圖5中的圖形為例,一般來說,首先點1、2和3送入流水線,繪制三角形A;然后點3、2和4送入流水線,繪制三角形B。繪制五個三角形總共需要將15個點送入流水線。然而條帶三角形(triangle strip)的原理是,首先點1、2和3送入流水線,繪制三角形A;然后點4送入流水線,利用點2和3已有的計算成果,繪制三角形B;送入點5,繪制三角形C;送入點6,繪制三角形D;送入點7,繪制三角形E。總共只有7個點送入繪制流水線。除第一個三角形外,其余三角形僅需處理一個點,即可完成幾何階段的處理工作。條帶中包含的三角形數(shù)目越多,越能提升繪制效率。當(dāng)條帶足夠長時,處理時間僅為離散三角形的三分之一,從而達(dá)到顯著提升節(jié)點變換階段的計算效率的目標(biāo)。

表2中的數(shù)據(jù)結(jié)果是離散三角形和三角形條帶方式的性能比較。從測試數(shù)據(jù)可清楚看出,相對于傳統(tǒng)的離散三角形數(shù)據(jù)組織方式,三角形條帶方式下的幾何數(shù)據(jù)量顯著減少,減少量甚至可以高達(dá)25%。這不僅有利于節(jié)省外存的存儲開銷,還可直接提高外存訪問效率。更為重要的是,由于繪制指令和圖形數(shù)據(jù)量顯著減少,生成顯示列表的效率也大幅提高,時間開銷有時僅為離散三角形方式的40%。

時間數(shù)據(jù)量生成顯示列表時間數(shù)據(jù)量

2.4紋理圖像數(shù)據(jù)重組織方法

經(jīng)過CAD三維模型數(shù)據(jù)生產(chǎn)實踐發(fā)現(xiàn),采用紋理圖像表達(dá)建筑物細(xì)節(jié)能夠大大增強(qiáng)真實感,甚至能夠減少幾何建模數(shù)據(jù)量,導(dǎo)致紋理建模方法被廣泛應(yīng)用,紋理數(shù)據(jù)量也不斷攀升,紋理圖像數(shù)據(jù)至少占總體數(shù)據(jù)量的30%以上,在一些逼真表現(xiàn)的應(yīng)用中甚至高達(dá)90%。因此,研究紋理數(shù)據(jù)的緊湊組織方式成為突破瓶頸的重要解決方法之一。

OpenGL 1.3版本增加了紋理壓縮的功能擴(kuò)展,圖形硬件集成紋理解壓縮功能。這種壓縮方法采用了S3公司開發(fā)的一種稱為S3紋理壓縮(S3TC)的編碼方案,目前已經(jīng)成為DirectX中的一個標(biāo)準(zhǔn),稱為DXTC。該壓縮方法是有損壓縮,無法從壓縮圖像中完全恢復(fù)原始圖像,但是人眼不易察覺圖像質(zhì)量的損失。該方法在固定尺寸的圖像壓縮方面具有一定優(yōu)勢,相同尺寸的非壓縮圖像數(shù)據(jù)塊,經(jīng)過這種方法壓縮得到的壓縮數(shù)據(jù)塊尺寸也相同。這對于分配紋理緩沖來說是非常重要的,相同尺寸的圖像數(shù)據(jù)能共用分配的內(nèi)存緩沖。該方法還能預(yù)先存儲mipmap信息,避免在應(yīng)用過程中生成mipmap的費時操作。壓縮數(shù)據(jù)的文件存儲格式的文件擴(kuò)展名稱是*.DDS。圖6是DDS數(shù)據(jù)描述。紋理壓縮的功能擴(kuò)展在圖形繪制通道的多個階段發(fā)揮重要作用,概括起來有如下幾點:a)圖像數(shù)據(jù)占用更少的外存空間和更快的外存調(diào)度速度;b)紋理數(shù)據(jù)占用更少的系統(tǒng)內(nèi)存;c)紋理數(shù)據(jù)能更高效地從內(nèi)存?zhèn)鬏數(shù)郊y理內(nèi)存;d)紋理數(shù)據(jù)占用更少的紋理內(nèi)存;e)紋理映射功能采用硬件編碼實現(xiàn),效率與非壓縮紋理映射沒有明顯差異;f)壓縮前后圖像質(zhì)量肉眼難以察覺。

在視覺效果上,三維渲染引擎采用DDS壓縮圖像對最終渲染質(zhì)量沒有產(chǎn)生可以察覺的視覺影響,可以滿足照片級逼真表達(dá)的需要。以某一數(shù)據(jù)為例,壓縮前圖像數(shù)據(jù)量為192 KB,壓縮后圖像數(shù)據(jù)量為32.1 KB,數(shù)據(jù)量約為壓縮前的1/6,即使增加存儲mipmap多分辨率信息,數(shù)據(jù)量也僅為壓縮前的1/4,而且無須解壓為非壓縮圖像,很大程度地節(jié)省了外部存儲、系統(tǒng)主存和顯示存儲的消耗。在紋理生成方面,紋理生成的效率也得到明顯改善。因此,采用DDS壓縮圖像代替非壓縮圖像用于紋理表達(dá),是一種值得推薦的方法。

3實驗結(jié)果分析

本文對CAD的幾何模型數(shù)據(jù)和紋理數(shù)據(jù)分別進(jìn)行了重新組織,旨在大幅度改善CAD數(shù)據(jù)的繪制效率,并且通過反復(fù)實驗發(fā)現(xiàn)法線信息的計算方法,保證繪制質(zhì)量與CAD渲染圖相近甚至相同。本文采用的測試環(huán)境為Windows XP操作系統(tǒng),OpenGL三維繪制引擎,普通臺式PC機(jī),CPU Pentium4 2.0 GHz,內(nèi)存512 MB,顯卡NVIDIA Quadro4 900 XGL。

3.1幾何模型數(shù)據(jù)集成效率分析

OpenGL中的顯示列表是指將幾何模型數(shù)據(jù)和繪制指令預(yù)先編譯成高效率執(zhí)行碼,便于使用時直接調(diào)用。由于顯示列表是提高可視化效率的常用方法,測試方法是比較原始CAD幾何數(shù)據(jù)與重組織的幾何數(shù)據(jù)之間的繪制差異,即比較兩者從外存訪問開始到生成顯示列表之間的時間開銷。本文采用了八份不同規(guī)模的CAD幾何模型數(shù)據(jù)樣本進(jìn)行測試分析,圖7是重組前后的效率對比圖。可以清晰地看出,經(jīng)過重組,繪制效率比原始方式提高了20倍以上。究其原因是,重組后數(shù)據(jù)量大幅度減少,從而提高了從外存到內(nèi)存的調(diào)度效率;同時預(yù)先計算法線信息,以空間換時間,避免了實時計算法線的費時過程;并且?guī)缀文P蛿?shù)據(jù)預(yù)先按照圖形硬件的繪制特點進(jìn)行組織,可以直接送入圖形繪制流水線,從而明顯改善了繪制效率。

3.2圖像數(shù)據(jù)集成效率分析

OpenGL操作中,在紋理映射之前,圖像數(shù)據(jù)必須被生成為OpenGL中的紋理數(shù)據(jù)。生成紋理過程是費時操作,處理不當(dāng)可能造成可視化過程的不流暢現(xiàn)象。本文圖像數(shù)據(jù)集成效率的測試方法是,從BMP格式轉(zhuǎn)換為DDS格式之后,比較圖像數(shù)據(jù)從外存訪問到紋理生成整個階段的時間開銷。圖8是五份不同規(guī)模的紋理圖像生成的效率對比圖??梢郧逦乜闯觯?dāng)紋理數(shù)據(jù)格式從BMP轉(zhuǎn)換為DDS后,紋理生成的效率提高了10倍以上。究其原因是,轉(zhuǎn)換后圖像數(shù)據(jù)量大幅度減少,從外存到內(nèi)存的調(diào)度效率、從內(nèi)存到顯存的調(diào)度效率,以及紋理生成的效率均得以明顯改善。

3.3綜合性能分析

為測試上述數(shù)據(jù)組織方法的實用性,本文利用香港志蓮凈苑佛寺建筑群的CAD模型數(shù)據(jù)作為實驗樣本,本文的實驗系統(tǒng)導(dǎo)入建筑群中各個獨立建筑物、構(gòu)筑物和小品等地物的3DS格式的CAD模型數(shù)據(jù)。由于數(shù)據(jù)精度甚高,幾何造型完全仿照實物構(gòu)建,數(shù)據(jù)規(guī)模巨大,單個建筑物模型包含的三角形數(shù)目可達(dá)數(shù)百萬,給實時交互可視化工作帶來重重困難。本文利用CAD模型數(shù)據(jù)的重組織方法對其中的幾何模型和圖像數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并且結(jié)合可見性裁剪、多細(xì)節(jié)層次以及基于圖像繪制等實時渲染技術(shù),使得屏幕刷新幀率達(dá)到18 bps以上,符合流暢的可交互漫游要求。由于實驗數(shù)據(jù)精度高,同時采用正確的法線計算方法,使得可視化的光影效果真實逼真,達(dá)到像片質(zhì)量的仿真效果。圖9是香港志蓮凈苑虛擬旅游項目的可視化效果。

4結(jié)束語

在當(dāng)前軟硬件條件仍不成熟的狀況下,CAD模型數(shù)據(jù)重組織方法不失為解決其繪制效率低下的一種途徑。然而該重組織過程是不可逆的,與可視化無關(guān)的信息被全部剔除,使得組織后的數(shù)據(jù)無法被重新編輯,導(dǎo)致原始CAD模型數(shù)據(jù)必須另外備份。因此這種集成CAD模型數(shù)據(jù)的方法是有縫的,處理不當(dāng)容易造成數(shù)據(jù)不一致,以及信息丟失。當(dāng)前地理信息系統(tǒng)(GIS)領(lǐng)域也在研究CAD數(shù)據(jù)集成方法,希望實現(xiàn)GIS和CAD在數(shù)據(jù)標(biāo)準(zhǔn)層次上的一致性和兼容性,從而達(dá)到無縫集成[7]。虛擬現(xiàn)實、實時仿真等可視化領(lǐng)域中大量采用CAD模型成果,也必然會向這個方向發(fā)展,在穩(wěn)步提升可視化效率和質(zhì)量的同時,也在其數(shù)據(jù)標(biāo)準(zhǔn)中實現(xiàn)與CAD數(shù)據(jù)標(biāo)準(zhǔn)的無縫對接。

參考文獻(xiàn):

[1]LUEBKE D, WATSON B, COHEN J D, et al. Level of detail for 3D graphics[M]. San Francisco: Morgan Kaufmann Publishers, 2002.

[2]陳超.用OpenGL技術(shù)在虛擬環(huán)境中構(gòu)建三維模型的實踐[D].成都:電子科技大學(xué),2007.

[3]MLLER T A, HAINES E. 實時計算機(jī)圖形學(xué)[M]. 普建濤,譯.2版.北京:北京大學(xué)出版社,2004.

[4]ROGERS D F. 計算機(jī)圖形學(xué)的算法基礎(chǔ)[M].石教英,譯.北京:機(jī)械工業(yè)出版社,2002.

[5]尤晉元,史美林.Windows操作系統(tǒng)原理[M].北京:機(jī)械工業(yè)出版社,2003.

[6]WOO M, NEIDERF J, DAVIS T, et al. OpenGL編程權(quán)威指南[M].吳斌,段海波,薛鳳武,譯.北京:中國電力出版社,2003.

[7]OGC.CAD-GISWG(CAD-GISWG)[EB/OL].(2006-12-01)[2007-12-01].http://www.opengeospatial.org/groups/?iid=164.

主站蜘蛛池模板: 国产亚洲精品91| 亚洲成人精品| 在线亚洲精品福利网址导航| 婷婷午夜影院| 亚洲V日韩V无码一区二区| 亚洲欧美激情另类| 中文字幕亚洲无线码一区女同| 免费aa毛片| 国产高清无码第一十页在线观看| 国产成人综合久久精品尤物| 99九九成人免费视频精品 | 最新精品国偷自产在线| аⅴ资源中文在线天堂| 人妻精品全国免费视频| 视频二区亚洲精品| 亚洲欧美一区二区三区麻豆| 欧美区在线播放| 亚洲av中文无码乱人伦在线r| 欧美日韩在线观看一区二区三区| 国产91小视频在线观看| 亚洲一区二区三区国产精品 | 一级成人a做片免费| 国产三级a| 欧美一级黄色影院| 久久成人国产精品免费软件| 久久夜色撩人精品国产| 国产精品丝袜在线| 亚洲最猛黑人xxxx黑人猛交| 久久亚洲中文字幕精品一区| 国产真实乱子伦视频播放| 日韩黄色精品| 小13箩利洗澡无码视频免费网站| 亚洲午夜福利精品无码不卡| 一级片免费网站| 就去吻亚洲精品国产欧美| 香蕉在线视频网站| 日本午夜三级| 波多野结衣中文字幕一区二区| 丁香六月激情综合| 欧类av怡春院| 亚洲一区网站| 亚洲一级毛片免费观看| 九九热精品视频在线| 日本午夜精品一本在线观看| 亚洲va视频| 欧美曰批视频免费播放免费| 999精品在线视频| 久久久成年黄色视频| 91精品久久久久久无码人妻| 99热这里只有免费国产精品| 91久久夜色精品| 亚洲色图综合在线| 国产情侣一区| 色欲色欲久久综合网| 在线观看精品国产入口| 亚洲午夜综合网| 91精品视频播放| 露脸一二三区国语对白| 国产高清精品在线91| 国产浮力第一页永久地址| 在线观看国产一区二区三区99| 噜噜噜久久| 久久永久免费人妻精品| 欧美第二区| yjizz国产在线视频网| 国产办公室秘书无码精品| 免费女人18毛片a级毛片视频| 自慰高潮喷白浆在线观看| 亚洲一区二区三区在线视频| 久久夜色精品国产嚕嚕亚洲av| 日韩在线成年视频人网站观看| 国产超薄肉色丝袜网站| 99性视频| 国产人人射| 国产一二三区视频| 欧美一区二区人人喊爽| 成人在线不卡视频| 91精品国产一区自在线拍| 一级全黄毛片| 丝袜无码一区二区三区| 国产日韩精品欧美一区喷| 亚洲男人在线天堂|