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