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