TWI499998B - 實體模擬引擎,用以處置視覺模擬迴路之處理系統及用以簡化一創造電腦產生的影像之程序的系統 - Google Patents
實體模擬引擎,用以處置視覺模擬迴路之處理系統及用以簡化一創造電腦產生的影像之程序的系統 Download PDFInfo
- Publication number
- TWI499998B TWI499998B TW102143767A TW102143767A TWI499998B TW I499998 B TWI499998 B TW I499998B TW 102143767 A TW102143767 A TW 102143767A TW 102143767 A TW102143767 A TW 102143767A TW I499998 B TWI499998 B TW I499998B
- Authority
- TW
- Taiwan
- Prior art keywords
- phase
- data structure
- simulation
- visual analog
- processing device
- Prior art date
Links
- 238000004088 simulation Methods 0.000 title claims description 57
- 230000000007 visual effect Effects 0.000 title claims description 46
- 238000012545 processing Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 title description 35
- 238000004364 calculation method Methods 0.000 claims description 58
- 238000013473 artificial intelligence Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 7
- 230000008685 targeting Effects 0.000 claims 1
- 239000007787 solid Substances 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 239000000700 radioactive tracer Substances 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本發明之所揭露的實施例主要有關於電腦產生的影像,且更特別有關於增加電腦產生的影像之效率的方法。
虛擬世界應用典型由在伺服器及客戶上履行之不同階段所構成以給予使用者三維寫實的感覺。例如,伺服器執行實體模擬及人工智慧(AI)以推進物體並使用可見性計算來計算轉移至客戶的可見集。同樣地,客戶執行(基於效果之)實體模擬及呈現(使用光線追蹤及/或柵格化(rasterization))來顯示場景。這些「計算核心」的每一者維持並建立自己的資料結構以加快其個別的計算。這些計算核心互不相同,因其每一者針對自己的任務而加以優化(像是加快相鄰計算相對於最小化每一節點中之三角形數量相對於最小化節點中之空的空間)。(術語「階
段」、「核心」、及「計算核心」在此用為同義詞。)
配合圖中之附圖從閱讀詳細說明可更佳了解所揭露的實施例,圖中:第1圖為根據先前技術的圍繞電腦產生影像之創造的現有程序的表示;第2圖為根據本發明之一實施例的圍繞電腦產生影像之創造的程序的表示;第3圖顯示根據本發明之一實施例的根據資料結構修改在葉節點上之一組漸進式改良;第4圖為繪示根據本發明之一實施例減少視覺模擬迴路之總計算時間的方法之流程圖;第5圖為繪示根據本發明之一實施例的致能由視覺模擬迴路所產生之虛擬場景的電子顯示上之視覺表示的方法之流程圖;以及第6圖為繪示根據本發明之一實施例的處置虛擬世界應用中之視覺模擬迴路之方法的流程圖。
為使說明簡單及清楚,繪圖描繪構造之一般方式,並可能省略眾所皆知的特徵及技術之說明與細節以避免不必要地混淆本發明之所述實施例的討論。另外,繪圖中之元件不一定按比例繪製。例如,圖中之某些元件的尺寸相較於其他元件可放大以幫助改善本發明之實施例的了解。不
同圖中之相同參考符號標示相同元件,而類似參考符號可,但不一定得,標示類似的元件。
於說明中及申請專利範圍中之術語「第一」、「第二」、「第三」、「第四」、及之類,若有的話,用來區別類似元件之間且非一定敘述特定次序或時間順序。了解到如此使用的這些術語在適當情況下為可互換,使得在此所述之本發明的實施例,例如,能夠以非在此所示或否則所述的次序進行操作。類似地,若方法在此敘述成包括一連串的步驟,在此所呈現之這些步驟的順序不一定為可執行這些步驟的唯一順序,且可省略所陳述之步驟的某些者及/或可添加未在此敘述之某些其他步驟至方法。此外,術語「包含」、「包括」、「具有」、及其之任何變異,意圖涵蓋非窮舉性含括,使得包含一元件列表的程序、方法、物件、或設備不一定限於那些元件,但可包括未明確列出或為這種程序、方法、物件、或設備固有之其他元件。
於說明中及申請專利範圍中之術語「左」、「右」、「前」、「後」、「頂部」、「底部」、「上方」、「下方」、及之類,若有的話,用為敘述目的且非一定描述永久相對位置。了解到如此使用的這些術語在適當情況下為可互換,使得在此所述之本發明的實施例,例如,能夠以非在此所示或否則所述的次序進行操作。術語「耦合」,如此所用,界定以電性或非電性方式直接或間接連接。在此敘述成互相「相鄰」之物體可互相實體接觸、互相緊
鄰、或在互相相同之一般地區或區域中,依照其中使用片語的上下文而定。片語「在一實施例中」的出現在此不一定皆指相同的實施例。
在本發明之一實施例中,一種減少視覺模擬迴路的總計算時間之方法包括跨該視覺模擬迴路之每一階段共享共同資料結構,其係藉由在執行那個特定階段的計算之前將該共同資料結構調適至每一特定階段之要求。
隨著許多核心(many-core)架構的問世,前述之不同計算核心很可能在相同處理器上履行,具有共享資源,像是快取、記憶體控制、匯流排、及諸如此類。因此,建立並維持自己的狀態不僅增加建立這些資料結構的時間亦需要更多資源來儲存它們。舉例而言,實體模擬典型花上(每訊框)總處理時間之約10至20百分比來建構加速資料結構(如包圍容積階層(BVH)、k
d樹、及之類)且光線追蹤花上(每訊框)處理時間的約30至40百分比來建立其之資料結構。資料結構的大小典型皆相同,導致總處理時間增加兩倍。
建立資料結構(或加速階層)來加快特定計算任務為眾所皆知。然而,這些資料結構為隔離地建立及維持,無跨應用資訊共享且無任何用於所有任務的資料結構(像是在視覺模擬的情況中之物理、圖形、及人工智慧(AI))。相反地,本發明之實施例建立並維持跨完整視覺模擬迴路之一共同資料結構。此「共同資料結構」可,以低成本,加以修改以實現幾乎與個別優化之資料結構之
性能一樣好的性能。這允許建構成本之顯著減少,且僅少量增加每一個別演算法的運作時間,同時實現共享架構的所有效益。結果為建構加上使用成本之淨改善,亦即淨訊框速率的增加。
本發明之實施例跨不同應用共享共同資料結構,根據各個應用之需求適當地調適它們。此時間有效率及空間有效率之資料結構共享致能資源之有效率的使用還有性能增強。針對在相同平台上運作這些應用的多核心及許多核心架構,本發明之實施例節省記憶體空間、改善快取局部性、並減少資料結構建立時間。
茲參照圖示,第1圖為根據先前技術的圍繞電腦產生影像之創造的現有程序100的表示。第1圖顯示由實體模擬及光線追蹤核心構成之應用。這些核心的每一者建立專門用於該核心之自己的加速資料結構(顯示k
d樹但可使用任何資料結構)。先前技術因此得付出每訊框建構k
d樹兩者的代價。
第2圖為根據本發明之一實施例的圍繞電腦產生影像之創造的程序200的表示。如第2圖中所示,程序200針對實體模擬建構一k
d樹並接著針對光線追蹤調適資料結構。舉例而言,實體模擬引擎可基於稱為PhysBAM(來自史丹佛(Standford)大學)之來源庫。已辨別出用於針對不同視覺計算核心以低建構成本迅速調適資料結構之技術(由第2圖中之「調適資料結構」框所表示);這些保留每一核心之專門資料結構的大部分之效率。這造成兩核
心放在一起之建構加上計算時間之新的節省。
舉例而言,取得由實體模擬引擎所建立之k
d樹並針對光線追蹤引擎調適該k
d樹(此為第2圖中所示之情況)可藉由調適表面面積試探(Surface Area Hueristic)以精鍊PhysBAM樹之葉節點成為
其中C 1
為節點遍歷成本、C L
(x
)為節點碰撞成本:左下代基元之數量、C R
(x
)為節點碰撞成本:右下代基元之數量、為左下代與上代之表面面積比例,且為右下代與上代之表面面積比例。可辨別出隔離空的空間之分裂點(因為那樣減少三角形構成之節點的面積)並可辨別出重合三角形與節點之交叉點的分裂面。第3圖顯示使用在葉節點上使用一組漸進式改良(在3a開始並通過3b及3c至3d)之結果。如所示,細分葉節點以中分掉空的空間。與原始光線追蹤樹(其中此程序需針對完整3D空間進行)相比,本發明之實施例使用「良好」樹作為起始點並以減少的成本(以時間及空間而言)進行類似策略。
針對第2圖中所示的情況(亦即針對實體模擬調適/修改k
d樹並使用經修改的k
d樹來加快光線追蹤),示範經調適的k
d樹達成專門針對光線追蹤而建立之k
d樹的訊框速率之82百分比,且調適/修改所需的時間為可忽略(少於建立其之成本的1百分比)。類似地,針對實體模
擬建立的示範BVH達成由光線追蹤器所建立的專用BVH所達成之呈現速率(在修改後)的86百分比,其中同樣地所需之修改時間相較於建構時間為可忽略。
針對伺服器側視覺模擬迴路,在實體模擬及可見性計算之間共享階層空間資料結構僅需近乎分別維持資料結構所需之記憶體空間的三分之二。(舉例而言,這等同於波音(Boeing)模型的20MB之記憶體空間減少)。
如前述,本發明之實施例提出針對完整的視覺模擬迴路建立共同資料結構的概念。此共同資料結構係針對每一特定核心調適並因此可實現近優性能。需要修改以讓資料結構更適合特定計算核心所需之特定標準。這至少針對下兩段中所述的原因為需要。
例如,假設實體模擬及呈現(光線追蹤)係在客戶側上執行。實體模擬建立k
d樹以加快緊鄰之物體的計算。另一方面,光線追蹤器建立減少每一節點內之空的空間之k
d樹以加快光線追蹤性能。因此,可以一種方式修改第一k
d樹,使其亦減少空的空間並針對光線追蹤可良好執行。
另外,所作用之模型的解析度針對這兩應用可能不同。實體模擬可能作用在物體之較粗糙模型上(以加快運作時間)並且呈現可能作用在物體之較精鍊版本上(以增加寫實)。在這種情況下,必須容納新的三角形,導致修改的樹。
前述討論聚焦於由實體模擬引擎建立並之後由光線追
蹤調適之k
d樹。本發明之不同的實施例可採取不同方式,例如由光線追蹤建立並由實體模擬引擎針對自己的需求調適之k
d樹(接下來說明)或以類似方式建立及修改之BVH(於下說明)。
針對由光線追蹤建立並之後針對實體模擬引擎(例如,基於PhysBAM)而修改的k
d樹,可設想到統一的空間階層結構。此牽涉藉由相同階層劃分各個基元組。PhysBAM需要粗糙頂點、三角形、及線段以進行碰撞檢測,而光線追蹤器提供精細三角形上之階層。因此需要將粗糙基元往下推至由精細三角形所提供之階層。(少數例外情況會需要延伸階層以符合PhysBAM的終止試探。)詳言之,由於光線追蹤器作用在較精細的網目上,無需修改樹:僅需以實體迴路使用之物體的相關三角形填充葉節點。這可輕易藉由依據最佳符合三角形的節點從根部推動三角形來達成。舉例而言,可使用中數分裂來進行此,並且進一步地,可在線性時間中進行(相較於從頭開始建立這種樹之O(nlogn)時間),導致運作時間之非常顯著的減少。
茲提出涉及BVH之情景的結果連同上數k
d樹情景之總結。基於BVH的光線追蹤器稱為X-Ray。基於k
d樹之光線追蹤器稱為MLRTA。
1. PhysBAM KD樹→MLRTA(呈現性能之82%)
2. PhysBAM BVH→XRay(呈現性能之86%)
3. MLRTA KD樹→PhysBAM(PhysBAM性能中之
0.3%降格)
4. Xray BVH→PhysBAM(PhysBAM性能中之0.5%降格)
重申在上述所有情景中,每訊框僅建立(並調適)資料結構一次;這相較於針對個別應用建立多個資料結構節省顯著之時間量並導致所有經測試情景的運作時間之減少(15至20百分比)。從上述結果取一特定範例來說,在(1)中,建立呈現用之加速資料結構的時間為訊框時間的約20百分比。雖呈現速率低了18百分比,僅花訊框時間的10百分比在光線追蹤,導致1.8百分比的減緩-訊框時間之18.2百分比的總增益。這導致總3D視覺模擬迴路之訊框速率的整體增加,導致較佳性能。在此應說明雖然目前的焦點聚集在其中履行實體引擎及光線追蹤器之情景上,在此揭露的概念可輕易延伸至其他情景(包括,例如,將於下說明之可見性計算(在虛擬世界(Virtual World)環境的情境中))。
虛擬世界服務同時支援各種任務的需求(實體模擬、可見性計算、AI、等等)。下列討論聚焦於其中已針對實體模擬而建立的像是k
d樹之階層空間資料結構可用於虛擬世界伺服器中之可見性計算的範例上。
伺服器側可見性計算可實質上減少伺服器網路頻寬需求及客戶側呈現資源。在一給定點客戶僅看到虛擬世界的一小部分。因此,在每一訊框上發送對整個世界之更新會很浪費。取而代之,伺服器視察可從一區域見到的所有物
體並僅發送需發送更新至客戶之潛在可見物體。本發明之實施例執行來自一區域的保守可見性計算,意指僅將在區域內真的看不到的物體歸類為看不見。(看不見的物體可歸類成可見,導致可見物體集之過度估計)。
在可見性計算中之有關於階層空間資料結構的使用之一重要概念為隱藏的物體不需被視為堵塞者(occluder)。舉例而言,考量三個軸對準立方結構之包圍框,稱為BB1、BB2、及BB3,以一種方式配置使得當從某方向看去時,BB3被BB2隱藏而看不見,而這兩者則被BB1隱藏而看不見。在正常事件中,會包括BB1、BB2、及BB3一次作為堵塞者。然而,被BB2隱藏的任何物體也被BB1隱藏-因此將BB1視為堵塞者已足夠。若可迅速判斷哪個物體為可見,則可減少柵格化為堵塞者之物體的數量。
為此,若物體之包圍框為看不見,則物體一定為看不見。另一方面,若包圍框為可見,則無法說物體為看不見或看得見,且一定得實際柵格化為堵塞者。執行一實驗(使用UNC發動機模型及Boeing模型兩者),其僅使用階層空間資料結構的葉節點以加快可見性查詢。發現到此方法顯著減少柵格化之物體的數量,導致相較於未使用任何空間資料結構的情況加快2至3倍。當針對可見性計算共享針對實體模擬所建立之空間資料結構,可節省專用於空間資料結構的記憶體空間之33百分比。(由於實體模擬維持階層空間結構,所需之節點數量為葉節點所需數量
的兩倍)。因此,共享資料結構可盡可能多地節省葉節點數量,導致相較於維持分別的資料結構33百分比的減少。針對具有756,417個物體之Boeing模型,此33百分比的減少造成約20MB的記憶體空間之節省。
第4圖為繪示根據本發明之一實施例減少視覺模擬迴路之總計算時間的方法400之流程圖。
方法400之步驟410為跨視覺模擬迴路之每一階段共享共同資料結構,其係藉由在執行那個特定階段的計算之前將該共同資料結構調適至每一特定階段之要求。應了解到則步驟410不需要針對給定階段調適資料結構,若資料結構針對那個階段已經為優化的話。舉例而言,在使用資料結構於第一階段的計算之前不大可能需要修改資料結構,因為在其之建立期間可能已針對第一階段優化資料結構。
步驟410暗示某些子步驟的執行;這些亦繪示在第4圖中並於下敘述。
步驟410的子步驟411為評估共同資料結構,其,應了解到,已經先前加以建立-典型係藉由首先使用資料結構的視覺模擬迴路之階段。步驟410的子步驟412為判斷共同資料結構是否針對將接下來執行之計算為優化。若尚未執行任何計算(針對目前訊框),則將執行的下一計算為第一計算並且,如上述,針對那個計算有可能已經優化共同資料結構,因為係針對那個計算建立其。另一方面,若將執行的下一計算並非第一計算,共同資料結構可能必
須在使用前加以優化。這可根據在此所述之優化技術的一或更多者或根據技藝中已知的其他優化技術來加以實現。
步驟410的子步驟413為執行下一計算。若子步驟412判斷出共同資料結構針對將接下來執行之計算為優化,則在子步驟412之後立刻執行此子步驟。若共同資料結構針對將接下來執行之計算並非為優化,則步驟410的子步驟414在子步驟413之前,其針對下一計算調適共同資料結構。如剛剛所述,此計算可根據在此所揭露之優化技術的一或更多者或根據技藝中已知的其他優化技術來加以實現。
步驟410的子步驟415詢問是否有額外計算要執行。若有,方法返回至子步驟411並重複程序。若沒有,方法結束(子步驟416)。
在一實施例中,視覺模擬迴路包含實體模擬階段、可見性計算階段、人工智慧階段、及呈現階段。在一特定實施例中,在第一處理裝置(如伺服器)及第二處理裝置(如客戶)處置視覺模擬迴路,其中第一處理裝置執行人工智慧階段、可見性計算階段、及實體模擬階段之第一實例,且第二處理裝置執行呈現階段及實體模擬階段的第二實例。舉例而言,共同資料結構可包含k
d樹、BVH、包圍間隔階層(BIH)、或一些其他分區資料結構。
在一實施例中,第一階段為實體模擬階段,第二階段為呈現階段,且調適資料結構包含3D中之表面面積試探。在另一實施例中,第一階段為呈現階段,第二階段為
實體模擬階段,且調適資料結構包含辨別包含一根節點及葉節點之空間階層結構;辨別由呈現階段使用之複數基元;以及以複數基元的特定者(亦即,實體模擬引擎所需的相關三角形(或其他基元))填充該些葉節點。可在線性時間中執行(相較O(nlogn)時間)葉節點之填充,導致運作時間之非常顯著的減少。
第5圖為繪示根據本發明之一實施例的致能由視覺模擬迴路所產生之虛擬場景在電子顯示上之視覺表示的方法500之流程圖。
方法500之步驟510為建立視覺模擬迴路之第一階段的資料結構。在一實施例中,如同方法400中般,視覺模擬迴路包含實體模擬階段、可見性計算階段、人工智慧階段、及呈現階段,且第一階段可為這些之任一者(或其他未列出者)。亦如同方法400中般,在一實施例中,藉由第一處理裝置及第二處理裝置處置視覺模擬迴路,第一處理裝置執行人工智慧階段、可見性計算階段、及實體模擬階段之第一實例,且第二處理裝置執行呈現階段及實體模擬階段的第二實例。
方法500之步驟520為使用資料結構來執行第一階段的計算。方法500之步驟530為針對視覺模擬迴路之第二階段調適資料結構。方法500之步驟540為使用經調適資料結構來執行第二階段的計算。
若視覺模擬迴路包含額外階段,方法500可進一步包含針對視覺模擬迴路的每一額外階段調適資料結構並使用
經調適資料結構之相應者(亦即針對那特定額外階段所調適之資料結構)來執行視覺模擬迴路的每一額外階段的計算。如在此其他地方所述,資料結構可包含k
d樹、BVH、BIH、或之類。第一及第二階段的辨別和調適之細節可同樣如上所提出般。
第6圖為繪示根據本發明之一實施例的處置虛擬世界應用中之視覺模擬迴路之方法600的流程圖。針對視覺模擬迴路之每一時間步階或影像更新訊框執行方法600的下列步驟之每一者。
方法600之步驟610為建立只有一個資料結構。舉例而言,可藉由(或針對)執行第一計算的視覺模擬迴路的任何階段建立該資料結構。
方法600之步驟620為在伺服器處理裝置上使用資料結構的原始或經調適版本來執行第一計算。如上述,若資料結構已經針對第一計算調適或優化,則不大可能需要調適,而若資料結構曾被使用過且尚未經調適,則若先進行某些調適則很可能會增進計算。
方法600之步驟630為在客戶處理裝置上使用資料結構的原始或經調適版本來執行第二計算。針對此第二計算,可能會需要或至少為希望某些調適以優化系統性能(雖步驟630可在一些實施例中於無這種調適下加以執行)。這種調適,若執行的話,可根據先前揭露之技術或根據技藝中已知的其他技術來加以實現。
在一實施例中,資料結構位在客戶處理裝置的晶片上
快取上。在相同或另一實施例中,第一計算及第二計算為在影像更新訊框期間執行的唯獨之計算。在其他實施例中,每訊框可執行超過兩個的計算。
雖已經參照特定實施例敘述本發明,熟悉此技藝人士將了解到可做出各種改變而不背離本發明之精神及範疇。據此,本發明之實施例的揭露意圖為例示本發明之範疇且非意圖為限制性。本發明之範疇意圖應僅限於所附之申請專利範圍所需之範圍。例如,對此技藝中具有通常知識者而言,很明顯地在此所述之方法可在各種實施例中加以實行,且這些實施例的某些之上述討論不一定得代表所有可能的實施例之完整說明。
另外,已經相關於特定實施例敘述益處、其他優點、及問題之解決方法。然而,益處、優點、問題之解決方法、及任何元件或會使任何益處、優點、解決方法發生或變得更明顯的元件不應視為任何或所有申請專利範圍的關鍵、所需、或必要之特徵或元件。
此外,在貢獻主義下若實施例及/或限制:(1)未在申請專利範圍中明確加以主張;以及(2)在等效主義下為或潛在為申請專利範圍中之明確元件及/或限制的等效者,則在此揭露之實施例及限制不貢獻給大眾。
Claims (16)
- 一種實體模擬引擎,包含:第一計算組件,其能夠建立視覺模擬迴路之第一階段的資料結構;第二計算組件,其能夠使用該資料結構執行該第一階段的第一計算;第三計算組件,其能夠針對該視覺模擬迴路之第二階段調適該資料結構;以及第四計算組件,其能夠使用該經調適的資料結構來執行該第二階段的第二計算。
- 如申請專利範圍第1項所述之實體模擬引擎,進一步包含:第五計算組件,其能夠針對該視覺模擬迴路之每一額外的階段調適該資料結構;以及至少一第六計算組件,其能夠使用該些經調適的資料結構之相應者來執行該視覺模擬迴路之每一額外階段的後續計算。
- 如申請專利範圍第1項所述之實體模擬引擎,其中:該視覺模擬迴路包含實體模擬階段、可見性計算階段、人工智慧階段、及呈現階段。
- 如申請專利範圍第3項所述之實體模擬引擎,其中:由第一處理裝置及第二處理裝置處置該視覺模擬迴 路;該第一處理裝置執行該人工智慧階段、該可見性計算階段、及該實體模擬階段之第一實例;以及該第二處理裝置執行該呈現階段及該實體模擬階段之第二實例。
- 如申請專利範圍第1項所述之實體模擬引擎,其中:該資料結構包含k d樹及包圍容體階層之一。
- 如申請專利範圍第1項所述之實體模擬引擎,其中:該第一階段為實體模擬階段且該第二階段為呈現階段;以及調適該資料結構包含執行表面面積試探(Surface Area Heuristic)。
- 如申請專利範圍第1項所述之實體模擬引擎,其中:該第一階段為呈現階段且該第二階段為實體模擬階段;以及調適該資料結構包含:辨別包含一根節點及葉節點之空間階層結構;辨別由該呈現階段使用之複數基元;以及以該複數基元的特定者填充該些葉節點。
- 一種用以處置視覺模擬迴路之處理系統,該處理系統包含: 第一處理裝置;及第二處理裝置,其中:該視覺模擬迴路包含跨該視覺模擬迴路之所有階段共享的共同資料結構;及該第一處理裝置能夠執行一組成該視覺模擬迴路之計算階段的第一子集,而該第二處理裝置能夠執行一組成該視覺模擬迴路之計算階段的第二子集。
- 如申請專利範圍第8項所述之處理系統,其中:該視覺模擬迴路包含實體模擬階段、可見性計算階段、人工智慧階段、及呈現階段;計算階段的該第一子集包含該可見性計算階段、該人工智慧階段、及該實體模擬階段之第一實例;及計算階段的該第二子集包含該呈現階段及該實體模擬階段之第二實例。
- 一種用以簡化一創造電腦產生的影像之程序的系統,該系統包含:電子顯示,其能夠顯示該電腦產生的影像;及實體模擬引擎,該實體模擬引擎包含:第一計算組件,其能夠建立視覺模擬迴路之第一階段的資料結構;第二計算組件,其能夠使用該資料結構執行該第一階段的第一計算;第三計算組件,其能夠針對該視覺模擬迴路之第 二階段調適該資料結構;以及第四計算組件,其能夠使用該經調適的資料結構來執行該第二階段的第二計算。
- 如申請專利範圍第10項所述之系統,進一步包含:第五計算組件,其能夠針對該視覺模擬迴路之每一額外的階段調適該資料結構;以及至少一第六計算組件,其能夠使用該些經調適的資料結構之相應者來執行該視覺模擬迴路之每一額外階段的後續計算。
- 如申請專利範圍第10項所述之系統,其中:該視覺模擬迴路包含實體模擬階段、可見性計算階段、人工智慧階段、及呈現階段。
- 如申請專利範圍第12項所述之系統,其中:由第一處理裝置及第二處理裝置處置該視覺模擬迴路;該第一處理裝置執行該人工智慧階段、該可見性計算階段、及該實體模擬階段之第一實例;以及該第二處理裝置執行該呈現階段及該實體模擬階段之第二實例。
- 如申請專利範圍第10項所述之系統,其中:該資料結構包含k d樹及包圍容體階層之一。
- 如申請專利範圍第10項所述之系統,其中:該第一階段為實體模擬階段且該第二階段為呈現階 段;以及調適該資料結構包含執行表面面積試探(Surface Area Heuristic)。
- 如申請專利範圍第10項所述之系統,其中:該第一階段為呈現階段且該第二階段為實體模擬階段;以及調適該資料結構包含:辨別包含一根節點及葉節點之空間階層結構;辨別由該呈現階段使用之複數基元;以及以該複數基元的特定者填充該些葉節點。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/732,392 US8275805B2 (en) | 2010-03-26 | 2010-03-26 | Method of decreasing a total computation time for a visual simulation loop in a virtual world application |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201428677A TW201428677A (zh) | 2014-07-16 |
TWI499998B true TWI499998B (zh) | 2015-09-11 |
Family
ID=44012775
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100108702A TWI421792B (zh) | 2010-03-26 | 2011-03-15 | 減少虛擬世界應用程式中之視覺模擬迴路的總計算時間之方法 |
TW102143767A TWI499998B (zh) | 2010-03-26 | 2011-03-15 | 實體模擬引擎,用以處置視覺模擬迴路之處理系統及用以簡化一創造電腦產生的影像之程序的系統 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100108702A TWI421792B (zh) | 2010-03-26 | 2011-03-15 | 減少虛擬世界應用程式中之視覺模擬迴路的總計算時間之方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8275805B2 (zh) |
KR (1) | KR101215126B1 (zh) |
CN (1) | CN102201127B (zh) |
DE (1) | DE102011014977A1 (zh) |
GB (1) | GB2479047B (zh) |
TW (2) | TWI421792B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965821B2 (en) | 2012-03-09 | 2018-05-08 | Nvidia Corporation | Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit |
US9697640B2 (en) * | 2014-04-21 | 2017-07-04 | Qualcomm Incorporated | Start node determination for tree traversal in ray tracing applications |
EP3201883B1 (en) * | 2014-09-30 | 2024-04-24 | CAE Inc. | Rendering damaged-enhanced images in a computer simulation |
US11494966B2 (en) | 2020-01-07 | 2022-11-08 | Disney Enterprises, Inc. | Interactive editing of virtual three-dimensional scenes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1304648A2 (en) * | 2001-10-18 | 2003-04-23 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
TW201014630A (en) * | 2008-10-06 | 2010-04-16 | Inventec Corp | Visual simulation system and method for exercise parameters |
US7729538B2 (en) * | 2004-08-26 | 2010-06-01 | Microsoft Corporation | Spatial recognition and grouping of text and graphics |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5816820A (en) * | 1996-09-18 | 1998-10-06 | Kelly Properties, Inc. | Simulation generation system |
NO304766B1 (no) | 1997-06-16 | 1999-02-08 | Sintef | Fingeravtrykksensor |
WO2002097780A1 (en) | 2001-05-25 | 2002-12-05 | Exluna, Inc. | System and method related to data structures in the context of a computer graphics system |
US7619633B2 (en) * | 2002-06-27 | 2009-11-17 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US7928993B2 (en) * | 2006-07-28 | 2011-04-19 | Intel Corporation | Real-time multi-resolution 3D collision detection using cube-maps |
US20080062183A1 (en) * | 2006-09-11 | 2008-03-13 | Bart Swaelens | Hybrid data structures for graphics programs |
GB2462860B (en) * | 2008-08-22 | 2012-05-16 | Advanced Risc Mach Ltd | Apparatus and method for communicating between a central processing unit and a graphics processing unit |
-
2010
- 2010-03-26 US US12/732,392 patent/US8275805B2/en active Active
-
2011
- 2011-03-15 TW TW100108702A patent/TWI421792B/zh not_active IP Right Cessation
- 2011-03-15 TW TW102143767A patent/TWI499998B/zh not_active IP Right Cessation
- 2011-03-17 GB GB1104574.7A patent/GB2479047B/en active Active
- 2011-03-24 DE DE102011014977A patent/DE102011014977A1/de active Pending
- 2011-03-25 CN CN201110081503.2A patent/CN102201127B/zh active Active
- 2011-03-28 KR KR1020110027614A patent/KR101215126B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1304648A2 (en) * | 2001-10-18 | 2003-04-23 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US7729538B2 (en) * | 2004-08-26 | 2010-06-01 | Microsoft Corporation | Spatial recognition and grouping of text and graphics |
TW201014630A (en) * | 2008-10-06 | 2010-04-16 | Inventec Corp | Visual simulation system and method for exercise parameters |
Also Published As
Publication number | Publication date |
---|---|
GB2479047A (en) | 2011-09-28 |
KR20110108321A (ko) | 2011-10-05 |
DE102011014977A1 (de) | 2011-10-27 |
GB201104574D0 (en) | 2011-05-04 |
US20110238680A1 (en) | 2011-09-29 |
TWI421792B (zh) | 2014-01-01 |
US8275805B2 (en) | 2012-09-25 |
CN102201127B (zh) | 2014-05-07 |
GB2479047B (en) | 2013-11-13 |
TW201203168A (en) | 2012-01-16 |
CN102201127A (zh) | 2011-09-28 |
KR101215126B1 (ko) | 2012-12-24 |
TW201428677A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8115767B2 (en) | Computer graphics shadow volumes using hierarchical occlusion culling | |
JP5063695B2 (ja) | 空間インデックスをトラバースする方法及びシステム | |
JP2018537755A (ja) | 中心窩ジオメトリテッセレーション | |
US20140002458A1 (en) | Efficient rendering of volumetric elements | |
JP2002507799A (ja) | コンピューターアニメーションの確率的な詳細レベル | |
Peng et al. | A GPU‐based approach for massive model rendering with frame‐to‐frame coherence | |
Govindaraju et al. | Interactive shadow generation in complex environments | |
JP2009116856A (ja) | 画像処理装置、画像処理方法 | |
TWI499998B (zh) | 實體模擬引擎,用以處置視覺模擬迴路之處理系統及用以簡化一創造電腦產生的影像之程序的系統 | |
CN111429561A (zh) | 一种虚拟仿真渲染引擎 | |
Loring et al. | A screen space GPGPU surface LIC algorithm for distributed memory data parallel sort last rendering infrastructures | |
US20240062453A1 (en) | Generation of tight world space bounding regions | |
Xue et al. | Efficient GPU out-of-core visualization of large-scale CAD models with voxel representations | |
KR20160068204A (ko) | 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체 | |
KR101467735B1 (ko) | 볼륨데이터를 위한 4차원 실시간 렌더링 방법 및 장치 | |
KR20120062542A (ko) | 영상 처리 장치 및 방법 | |
Choi et al. | Reactive mesh simplification for augmented reality head mounted displays | |
Al-Oraiqat et al. | Specialized Computer systems for environment visualization | |
WILLCOCKS | Sparse volumetric deformation | |
KR100624455B1 (ko) | 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치 | |
Frank et al. | The EnSight Visualization Application. | |
KR101072889B1 (ko) | 털 렌더링을 위한 앰비언트 오클루전 맵 생성 장치 및 방법 | |
Lou et al. | Environmental design with huge landscape in real-time simulation system | |
Sampaio et al. | A Re-Configurable Ray-Triangle Vector Accelerator for Emerging Fog Architectures | |
Peng et al. | Gpu-based streaming for parallel level of detail on massive model rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |