原創|行業資訊|編輯:吳秋紅|2025-01-06 11:23:02.167|閱讀 88 次
概述:本文是關于HOOPS 3D圖形系統(HOOPS/3DGS)的技術介紹,重點闡述其功能、架構設計、數據管理及性能優勢
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
什么是HOOPS 3D圖形系統?
是一款高性能3D圖形工具包,可供開發人員為Windows和UNIX操作系統以及互聯網構建應用程序。HOOPS/3DGS高度優化的數據結構和算法大大簡化了2D和3D、交互式、矢量和光柵圖形CAD/CAM/CAE、科學可視化和地理信息系統(GIS)應用程序的開發。
HOOPS/3DGS包含:
1、HOOPS/3DGS架構
是一種具有數據庫架構的保留模式圖形系統。HOOPS/3DGS提供用于創建、編輯、操作和查詢存儲在數據庫中的圖形信息的算法。這將圖形數據封裝在HOOPS中,并將其與接口層耦合。這種數據結構與算法的耦合是面向對象設計的基本原則。
數據封裝、消息傳遞、實例化和屬性繼承也是HOOPS/3DGS的基本設計元素。雖然HOOPS/3DGS不是作為類庫實現的,但其架構采用了面向對象設計的這些基本方面。
HOOPS/3DGS庫直接集成到應用程序的構建過程中,即與應用程序的其他目標代碼鏈接以生成可執行映像。開發人員使用HOOPS/3DGS API從其應用程序的其他組件中創建和管理幾何對象。
如下圖所示的HOOPS/3DGS圖形系統由兩個主要子組件組成:稱為HOOPS/3DGS線段樹的圖形對象數據庫和稱為HOOPS/3DGS結構化設備接口的渲染管道。
HOOPS/3DGS線段樹和渲染管道
2、保留模式圖形系統
立即渲染圖元而不將其存儲在顯示列表中的圖形系統稱為立即模式系統。將圖形信息存儲在專門為圖形顯示設計的數據結構中的系統稱為保留模式圖形庫。HOOPS/3DGS是一個保留模式圖形庫。在保留模式系統中保留圖形圖元具有顯著的優勢:
性能:如果圖形系統(而非應用程序)保留了所有基元的副本,它就可以更快地修改和遍歷圖形信息,并進行優化,從而加快渲染場景的速度。例如,圖形系統可以計算邊界體積,該邊界體積存儲一組基元的位置和大致范圍。在渲染過程中,許多基元可能在屏幕上不可見。邊界體積允許系統快速確定一組基元是否在屏幕上,以便只有實際可見的圖形基元才會發送到顯示硬件進行渲染。
選擇:圖形系統的一個重要功能是執行選擇(也稱為“拾取”),其中圖形系統確定用戶用光標指向哪個圖形基元。如果沒有顯示列表,圖形系統執行選擇的唯一方法是讓應用程序重新發送所有基元,因為它們未被圖形系統保留。顯示列表允許圖形系統更快地執行選擇,通常快一個數量級。
窗口系統支持:如果包含場景的窗口被另一個窗口部分遮擋,然后又被移到前面,則需要重新繪制窗口新暴露的區域。如果圖形系統將圖元存儲在顯示列表中,則可以重新繪制窗口而無需返回應用程序。(窗口的圖像也可以存儲為位圖,從而允許立即重新繪制受損區域。HOOPS/3DGS也支持這種方法。)
全局渲染算法:許多類型的渲染器都需要所有圖形基元的副本。例如,對于光線追蹤和輻射度,一個對象的顏色會受到其他對象的影響,因此渲染器需要所有基元的數據才能開始繪制其中任何一個。這種高級渲染算法需要使用顯示列表來存儲基元。
3、對象數據庫
數據庫將圖形數據存儲在稱為“段”的對象中。將段視為幾何圖形和描述如何繪制幾何圖形的屬性的容器。段與段之間的關系是分層的,被描述為“父子”配對,或者一個段“擁有”其他段(其子段)。映射是一對多的;也就是說,一個父段可能有許多子段,但每個子段都有一個唯一的父段。
段可以多次實例化并插入到樹的多個位置。此過程稱為包含,如“一個段包含另一個段”。通常,只需要實例化段的屬性集并將其供其他段使用;此過程稱為樣式化。樣式段部分下面將更詳細地討論包含和樣式化。
這些段與段之間的關系形成了分層樹結構,更具體地說,是有向無環圖。此結構支持屬性繼承。子段具有與其父段相同的屬性值,除非它們對某些屬性有自己的本地設置。
HOOPS/3DGS數據庫結構通過將幾何數據劃分為具有同類屬性的對象來確保最佳速度。這最大限度地減少了在繪制圖形信息期間更改硬件顯示上下文的需要,并優化了顯示列表吞吐量。
4、坐標和坐標系
在HOOPS/3DGS中,與大多數圖形系統一樣,空間中的點使用笛卡爾坐標指定。HOOPS/3DGS例程始終采用三個x、y和z坐標;這意味著HOOPS/3DGS中的所有點都是三維的。但是,z值為零表示二維對象,因此HOOPS/3DGS會根據需要使用更優化的二維渲染例程。
HOOPS/3DGS中的坐標使用單精度浮點數指定。但是,默認情況下,C和C++使用雙精度(64位)數字執行浮點運算。這些雙精度數字在傳遞給HOOPS/3DGS調用時會轉換為單精度。
HOOPS/3DGS包含一個雙精度模塊,允許在創建和查詢幾何圖形時使用雙精度浮點值。它通過提供所有HOOPS/3DGS例程的變體來實現這一點,這些例程用于創建、編輯和查詢幾何圖形,以及多個坐標系轉換例程。
5、通過引用插入幾何圖形
當幾何圖形插入HOOPS/3DGS數據庫時,HOOPS/3DGS會復制所提供的數據;這對于保留模式系統來說是正常的,并且對于數據封裝是必要的。對于某些類型的幾何圖形,這些數據可能非常大。制作副本會浪費空間,并使應用程序比需要的更大、更慢。
為了避免這個問題,HOOPS/3DGS允許通過引用插入網格、殼和圖像。通過引用插入幾何圖形會告訴HOOPS/3DGS可以不復制數據。對于網格,此數據是點列表。對于殼,它是點列表和面列表。對于圖像,它是圖像數據。
6、接口
可以從C、C++、C#和Java調用。
↓ 席位有限,立即掃碼報名 ↓
會務專線|18166486035(微信同號)
1月15日(星期三)上午10:00-11:00
2024 HOOPS Luminate專場峰會 ? 中國場期待您的蒞臨!
慧都科技已經為100+企業提供一站式的3D開發解決方案,負責3D ACIS Modeler、Parasolid、等3D產品的銷售、試用、技術支持,賦能航空航天、建筑工程、船舶制造、機械加工、汽車等客戶成功構建工程應用!歡迎咨詢:023-68661681
↓↓掃碼關注“HOOPS技術”,及時獲取更多3D資訊↓↓
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn