轉(zhuǎn)帖|其它|編輯:郝浩|2012-04-25 22:21:20.000|閱讀 653 次
概述:在CAD/CAM/CAE/PLM/EDA/AEC、科學(xué)數(shù)據(jù)的可視化顯示以及娛樂等領(lǐng)域,3D圖形技術(shù)有著廣泛的應(yīng)用。強(qiáng)大的3D圖形功能可以為軟件使用 者提供直觀、逼真的3D可視化效果以及便捷的人機(jī)交互。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在CAD/CAM/CAE/PLM/EDA/AEC、科學(xué)數(shù)據(jù)的可視化顯示以及娛樂等領(lǐng)域,3D圖形技術(shù)有著廣泛的應(yīng)用。強(qiáng)大的3D圖形功能可以為軟件使用 者提供直觀、逼真的效果以及便捷的人機(jī)交互。在3D應(yīng)用程序開發(fā)早期,雖然直接使用OpenGL或Direct3D等圖形編程接口就可以滿足一 般的可視化需要,但如果3D應(yīng)用程序需要更加高級(jí)的圖形功能(如隱藏線消除,高級(jí)渲染和貼圖、動(dòng)畫、文字處理、2D矢量圖輸出、高級(jí)動(dòng)畫等)或需要對(duì)圖形 性能進(jìn)行優(yōu)化時(shí),開發(fā)人員還需要做大量的工作,如建立自己的圖形數(shù)據(jù)庫以及對(duì)包括OpenGL、Direct3D在內(nèi)的多種硬件驅(qū)動(dòng)提供支持等,而這些圖 形功能的實(shí)現(xiàn)需要很多專業(yè)圖形開發(fā)人員通過多年的努力才可能完成。
圖1 HOOPS在CAD方面的應(yīng)用
為了使用戶能夠快速開發(fā)出高品質(zhì)的,Spatial公司不僅提供了ACIS造型組件、InterOp數(shù)據(jù)接口組件,還和著名的可視化組件開發(fā) 商美國TSA公司進(jìn)行緊密合作,提供HOOPS可視化組件的授權(quán)和技術(shù)服務(wù),使用戶可以在更高層次的圖形平臺(tái)上開發(fā)3D軟件,從而提升軟件產(chǎn)品的競爭力, 降低開發(fā)成本并加快產(chǎn)品上市。
一、可視化組件HOOPS簡介
HOOPS組件是建立在OpenGL、Direct3D等圖形編程接口之上的更高級(jí)別的應(yīng)用程序框架,由美國TSA公司開發(fā)并由TSA和Spatial公司負(fù)責(zé)發(fā)布和提供技術(shù)支持。
HOOPS不僅為軟件開發(fā)人員提供了強(qiáng)大的圖形功能,如高質(zhì)量的模型顯示、便捷的人機(jī)交互、包括OpenGL和Direct3D在內(nèi)的多種渲染管道的支 持、高級(jí)渲染、2D圖形的矢量化輸出、動(dòng)畫、動(dòng)態(tài)干涉檢查以及圖形數(shù)據(jù)流化處理等,此外HOOPS中還內(nèi)嵌了多邊形優(yōu)化和大模型處理等技術(shù),能夠大大提高 3D可視化的性能。另外HOOPS開發(fā)包中提供的大量應(yīng)用程序級(jí)的實(shí)例源碼,可以幫助用戶在很短的時(shí)間內(nèi)搭建出商業(yè)級(jí)的3D圖形應(yīng)用程序。目前有170多 個(gè)商業(yè)應(yīng)用程序是基于HOOPS組件開發(fā)出來的。
HOOPS組件按功能可進(jìn)一步分為HOOPS/3dAF、HOOPS/Stream以及HOOPS/ NET三個(gè)子組件,其中HOOPS/3dAF組件是一個(gè),采用了保留模式的圖形數(shù)據(jù)庫和多種渲染管道來管理和繪制圖形對(duì)象;HOOPS/Stream組件可以用來對(duì)場景圖數(shù)據(jù)進(jìn)行流化處理;而HOOPS/NET組件則可以用于網(wǎng)絡(luò)協(xié)同。這三個(gè)子組件既可以單獨(dú)授權(quán),也可以結(jié)合在一起使用。
圖2 HOOPS在CAE方面的應(yīng)用
二、HOOPS組件技術(shù)優(yōu)勢
1.更高級(jí)別的3D應(yīng)用程序框架
HOOPS是一個(gè)建立在OpenGL、Direct3D等圖形編程接口之上的更高級(jí)別的開發(fā)平臺(tái),提供了很多應(yīng)用層的功能以及相應(yīng)的實(shí)現(xiàn)源碼,如文檔視圖 管理、打印、事件處理、視圖瀏覽(包括3D虛擬行走)、檢取和動(dòng)態(tài)高亮、動(dòng)畫、材質(zhì)貼圖、測量和批注、動(dòng)態(tài)干涉檢查以及和造型引擎接口等,如果開發(fā)人員直 接利用OpenGL和Direct3D等圖形編程接口來開發(fā)專業(yè)級(jí)別的3D應(yīng)用程序,則需要大量的時(shí)間、精力以及資源來實(shí)現(xiàn)這些高層次的功能。
2.保留模式圖形數(shù)據(jù)庫
HOOPS采用保留模式的圖形數(shù)據(jù)庫用于記錄圖形對(duì)象之間的位置和層次關(guān)系信息,具有更快的選擇、查詢和渲染功能,而且使用起來更加靈活方便,而采用OpenGL 和Direct3D等立即模式圖形編程接口則需要用戶進(jìn)行實(shí)時(shí)管理。HOOPS采用保留模式圖形數(shù)據(jù)庫的優(yōu)勢包括:1)圖形數(shù)據(jù)庫中記錄了圖形對(duì)象之間的 層次關(guān)系和修改標(biāo)記,因此可以快速判斷出哪些對(duì)象需要被發(fā)送到繪制管線中進(jìn)行繪制,基于修改標(biāo)記的增量更新模式可以大大減少需要繪制的三角片數(shù)目,提高圖 形性能;2)由于采用了圖形數(shù)據(jù)庫技術(shù),HOOPS中封裝了一系列用于對(duì)圖形數(shù)據(jù)中的對(duì)象進(jìn)行排序的算法,排序的結(jié)果可以用于隱藏面快速消除、隱藏線的精 確繪制以及透明效果的實(shí)現(xiàn)等;3)大模型處理——對(duì)于靜態(tài)場景,HOOPS中的快速移動(dòng)技術(shù)可以使用戶以很小的代價(jià)實(shí)現(xiàn)在大場景中重新繪制小的對(duì)象;對(duì)于 動(dòng)態(tài)場景,HOOPS中集成了背面剔除、視錐體剔除、遮擋剔除以及多種細(xì)節(jié)層次(LOD)繪制等算法,大大減少了需要發(fā)送到繪制管線的對(duì)象的數(shù)目,有效提 高了大模型處理的能力。另外,HOOPS中內(nèi)嵌的多邊形優(yōu)化算法可以用于生成長的三角條帶或三
角扇形。另外,刪除冗余的頂點(diǎn)也會(huì)大大加快圖形的繪制。
圖3 HOOPS在AEC方面的應(yīng)用
3.高級(jí)可視化能力
HOOPS對(duì)于光照、陰影、反走樣、環(huán)境紋理映射、alpha貼圖、凹凸貼圖和霧化效果等也提供了很好的支持,可以幫助用戶實(shí)現(xiàn)非常逼真的渲染效果。另外,HOOPS中提供的全局和局部剖切平面的功能可以使用戶查看模型內(nèi)部信息。
4.靈活的設(shè)備驅(qū)動(dòng)
交互式的圖形應(yīng)用程序需要為每個(gè)底層的2D/3D API準(zhǔn)備一個(gè)單獨(dú)的映射層,或者是軟件設(shè)備驅(qū)動(dòng)。如目前很多商業(yè)3D程序是直接使用OpenGL來用于可視化的,但隨著Windows Vista發(fā)布的期限越來越近,這些軟件開發(fā)商也需要考慮盡快對(duì)Direct3D接口提供支持;如果用戶需要進(jìn)行2D信息的矢量化輸出,那么很可能會(huì)用到 WindowsGDI和Postscript等設(shè)備驅(qū)動(dòng)。因此一個(gè)商業(yè)3D應(yīng)用程序往往需要處理多種設(shè)備驅(qū)動(dòng),使最終用戶可以根據(jù)需要選擇最適合的設(shè)備驅(qū) 動(dòng)。
不過,創(chuàng)建一個(gè)最簡單的設(shè)備驅(qū)動(dòng)也許會(huì)需要1個(gè)月的時(shí)間,并且根據(jù)應(yīng)用程序的執(zhí)行需求不同,所需的時(shí)間還有可能成倍地增加,另外還需要解決由于圖形編程接 口版本升級(jí)和硬件接口規(guī)范變化等因素所帶來的問題。通過多年的努力,HOOPS幾乎對(duì)所有主流設(shè)備驅(qū)動(dòng)(包括OpenGL、Direct3D、 Windows GDI、Postscript等)都提供了很好的支持。
圖4 HOOPS在CMM方面的應(yīng)用
5.全面的圖形卡測試
圖5 HOOPS渲染示例
每個(gè)HOOPS版本都會(huì)進(jìn)行全面的圖形卡測試,以保證對(duì)于不同的渲染管道,圖形卡都可以達(dá)到最佳的效果。HOOPS對(duì)OpenGL和Direct3D驅(qū)動(dòng)的支持在很多 圖形卡上都測試通過了,而很少有公司愿意將資源投入在這種級(jí)別的顯卡認(rèn)證上。另外,相關(guān)的測試結(jié)果一方面可以供用戶參考,另一方面也是圖形卡供應(yīng)商改善顯 卡性能的重要依據(jù)。
6.專業(yè)的3D/2D文字處理
立即模式的3D API對(duì)文字的支持非常有限,而HOOPS具有非常專業(yè)的3D/2D文字處理能力,比如:
(1)健壯和便攜的TrueType字體支持——HOOPS通過一個(gè)嵌入的字體引擎,提供了對(duì)TrueType等字體便攜的支持,這些字體可以像位圖一樣在場景空間進(jìn)行繪制或像在場景中的其他3D幾何對(duì)象一樣進(jìn)行操作,如對(duì)文字進(jìn)行選擇、編輯和屬性設(shè)置等操作;
(2)對(duì)Unicode字符串的支持——國內(nèi)用戶可以用來插入中文字體;
(3)大量的文字?jǐn)U展屬性的支持,其中包括多行文字一次性繪制,字符間距調(diào)整、傾斜和跟隨路徑的能力,文字簡化處理,下劃線、頁眉和刪除線文字,用戶可控的文字自動(dòng)縮放與回調(diào),在字串中修改部分文字的屬性等,這些功能的實(shí)現(xiàn)需要數(shù)個(gè)編程人員多年的努力。
7.HOOPS/Stream高度壓縮和流化處理能力
圖6 3D模型和2D文字共存處理
HOOPS/Stream組件可以讓開發(fā)人員創(chuàng)建高度壓縮和經(jīng)過流化處理的自定義HOOPS流文件,這樣不僅可以在加載文件時(shí)快速顯示場景,還可以將輕量 化信息直接提取出來用于下游應(yīng)用程序中,如瀏覽和批注等。如果用戶自己在原有的格式中嵌入輕量化信息或重新定義一個(gè)壓縮的3D格式并提供導(dǎo)入/導(dǎo)出功能, 那么至少需要幾個(gè)月的努力,而采用HOOPS/Stream技術(shù)則可以幫助他們快速實(shí)現(xiàn)這點(diǎn)。經(jīng)過高度壓縮和流化處理的HSF文件不僅便于下游的瀏覽器進(jìn) 行瀏覽、查詢和批注,而且也非常適合在網(wǎng)絡(luò)上發(fā)布和操作。目前為止已經(jīng)有很多公司提供對(duì)HSF文件格式的支持,如CATIA、SolidWorks等軟件 都可以直接輸出HSF格式的輕量化文件,HOOPS中也提供對(duì)Autodesk公司DWF輕量化文件格式3D信息的讀寫接口。
三、HOOPS的組件商業(yè)價(jià)值
采用Spatial的HOOPS組件不但可以在技術(shù)方面領(lǐng)先一步,而且具有以下商業(yè)價(jià)值。
1.性能和可靠性
H O O P S組件是被證明了的具有高性能和高可靠性的商業(yè)開發(fā)平臺(tái),目前有包括Autodesk、SolidWorks、IronCAD、Fluent、LK等著名公司在內(nèi)的170多家商業(yè)用戶在使用HOOPS組件。
2.專業(yè)的技術(shù)支持和服務(wù)
Spatial的商業(yè)模式是建立在用戶成功的基礎(chǔ)上的,因此Spatial的專業(yè)技術(shù)支持和服務(wù)團(tuán)隊(duì)將會(huì)竭力協(xié)助用戶盡快取得成功,Spatial的本地化支持也會(huì)幫助國內(nèi)用戶快速開發(fā)出高性能的軟件產(chǎn)品。
3.降低開發(fā)成本和縮短產(chǎn)品上市時(shí)間
大大減少用戶自己開發(fā)的投入或風(fēng)險(xiǎn),用戶通過授權(quán)HOOPS產(chǎn)品即可使用已被業(yè)界證明了的功能強(qiáng)大且穩(wěn)定的3D可視化組件,使用戶無需花費(fèi)大量的人力物力 和時(shí)間去自行開發(fā)和維護(hù)自己的圖形內(nèi)核,而是將精力集中到具有更大附加值的專業(yè)功能的開發(fā)上,從而可以更早地發(fā)布產(chǎn)品,使效益最大化。
4.保持持續(xù)競爭力
HOOPS每個(gè)新的版本或補(bǔ)丁都會(huì)有功能增強(qiáng)和性能提升,用戶通過將自己的產(chǎn)品發(fā)布和HOOPS產(chǎn)品發(fā)布緊密結(jié)合起來,就可以盡早使用到這些新功能并提高產(chǎn)品性能,從而保持持續(xù)的競爭力。
5.降低用戶風(fēng)險(xiǎn)
HOOPS的與客戶分享成功的合作方式和有競爭力的價(jià)格定位使用戶在使用HOOPS組件進(jìn)行軟件開發(fā)和維護(hù)的過程中可以更好地管理成本,降低用戶的風(fēng)險(xiǎn)。
四、HOOPS和ACIS、InterOp之間的關(guān)系
HOOPS組件不但可以單獨(dú)用于3D模型的可視化,而且可以和其他造型內(nèi)核(如ACIS)和數(shù)據(jù)接口組件(如InterOP)結(jié)合使用。圖7所示非常直觀 地說明了HOOPS和ACIS、InterOp之間的關(guān)系以及如何使用這三個(gè)組件來構(gòu)建3D應(yīng)用程序的基本框架。
3D應(yīng)用程序通過HOOPS/GUI和ACIS、HOOPS組件建立連接,從而實(shí)現(xiàn)利用ACIS內(nèi)核進(jìn)行造型,并利用HOOPS組件進(jìn)行可視化和人機(jī)交 互。ACIS和HOOPS之間通過HOOPS/ACIS bridge來進(jìn)行通信,從而實(shí)現(xiàn)文檔和視圖分開;InterOp組件用于讀寫實(shí)現(xiàn)ACIS模型和其他格式3D模型之間的相互轉(zhuǎn) 換;HOOPS/Stream組件則可用于讀寫3D場景圖數(shù)據(jù)。
圖7 利用HOOPS、ACIS和InterOp開發(fā)3D應(yīng)用程序的框架
五、結(jié)束語
經(jīng)過HOOPS圖形專家多年的開發(fā)努力,HOOPS組件提供了商業(yè)級(jí)別的CAD/CAM/CAE/AEC等領(lǐng)域3D應(yīng)用程序所需要的圖形功能,和一些 HOOPS用戶合作的經(jīng)驗(yàn)告訴我們,沒有其他與場景圖相關(guān)的組件可以在深度、廣度、靈活性和可靠性方面與HOOPS所具有的特征相媲美,而HOOPS在圖 形顯示效果、速度和易用性等方面的不斷進(jìn)步也將會(huì)給用戶帶來更大的價(jià)值。數(shù)百家3D軟件開發(fā)商和Spatial合作的實(shí)例表明,通過授權(quán)Spatial所 提供的ACIS造型組件、InterOp數(shù)據(jù)接口組件和HOOPS可視化組件大大減輕了他們自行開發(fā)和維護(hù)的負(fù)擔(dān),縮短了開發(fā)時(shí)間,從而使他們可以更加專 著于具有更高附加值的專業(yè)功能的開發(fā),創(chuàng)造出更大的價(jià)值。
免費(fèi)下載3D可視化方案:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載