TW201414286A - 用以表現出三維景象之電腦圖形方法 - Google Patents

用以表現出三維景象之電腦圖形方法 Download PDF

Info

Publication number
TW201414286A
TW201414286A TW101134438A TW101134438A TW201414286A TW 201414286 A TW201414286 A TW 201414286A TW 101134438 A TW101134438 A TW 101134438A TW 101134438 A TW101134438 A TW 101134438A TW 201414286 A TW201414286 A TW 201414286A
Authority
TW
Taiwan
Prior art keywords
scene
projection
processor
shape pattern
computer graphics
Prior art date
Application number
TW101134438A
Other languages
English (en)
Other versions
TWI617178B (zh
Inventor
Bruce Robert Dell
Original Assignee
Euclideon Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Euclideon Pty Ltd filed Critical Euclideon Pty Ltd
Priority to TW101134438A priority Critical patent/TWI617178B/zh
Publication of TW201414286A publication Critical patent/TW201414286A/zh
Application granted granted Critical
Publication of TWI617178B publication Critical patent/TWI617178B/zh

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

一種用以產生三維景象之電腦圖形方法,用以實施於一電子處理器為基礎之系統上,包含步驟:由一資料結構提取出一資料以定義出一三維景象;當該景象之複數個部份滿足一預定之條件時,依據正交投影,將前述資料提取出來並呈現在該電子顯示裝置上;將該景象之其餘部份,依據透視投影,將前述資料提取出來並呈現在該電子顯示裝置上。又,本發明包含實施此方法之系統及軟體。其中,被表現出之景象係由該顯示裝置上顯示出,且其係具有完全依據此透視投影所呈現效果;藉此,本案所需之計算量係相對低於僅用透視投影表現出該景象時所需之計算量。

Description

用以產生三維景象之電腦圖形方法
本發明係有關一種用以產生三維景象之電腦圖形方法。
習知技術之方法、裝置或文件之任何參考資料,並不被用來構成任何之證據或承認,證明或承認其係已形成或是形成在世界上任何國家之一般通常知識的一部份。
三維(或簡稱3D)電腦圖形技術是被用來把描述三維景象的數據轉換成為能夠在一電子顯示幕上顯示之二維(或簡稱2D)影像。在此與包含整個申請專利範圍中所使用之詞「景象」,是被解讀為一廣義之概念,其可以包括非常複雜之景象,也可以只包括一些或單一物件之景象,甚至於簡單到只含有一個或多個可視之點。
電腦圖形技術在近二十年來已經不斷發展,其並不只限定於此一個領域,此領域係為電腦及視聽遊戲。
現今電腦遊戲之發展與市場是全球娛樂產業中之一個重要的區塊。例如,在2010年,電玩遊戲(Call of Duty:Black Ops)在正式零售之後五天,已超過650百萬美元之銷售額。
為了要讓遊戲玩家有更逼真之遊戲體驗,更多的發展已不斷注入此領域中,以便增加語詞及真實感,進而呈現遊戲景象。
當遊戲景象呈現時,其所代表之景象,例如在此景象之每個物件所扮隨之位置資訊,必須被遊戲機台之處理器所處理,再將此三維空間中之資訊轉換成為二維資訊,以便給顯示裝置顯示出來。此轉換必須考慮在此景象中之位置以及遊戲使用者之視角。因為人類是以正常之視覺系統進行按遠近比例縮小之透視投影,所以電腦圖形呈現方法通常也採用透視投影法。
透視投影是需要大量之計算,因為它們牽涉到三角運算,其係通常包括矩陣及向量相乘之運算。因此,在景象中所記錄的大量的細節,例如位置資料,一旦變多,則要呈現出此景象 所需之計算長度也一定隨之變多,然而這些額外的計算可能會導致遊戲之播放要降低其圖面更新率。
因此,可以理解在增加畫面真實度與維持圖面更新率兩者之間必須作一取捨或折衷。其中一種廣為採用之解決方式,是將要呈現之景象以複數個多邊形來取代。多邊形網格可以被用來呈現景象中之物體。此多邊形之後會被由3D轉換為2D,並且顯示給使用者觀看。為了要增加景象之細節以及高圖面更新率,例如ATI或NVIDIA製造商便發展了專為結合遊戲裝置所用之專業型圖形顯示處理器介面卡。
然而,多邊形系統在實施時仍然伴隨著許多限制。例如,因為多邊形有線性之邊界,它們不能簡易的用來表現出曲線之物件。再者,雖然使用了專業型圖形處理器,人類的眼睛仍然十分敏銳的察覺這些曲線之物件是由複數個多邊形之直線的邊緣所形成。結果,這種多邊形系統仍然是需要大量計算,但是並無法滿足精明敏銳的遊戲使用者。
因此,如果能研發一新的用以顯示三維景象之電腦圖形方法,其可解決前述習知技術所產生之問題或是至少提供另一有用的替代選項,將會是十分有利的。
根據本發明之第一實施應用例,係提供一種電腦圖形方法,用以實施於一電子處理器為基礎之系統上,該系統具有至少一處理器,其係用以控制一電子顯示裝置,該方法係包括下列操作該處理器之步驟:由一資料結構提取出一資料以定義出一三維景象;當該景象之複數個部份滿足一預定之條件時,依據正交投影,將前述資料提取出來並呈現在該電子顯示裝置上;及將該景象之其餘部份,依據透視投影,將前述資料提取出來並呈現在該電子顯示裝置上;其中,被表現出之景象係由該顯示裝置上顯示出,且其係具有完全依據此透視投影所呈現;藉此,該電子處理器係用以 表現出該景象之運算之一計算量係相對低於僅用透視投影表現出該景象時所需之計算量。
根據本發明之第一實施應用例,係提供一種電腦圖形方法,其可由一電子處理器為基礎之系統所實現,用以產生一景象之一部份是由正交投影,該方法係包括下列步驟:處理一資料結構以便將一三維(3D)景象由一電子顯示裝置顯示出;當將該景象中一部份滿足一預定條件時,此部份依正交投影來呈現出;及該景象之其餘部份則依透視投影來呈現出;藉此,該處理器對於該景象之計算量因使用了正交投影而相對低於完全只用透視投影之計算量。
在一較佳實施例中,其又包括:測試是否該景象滿足預定之條件,其包括將該複數個部份之尺寸、該透視投影之焦距與該顯示裝置之解析度。
最好是,本發明係包括:投影出複數個3D點,其係伴隨著該景象之複數個部份,且滿足由3D轉2D之預定條件,用以產生出一2D形狀圖樣;以及基於該2D形狀圖樣,決定將該景象之次部份的投影。
在一較佳實施例中,此方法包括:遞迴的更新該2D形狀圖樣,且依據已更新後之2D形狀圖樣來決定低階的次部份的投影。
該遞迴的更新該2D形狀圖樣的步驟係包括位元位移(bit shifting)值,其係代表該形狀圖樣之複數個頂點之座標值。
另外,該遞迴的更新該2D形狀圖樣的步驟可以包括:應用乘及加(multiply-and-add,MAD)或融合的乘及加(fused multiply-and-add,FMAD)之運算,以便算出代表該形狀圖樣之複數個頂點之座標之值。例如,此步驟可以包括乘以0.5以便能將複數個頂點之座標之值減半。
此該遞迴的更新該2D形狀圖樣的步驟可以包括:計算出一偏位值(offset),其係為前一次遞迴運算時之一形狀圖樣至一框出邊界之區塊之一最小值。
在一較佳實施例中,該資料結構係包括一八叉樹(Octree),且其中處理該資料結構之步驟中係包括該位元樹之逐一處理。
其中該資料結構包括一八叉樹,該複數個部份係對應至該八叉樹之父階及子階之八叉樹立方體。
最好是此方法包括:決定一順序以便依據相對於一預定之視點位置由前至後來處理該八叉樹。
另外,此方法係包括:測試一八叉樹子節點立方體邊界是否會與一視錐交插。
最好是,此方法中,在寫入該顯示器前進行一遮罩測試。
此方法也可在寫入該顯示器前進行一遮擋測試。
根據本發明之另一實施應用例,係提供一種電腦圖形系統,其包括一處理器,以便與一記憶體溝通,該記憶體用以儲存一三維(3D)景象之資料結構,並且能控制一顯示裝置,該處理器係能進行:處理此資料結構以便提取出定義該景象之資料;當將該景象中一部份滿足一預定條件時,此部份依正交投影來呈現出;及該景象之其餘部份則依透視投影顯示於該顯示裝置上;藉此,該處理器對於該景象之計算量因使用了正交投影而相對低於完全只用透視投影之計算量。
在一較佳實施例中,該電腦圖形系統之處理器更進一步被安排以進行:將該景象中滿足此預定條件之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣而決定該景象之次部份之投影。
在一較佳實施例中,該電腦圖形系統之處理器更進一步被 安排以進行:測試,以判斷該景象之部份是否滿足此預定條件,此條件之考慮包含:複數個部份之尺寸、該透視投影之焦距與該顯示裝置之解析度。
該電腦圖形系統之處理器更進一步被安排以進行:將該景象中滿足此預定條件之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣,而不使用3D轉2D之投影處理,而決定該景象之次部份之投影。
根據本發明之又一實施應用例,本發明係提供一電腦圖形軟體產品,其包括一電腦可讀取媒介,其載有有形的指令以便由一處理器執行,進而實現前述描述之方法。
根據本發明之另一實施應用例,本發明係提供一種電腦圖形方法,其可由一電子處理器為基礎之系統所實現,用以產生一景象之一部份是由正交投影,該方法係包括下列步驟:對於一部份之伴隨著一框出邊界之區塊之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣而決定該景象之次部份之投影。
根據本發明之另一實施應用例,本發明係提供一種電腦圖形軟體產品,其包括電腦可讀取媒介,其載有有形的指令以便由一處理器執行,進而實現前段所述之方法。
根據本發明之再一實施應用例,本發明係提供一電腦圖形系統,其包括一處理器,以便與一記憶體溝通,該記憶體用以儲存一三維(3D)景象之資料結構,並且能控制一顯示裝置,該處理器係能進行:處理此資料結構以便提取出定義該景象之資料;對於一部份之伴隨著一框出邊界之區塊之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣而決定該景象之次部份之投影。
根據本發明之另一實施應用例,本發明係提供一電腦圖形 方法,用以產生一影像,使其能顯示出一第一投影,該方法之執行係由一電腦系統,其包括至少一處理器,其用以控制一電子顯示裝置之複數個像素,該方法包括:用該第一投影於該電子顯示裝置上之影像之部份;及而一第二投影大體上接近該第一投影,其係以該第二投影產生該影像之其餘部份;其中該第二投影之計算量係少於較第一投影之計算量。
根據本發明之另一實施應用例,本發明提供一種電腦圖形方法,其可由一電子處理器為基礎之系統所實現,該方法係包括下列步驟:處理一資料結構以便將一三維(3D)景象由一電子顯示裝置顯示出;當將該景象中一部份滿足一預定條件時,此部份依正交投影來呈現出;及該景象之其餘部份則依透視投影來呈現出;藉此,該處理器對於該景象之計算量因使用了正交投影而相對低於完全只用透視投影之計算量。
現在請參閱第1圖,其係顯示一舉例之電腦系統1之流程圖,用以實施本發明之一實施例之方法。
可以瞭解的是,本電腦系統1係包括一個舉例說明之電子處理器為基礎之系統,用以實施此方法。然而,本方法也可以很容易的改以其它電子處理器為基礎之系統來達成,這樣的系統可以包括,但不限於,遊戲機、平板電腦(tablet)、筆記型電腦、小筆電(netbook)類之計算裝置、智慧型電話、及醫療影像設備。
此電腦系統1係包括一主機板3,其包括一電路,用以對至少一處理器5(或稱為板上內建之處理器,或微處理器)供電及中介連結。此至少一處理器5可包括兩個或更多處理器,或是複數個具有多個處理核心之處理器。
關於此處理器5(或微處理器),舉例而言,並不限與此例,其可為一目前執行電玩遊戲之個人電腦普遍使用之英特爾(Intel)公司所生產之i5及i7家族之微處理器。
此主機板3之功能係為介於該處理器5與第二記憶體7之間進行處理。此第二記憶體7可以包括一個或多個光學或電磁型或固態型之記憶裝置。此第二記憶體7係用來儲存對一作業系統9之指令。此主機板3同時也可與隨機存取記憶體11(或簡稱RAM)及唯讀記憶體13(或簡稱ROM)進行溝通。此唯讀記憶體13典型的是儲存對基本輸入輸出系統(或簡稱BIOS)之指令,此基本輸入輸出系統用來控制此微處理器5進行開機作業以及準備載入作業系統9之動作。
此主機板3亦連結至一圖形處理器單元15。可以瞭解的是,在一些系統上,此圖形處理器單元15(或簡稱GPU)係被整合於此主機板3上。
此主機板3將包括一通信適配器(communication adaptor),例如一LAN適配器或一數據機(modem),其系將此電腦系統1之資料透過網際網路(internet)之類之電腦網路而進行資料傳輸。
此電腦系統1與一使用者之間的介面可為一鍵盤19、一滑鼠21及一顯示器17(即電子顯示裝置)。
此電腦系統1之使用者可以操作此作業系統9而將一電腦圖形有關之軟體產品29載入。此電腦圖形有關之軟體產品29係透過一電腦可讀取之媒介,例如一光碟27(透過一光碟機22來讀取),來提供有形的說明或指示。當然,也可替換成是透過一埠23來進行下載。
此電腦圖形有關之軟體產品29係包括複數個資料結構,其係定義出遊戲之不同之景象。
此電腦圖形有關之軟體產品29係包括處理器5之複數個指令,而且可能是用於圖形處理器單元15上,以便能透過使用者之所輸入之資料,例如透過鍵盤19及滑鼠21,進而能控 制這些相對應之景象資料。
更進一步需要瞭解的是,有許多型式之電腦資料結構可以用來儲存景象資料。在本發明之一較佳實施例中,八叉樹(Octree)資料結構是可以被使用,然而,當這樣的資料結構被採用時,其他型式之資料結構也是可以被使用,例如二位元空間間隔樹(binary-space partitioning trees,簡稱BSP-trees)。
不論使用哪一種資料結構之型式被用來儲存此景象之位置資料,它必須能夠將資料由三維轉為二維,俾利顯示於此顯示器17上。
三維及二維圖形之主要差異之一是在於因為視點距離此投影及尺寸縮小之觀念。在第2圖中,當物件至視點之距離越遠,物件會變的更小。在三維圖形中,當要由三維轉為二維時,計算這個距離很顯著的增加許多工作。
請參閱第3圖,其係顯示一線框立方體(wireframe cube)31,用以在此電腦系統之顯示器17上表現出。此顯示器17有許多合適的型式,例如,它可為陰極射線管型(Cathode Ray Tube,簡稱CRT)、液晶螢幕(Liquid Crystal Display,簡稱LCD)、或是電漿型顯示器,以及其他不限型式之顯示科技產品可以被選用,作為本案之顯示器17。此線框立方體31之複數個頂點(vertices)及邊緣資料可以被儲存在前述任一適合的電腦系統1之資料結構中。
第4圖係顯示出在一個二維之一顯示器螢幕35上將該線框立方體31透過一單點投影,所顯示出之示意圖。
從該線框立方體31之複數個頂點至此拍攝視點(camera point)33之間有許多連線(rays)顯示出,其係穿透此顯示器螢幕35,以便呈現出此三維之線框立方體31之複數個頂點,及立方體模型邊緣轉換成二維時於此顯示器螢幕35所產生之顯示表面。關於此轉換,它可以稱為由三維轉二維之標準之投影法,此係為電腦圖形領域所週知,例如由佛利(Foley)、凡 丹(van Dam)、費納(Feiner)及修斯(Hughes)等著作之1990年2版之「電腦圖形原理及實務(Computer Graphics Principles and Practice)」,出版者為艾利森-衛斯里公司(Addison-Wesley),書碼為ISBN 0-201-12110-7,參考此書而將其融入於本案之說明中。
如前面所提到,投影轉換需要龐大的計算,因為它涉及到三角計算。
第5圖係顯示該線框立方體31之一視圖(view)37,其係由該拍攝視點(camera point)33所見之情況。簡單的說,這是此線框立方體31之單一視點之二維透視投影,並投影於此顯示器螢幕35上。為了要讓此線框立方體31視覺上看起來有三維立體感,此線框立方體31之後表面之顯示要比前表面小。
要注意的是,此線框立方體31之視圖37的後表面及前表面之投影,其間係間隔一距離T。
第7圖係顯示出在該線框立方體31內部之物體。由於這些物體位於該線框立方體31之前表面及後表面上,故會顯示出他們有不同之尺寸。
在一電腦系統中,例如第1圖之電腦系統1中,典型之顯示器螢幕35係包括一顯示型監視器(display monitor)或其他類型之裝置,例如第1圖中之顯示器17,其係包括如第6圖所示之複數像素之網格(grid)。
第8圖係為該線框立方體31之視圖37位於此像素網格(pixel gird)39中之放大示意圖。這些像素組成此網格,如所指出,其具有一名義寬度(notional width)及高度p。
為了要能藉由像素網格39之複數像素來顯示出視圖37,這些位於該視圖37上方之像素將被設定為對比色(例如黑色,如圖所示之舉例)。此最後形成像素影像即如第9圖所示。
要注意的是,因為此線框立方體31之視圖37之後表面及前表面間之距離T係大於三個相鄰之像素之寬度,故第9圖中之相對應之像素影像允許其前表面及後表面是彼此分隔開的。
第10圖係有些類似第4圖之顯示,除了它代表了一個較小的三維立方體(3D cube)41(以平面圖來顯示)為於該顯示器螢幕35之投影,當它由此拍攝視點(camera point)33來觀看時。因為此處所使用之焦距(focal length)遠比第4圖中長,所以其間以一非成比例之空間43’來表示。在第10圖中,此平行之連線(rays)45a’,45b’係代表該三維立方體41於該顯示器螢幕35之正交投影(orthogonal projection),其中,此逐漸縮合之連線47a’,47b’則代表透視投影(perspective projection)。
另外值得注意的是,由於此較小的三維立方體41以及使用於透視投影中之較長的焦距,此正交投影之連線(rays)45a’及45b’以及伴隨著此透視投影之相對應成對之連線47a’及47b’,經一距離後將會漸縮而交會,此距離係比此顯示器螢幕35之一個像素的寬度p還小。
第11圖係為此三維立方體41之透視投影之一示意圖,其中,該拍攝視點33係位於該顯示器螢幕35之像素網格39上。
同樣的,第12圖係為此三維立方體41之正交投影之一示意圖,其中,該拍攝視點33係位於該顯示器螢幕35之像素網格39上。
值得注意的是,第11圖之透視投影與第12圖之正交投影是落在相同之像素網格39上。結果,此實際的影像會在該顯示器螢幕35之像素網格39上產生,而且,此即電腦系統之使用者(或一遊戲玩家)所見之情況,如第13圖及第14圖所示,這兩個投影係相同。此投影係比第9圖的投影小。由於它變的比較小,此前表面及後表面之間的距離是無法觀察到的,而且在此圖中,此立方體變成四方形的。
如果在此三維立方體41中呈現一個物件,不論它是在此前表面或後表面上,將不會顯現出較大或較小。
就技術上來說,在前表面及後表面之間應該有一個差異,但是由於電腦顯示器螢幕35是由像素組成之複數網格,當此 差異變得太小且小於一個像素以內時,則此差異就不存在。正常來說,三維計算使用透視投影法,但是由於在前表面及後表面之間並無尺寸上之差異,所以不同之計算被使用時,都未將透視投影列入考量。
當上述之展示是使用單點之投影,本發明係發現相關之結果也可以適用於兩點或是三點之投影。
由上述之討論可以瞭解,根據一個要被表現之三維物件之尺寸大小,以及根據一些參數,例如在視面(viewing plane)之後的距離與所使用的焦距,也許在螢幕上會觀察不到使用正交投影法所產生之物件與使用透視投影法所產生之物件之差異。然而,透視投影法比正交投影法需要更大量之計算。
另外,線框立方體31及三維立方體41均可以被當成是複數個框出邊界之區塊(bounding boxes,或簡稱區塊)。結果是,如果在此三維立方體41之情況下,使用正交投影來呈現出此框出邊界之區塊,則落在此框出邊界之區塊內之某一景象之任何物體也可以用此正交投影式來呈現。
因此,發明人發現,藉由一電子顯示裝置之有效運作之複數個像素,對於那些採用透視投影與採用正交投影時會產生一顯著的差異的物件則使用透視投影,而對於其餘之物件則採用正交投影,如此以產生一景象,其整體上看起來像是採用透視投影轉換來的。
另外,稍後將會解釋,在本發明之方法之一較佳實施例中,是有可能產生一景象之八叉樹(Octree)之八分之一子節點(octants,簡稱子節點)之2D投影,此係用整體之八叉樹父節點立方體(parent octant cube)之2D投影之基礎下之八叉樹,而非由3D至2D空間逐一對每一八叉樹子節點進行投影。
第15圖係顯示一景象,其包括三個造型為香菇狀之物件,重疊於一整體之八叉樹立方體(Octree cube)43之內部空間中。此八叉樹立方體43係被存為如第1圖所示之電腦系統之記憶體之資料結構。為了能清楚表達,只有此八叉樹之整體 的八叉樹立方體43係用連續之線條來表示,而其第一階八叉樹子節點立方體(first eight child octants)45a,...,45h,則以虛線來顯示,如第15圖所示。然而,在電腦圖形技術中所知,此八叉樹子節點立方體繼續對此景象中之呈彎曲之物體進行進一步之分割,直至該解析度之一預定限度。如第16圖所示,其係包括第15圖之八叉樹之一切割,其中進一步具有三階之八叉樹子節點(octants)49,51及53。
根據本發明之一較佳實施例之方法,本發明現在以第17圖至第23圖來詳細說明。
第17圖係顯示出一景象其包括了三個非常簡單之物件,並以3D之立方體(cubes)55,57,59來表示。為了有利於解說本案之目的,電腦系統是被操作而顯示出一第1圖中之景象之2D畫面,其係如第17圖所指出之視角63。
第18圖係顯示出一整體之八叉樹立方體61,其係被再進一步分割成複數個八叉樹子節點立方體,用以顯示出第15圖中之模型。為了方便解釋說明之目的,如第10圖之三維立方體41之關係之解釋,當採用正交投影而非透視投影時,此八叉樹立方體61之總體體積係是沒有明顯的差異。
此整體之八叉樹立方體61係被分割成八個第一階子節點立方體,且分別編號為0至7。其中之編號5之子節點立方體又進一步分割成八個第二階子節點立方體。第一階之編號3及4之子節點立方體及第二階之編號3之子節點立方體則形成第17圖中之景象中之複數個立方體55,57,59。
此八叉樹立方體61被儲存於第一圖之電腦系統之記憶體中,以一資料結構型態儲存,其包括之八叉樹如第19圖所示。
為了能夠顯示出第17圖之景象而被理解,此八叉樹之各節點是被全部讀取的,相對於此視角63,由前至後之方向的順序讀遍。
伴隨著遮擋剔除(occlusion culling)之主要運算是找出一個框出邊界之區塊的長寬高尺寸。在一個八叉樹之系統中, 它通常牽涉到搜集一個圍繞立方體之八個值,再由3D世界之空間轉換為3D螢幕空間,然後儲存這些值以決定水平及垂直之最小值及最大值。在一投影基礎之系統中,因為它要對每一個框出邊界之區塊進行計算,所以這需要非常多的計算工作。如前面稍早提到的,根據本發明之一較佳實施例,其優點是具有下列之概念,亦即將真實世界/物件打破而成為許多較小的正交投影區域。因為正交投影區域之框出邊界之區塊當進行八叉樹資料處理時,只有它們的父節點之尺寸之四分之一,所以使用這些區域來找出框出邊界之區塊之尺寸可以減半之水平邊緣及減半之垂直邊緣來取代。
在電腦圖形領域技術中均已知,在八叉樹系統中,有八個不同之觀看區塊可被觀看,根據視角落在哪一個區塊,可以將八叉樹由前視至後視而轉換成一個順序表。在第16圖所示之情況下,其視點是落在+x,+y,+z,之區塊中,而此八叉樹由前視至後視而轉換之順序為“7,6,5,3,4,2,1,0”。
現在請參閱第20圖,整個八叉樹立方體61是由八個3D頂點座標P(x0,y0,z0),...,P(x7,y7,z7)是正交投影於一想要之視面(viewing plane)65且觀看方向為視角(viewing angle)63,藉此以產生一包括八個2D頂點P(x0,y0),...,P(x7,y7)之立方體之2D投影67。請參閱第21圖,此八個2D頂點P(x0,y0),...,P(x7,y7)所定義出之2D投影67之複數個頂點,可以被稱為「形狀圖樣」(原文為form pattern),因為它們定義此八叉樹之投影之形狀。更進一步來說,因為此投影是正交投影,它們也定義出其形狀;當等比例縮小時,這些八叉樹子節點之投影之形狀亦隨之縮小,而且在此情況下不會使用到透視投影。
在第21圖中,此複數個頂點是由複數個邊緣相連接來顯示,然而,這些邊緣是不會出現在最後呈現出之第17圖之景象中。此形狀圖樣之八個頂點(vertices)P0(x0,y0),…,P7(x7,y7)係儲存於一陣列中,其順序與八叉樹之觀看順序相 同,例如FPArray=[P7,P6,P5,P3,P4,P2,P1,P0]。
第19圖中所示之八叉樹是由前至後的順序來讀取,如第18圖之視點,結果為7,6,5,3,4,2,1,0。
因為節點7是空的,所以無動作。
因為節點6是空的,所以無動作。
因為節點5是一子節點,故此程序將向下一階進行。
在下一階中:因為節點7是空的,所以無動作。
因為節點6是空的,所以無動作。
因為節點5是空的,所以無動作。
因為節點3是一個「葉頁點」(leaf node),所以將會為子節點5之子節點3呼叫一葉頁點副程式(即Leaf Node副程式)。此Leaf Node副程式將會稍後解釋。
因為節點4是空的,所以無動作。
因為節點2是空的,所以無動作。
因為節點1是空的,所以無動作。
因為節點0是空的,所以無動作,此程序將跳至上一階。
因為節點3是一個葉頁點,所以將會為子節點3呼叫一Leaf Node副程式。
因為節點4是一個葉頁點,所以將會為子節點4呼叫一Leaf Node副程式。
因為節點2是空的,所以無動作。
因為節點1是空的,所以無動作。
因為節點0是空的,所以無動作。
此Leaf Node副程式是傳送至此形狀圖樣(Form Pattern)陣列,此框出邊界之區塊MinPoint及MaxPoint與此葉頁點(Leaf Node)資訊。
此框出邊界之區塊之左上角(在本例中剛好與八叉樹立方體61之頂點(x0,y0)相同,此八個頂點(x0,y0),...,(x7,y7)之原點即為頂點(x0,y0))。
此Leaf Node副程式之後則針對此八個頂點(x0,y0),...,(x7,y7)進行操作,將它們切半,以產生另外新的八個點(x0,y0)2,…,(x7,y7)2,如第19及21圖所示。此八個點(x0,y0)2,…,(x7,y7)2定義出第18圖所示之八叉樹立分體61之八叉樹子節點2之投影,如第22圖中之標號2’所示。值得注意的是,藉由切半(或稱切開divide)此定義出整體的八叉樹立方體之2D投影後之頂點,而能得到此投影。並不需要將八叉樹子節點2進行之3D頂點之投影至此視面上。結果,這八個點(x0,y0)2,…,(x7,y7)2係由該框出邊界之區塊之最小值(minimum;此例為虛線之區塊之左上角)偏移(offsets)。利用位元移位運算(bit shift operation),可將相對於該八個頂點至此該框出邊界之區塊之最小值(minimum)之間的值(values)切半。每一個新的點(x0,y0)2,…,(x7,y7)2之值係被再次切半而形成另外之八個次點(sub points),例如:(x0,y0)3,…,(x7,y7)3,對應於下一階之每一八叉樹子節點。舉例而言,如第22圖中之子節點立方體投影5-3’所示。
當八叉樹中之八叉樹子節點為葉頁點時,它們是被塗上陰影的(即上色的),如第23圖所示,藉此以產生一個如第17圖所示之景象。物件之尺寸,如第23圖中所示之立方體,是足夠小,以致於若將它們用正交投影與用透視投影所呈現的差異是不顯著的,理由如前面有關第1至13圖之討論。
如果此形狀圖樣(form pattern)方法並未連接至一個具有終止分支的八叉樹資料時,此方法將產生一浮點之固態立方體。當此分支是空的,藉由連接至八叉樹資料及此模樣未折疊狀(unfolded of the pattern),它在事實上,使用了類比原則(analog),雕刻出此形狀圖樣(form pattern),如同是石膏。此終端物件全都具有相同的特徵,且形成一個物件,其係使用3D轉2D數學計算之傳統技術。但是,若在運算能力上,此形狀圖樣(form pattern)之技術僅花了少許時間及運算。
此父節點立方體之投影形狀是由2D之正交投影點 (x0,y0),...,(x7,y7)所定義,它可以被稱為「形狀圖樣」(form pattern),因為它定義了各部份,亦即,此不只是最高階之八叉樹父節點,還包括由其衍生出之八叉樹子節點,都會由正交投影產生此形式。而此「形狀圖樣」也有許多變化亦能被實施。
例如,這些頂點通常被儲存為八個”x”值及八個”y”值,例如:(x0,y0),...,(x7,y7)如前所述。然而,也有可能只收集四個”x”值及”y”值,然後將已收集到之值進行偏移(offsets)離開一中心點,而得到其餘之值。此中心點係對此3D立方體之中心點進行2D投影,如前所述之運作,或是採用前面提及之框出邊界之區塊(如第21圖區塊69)之2D中心點。一旦這些偏移取得之後,利用將其值之符號相反,則有些點可以被產生。藉由收集此已討論過之複數個角落值,其餘之值可以用這個方法來產生。用變換符號(sign reversal)方法來產生點,只有在如第24圖中所示之立方體或菱柱為正交投影時,才會正確。
此「形狀圖樣」(form pattern)通常是對框出邊界之區塊69之四個角落其中之一進行偏移。另一替代方式則為,它可以是該框出邊界之區塊69內之任一點或是該框出邊界之區塊69所定義範圍之外之一點,它們也有可能是在所有要讀取值之處並沒有偏移,而成為它們目前所有之像素點之未變更之值。然而,使用框出邊界之區塊69之四個角落其中之一是被認為是有容易瞭解之益處,在此情況下,左上角(如第21圖中之”Min”)剛好與第25圖中螢幕之左上方之位置(0,0)相同。
呈現3D圖形中與處理器最相關之一因素就是由3D世界轉換至2D的螢幕。通常此過程包含了相當多的數學運算。此將「形狀圖樣」(form pattern)減半以及加入這些減半之點於它們的上一階(父階)之形狀圖樣之點,將會產生出與正常3D轉成2D之結果相同。
在較佳實施例中,計算此形狀圖樣時並不必使用到乘法、除法或繁雜之運算。取而代之的是整個系統中只需用到位元移 位(BIT SHIFT)及加法(ADD)。在透視投影基礎之3D圖形中之正常情況下,如果要被呈現之物件是被分割成正交投影之複數個次部份,本方法將無法運作。如前所述,本系統對於此不尋常之狀態卻有其優勢。
關於第26圖、第27圖及第28圖,根據本發明之一較佳實施例之一種方法,用以處理八叉樹資料結構,其係可造形出將要被呈現之景象,由流程圖來表示。此方法可以被撰寫為程式,亦即成為有形的、電腦可讀取之指令,例如第1圖之光碟27;因此,它能夠構成一個能在該電腦系統1上執行之一電腦之軟體產品29。
關於在第26圖至第28圖中之流程圖之每一方格中所執行之不同之程序,在此詳述如下。
在方框83中,此遮罩緩衝器(mask buffer)被清除為零。此遮罩緩衝器係為一系列之旗標(flags),每一個都對樣此顯示器緩衝器之中之每一個像素,它指出是否一像素是被寫入那個位置。藉著此數學算式所提供之由前至後的順序,每一個像素只需被寫入一次。此遮罩緩衝器作用是,當所有的像素重疊於已經寫入之2D框出邊界之區塊時,對於一節點(node)及其下所有的子節點均不動作。
在方框84中,每一節點可以形成零至八個子節點。一旦某一節點下所有的子節點都已處理完時,則由堆疊器(stack)跳出,並不再被考慮。
在方框85中,對於遞迴之實施,由堆疊器最上層之節點來處理,且很單純的由此功能返回。在一疊代(iteration)處理過程中,此堆疊器之大小可以降至1。
在方框86中,當此堆疊器中已無節點可處理時,整個模型已被處理完。
在方框87中,此子節點是由前至後之順序來處理,若被處理過則被標記,以便成決定何時此節點不被再被考慮(參閱方框84)。
在方框88中,父節點是被標記,以進行正交模式,一旦它或其父節點符合正交投影模式標準時,參閱方框101及102。
在方框89中,與後視面交叉之節點必須再被分割,以便能夠避免數學上之不正確。
在方框90中,現有的節點是被推入此堆疊器中,以確定它的子節點(若出現)將會在下一步進行處理。
在方框91中,在正交投影模式中,藉由讀取儲存於此正交投影資料中之此2D框出邊界之區塊之尺寸,以及由於此正交投影資料已產生,而將每一個上一階資料除以2,以計算此2D框出邊界之區塊。也就是說,該節點之子節點若符合正交投影模式(參閱方框101),將具有一剛好為一半之邊界之區塊之尺寸,其係儲存於該正交投影資料緩衝器。此孫子節點將會剛好為四分之一之邊界之區塊之尺寸,依此類推。在實務上,當此正交投影緩衝資料被產生時的這個時後,此堆疊器之尺寸可以被儲存至此正交投影緩衝資料中,而且此堆疊器之尺寸係每一次會被除以2。根據此值,利用位元位移(binary shift)可以達成此分割,其係比一般之分割運算快很多。一旦此框出邊界之區塊被計算出,利用選擇此區塊偏移量值,基於其子節點數量以及從其父節點以下每一階除以2之方式,並且加上儲存於此正交投影緩衝器中之框出邊界之區塊之位置,此偏移量(offset)可以被計算。
在方框92中,在一透視投影模式中,藉由使用在現有節點之3D框出邊界之區塊之八個角落所透過完全之透視投影至一螢幕空間而轉換之均值之標準差(standard means),此2D框出邊界之區塊是被計算出來。一般說來,此是一個4x4之矩陣(matrix),其係為3d向量相乘得到一4d向量(x,y,z,w),其中之w部份係為一個因數(divisor)以便進行最後之透視投影轉換。它可以被理解,根據本發明之一較佳實施例之系統中,是被設計以儘可能的避免這個步驟。
在方框93中,一旦一個2D的框出邊界之區塊被計算後, 測試看看它是否會在此螢幕之邊緣重疊,而且如果如此,將隨之調整座標以便只反應此重疊於該顯示器的緩衝器之區塊的部份。如果此框出邊界之區塊全部都落在該顯示器的緩衝器之外,此節點將不在被考慮且控制進行方框84之處理,以便進行該節點之其餘子節點。
在方框94中,由於是由前至後之抽出順序,一旦任一節點之框出邊界之區塊之中的所有像素都已被寫完時,此節點係被阻擋或遮擋(occluded),且不再被考慮。是藉由測試該遮罩緩衝器中的每一個旗標,其係對應此框出邊界之區塊之區域,此測試將可以被完成,如果在此遮罩緩衝器中所有的像素都被標記為已寫過後,則此節點可以被排除,並且控制本系統進行方框84之處理。
在方框95中,如果在此處理過成中某一節點沒有子節點,則該點將被抽出(參閱方框97)。
在方框96中,如果此框出邊界之區塊係等於或小於某一門檻值(threshold value)(例如1像素),則此節點將被抽出。此為重要的,因為將1像素再切割成各小部份是沒有必要的。
在方框97中,抽出一節點,在此遮罩緩衝器中,對應此選定的2D框出邊界之區塊之每一個像素將被測試。當有一個像素還未被寫入,則在此顏色緩衝器(color buffer)相對應之像素是被設成此節點之顏色,且此遮罩緩衝器是被設定。另外,在此時其他的緩衝器也可以被寫入以便記錄相關資訊,例如深度值(depth value),及/或正常值(normal value)。
在方框98中,此目前之節點是被推入此堆疊器中以便確認其子節點之後會被處理到。
在方框99中,一旦一節點符合正交投影之標準,該節點下之所有子節點也絕對會被視為符合正交投影的,所以此旗標及此正交投影緩衝器資料(orthogonal buffer data)將會被複製,以繼續套用此正交投影模式至其下之子節點。
在方框100中,如果某一節點之祖先(ancestor;意指父 節點)符何此正交投影模式標準時,此正交投影模式旗標是被設定於此節點中。
在方框101中,此正交投影模式係被測試。如前面有關第3至15圖之已討論過之內容,以資格上之項目而言,標準(criteria)如下:當以透試投影而投影此區塊於螢幕空間時,此區塊背後顯的比區塊前面小(基於透視投影效果)之數量若小於1像素時,亦即不會被注意到時,當光柵化時(rasterising,意指將物件轉換成對應圖元點的過程)。有許多方式可以測試它,但是因為藉由將向量除以w會產生透視投影效果(如方框92中所討論),以在一區塊之前面之一轉換點及在區塊後面之一轉換點之間的w值之比例,來進行測試,是方便簡單之測試法。而實際之門檻值則依此顯示緩衝器之焦距及尺寸而定。無論何時若這些參數改變時,它必須要重新計算。
所以,監視及實施正交投影模式係為下列之兩部份。
在第一個部份中,它涉及到預先計算此最佳的門檻值(當顯示尺寸或焦距(視野)有改變時,則進行更新),而且,此第二部份涉及在呈現過程時之應用此門檻值。
如前所述,此核心的邏輯很簡單;當由投影出之前面及後面之座標分隔小於1.0像素(或其他類似之容許值)時,我們希望能知道。
也許有一種方法能夠直接的計算出此值,在目前採用二分搜尋法(binary search)。在一個nearZ及一個farZ之間,標準的二分搜尋法係演算如下:在此點之一對值nearPoint=(1,1,1)且farPoint=(1,1,-1)進行轉換,加入(0,0,midZ),其中之midZ是介於該nearZ及farZ之中間點值。
如果此投影之點X,Y之delta值(delta)小於此像素之門檻值,則此門檻值之點就被定位。
由二分搜尋法,使用此轉換後之點(其係為X,Y,Z,W),至後進行fixedWRatio=nearW/farW之計算。
此8個區塊之點(每一個點之X,Y,Z,W)將會在透視投影模 式過程下進行計算。
藉由計算X,Y,W Min及W Max(注意此處之W),此框出邊界之區塊可以被決定。
此現有之W Ratio(即W比)也可依下列工式算出curWRatio=minW/maxW。
若(curWRatio>=fixedWRatio),則將進入正交模式。由此可知,因1/w通常被計算當作透視投影轉換之一部份,故可以利用此乘以該倒數來取代除法,此為常見之浮點最佳化。
同時,也會注意到此方法有些不同於傳統之比較delta x,y,對於一像素門檻值,假定為24(此亦由由二分搜尋法或嘗試錯誤法來計算)。
上述所討論之方法是較優的,在於它允許此八叉樹之節點儘快能進入此正交投影模式中,而無關於該節點在螢幕上之相對位置。否則,一個旋轉的節點之框出邊界之區塊有可能與此門檻值測試之結果相差高達40%(亦即:根號2),因此,它導致直到進一步之再分割才會進入至正交投影模式之時間延後。
可以理解到,這個方法是很合理的,雖然投影之結果是較小尺寸之框出邊界之區塊,原因是此x/w y/w,亦即w之相對比例導致能將x,y值按透視投影法縮短。故,測視w是更合乎邏輯且更準確。
可評量之標準之其他指標包括在螢幕空間中之立方體之一邊之長度,或在螢幕空間中包含此立方體之一球體之直徑。
在方框102中,此正交緩衝資料係包括此節點之在八叉樹中之深度/位階(藉由堆疊器中之現有長度所指出)、此節點之2D之框出邊界之區塊、此8個轉換後之螢幕空間點,其係由此2D之框出邊界之區塊之左上角偏移一距離。
總之,利用將他們分割及追蹤包含立方體之內容的過程,正交投影模式可在該八叉樹之節點進行運作。此正交投影模式程序能避免此3D至2D之轉換而改用等比例運算,例如藉由遞迴的減半,一個由複數個2D點所組成之組,亦即「形狀圖樣」 (form pattern)代表一較高位階八叉樹節點之投影,以便能夠達到一相對應之點所組成之組,俾能代表一子節點之投影。
當它們的透視投影與正交投影之八叉樹子節點中並無明顯差異時,正交投影才會被採用,如方框88中所測試之程序,所以當一觀看者看此被呈現之景象時,會察覺到如同全部用透視投影轉換之景象。雖然每一個次部份在正交投影出所呈現出之景象並沒有內部透視,而透視投影係存在於那些次部份之間。故,雖然在內部靠近背部之某一次部份並不會變小,對於此觀看者所關心的部份而言,整個次部份仍具有適當的尺寸。
當這些不同尺寸之次部份之組合產生了一個具有透視投影感之3D影像,其效果係相同於採用極多數學運算之3D系統所產生之影像,但是卻大幅減少了運算量。
為符合法規,本發明較多採用文字描述,而較少採用結構上的或是方法上之特點。此用語”包括”及其同義詞,例如”包含”或”由什麼組成”,均是被認為是全部都被包含在內之等義詞,並且不排除再附加於於其上。可以瞭解的是,本發明並不被限制於所顯示或所敘述之特定特徵,因為在此所描述之技術手段係包括能使本發明據以實施之較佳型式。也就是說,針對本發明中內容,若熟習本領域之人士進行之適當之修改成任何形式,均仍在後面所附之申請專利範圍之保護範圍內。
整個說明書及申請專利範圍中,除文義另有所指外,此用語”大體上”或”大約”被理解為非限定於此符合範圍之值。
1‧‧‧電腦系統
3‧‧‧主機板
5‧‧‧處理器
7‧‧‧第二記憶體
9‧‧‧作業系統
11‧‧‧隨機存取記憶體
13‧‧‧唯讀記憶體
15‧‧‧圖形處理器單元
17‧‧‧顯示器
19‧‧‧鍵盤
21‧‧‧滑鼠
22‧‧‧光碟機
23‧‧‧埠
27‧‧‧光碟
29‧‧‧軟體產品
31‧‧‧線框立方體
33‧‧‧攝視點
35‧‧‧顯示器螢幕
37‧‧‧視圖
39‧‧‧像素網格
41‧‧‧三維立方體
43’‧‧‧空間
45a’,45b’‧‧‧連線
47a’,47b’‧‧‧連線
43‧‧‧八叉樹立方體
45a,..45h‧‧‧第一階八叉樹子節點立方體
49,51及53‧‧‧八叉樹子節點
55,57,59‧‧‧立方體
61‧‧‧八叉樹立方體
63‧‧‧視角
65‧‧‧視面
67‧‧‧投影
69‧‧‧區塊
5-3’‧‧‧子節點立方體投影
T‧‧‧距離
p‧‧‧高度
藉由說明書之詳細說明,已提供足夠之資訊讓熟習本領域人士能瞭解本案之較佳特徵、實施例及其變化。詳細說明部份並非限制本發明之範圍,詳細說明係配合參考下列之圖式:第1圖係能執行本發明之一實施例之電腦系統之示意圖
第2圖係顯示透視投影下之物體之示意圖
第3圖係一包含一個簡單景象之框線立方體之示意圖
第4圖係此框線立方體之透視投影之示意圖
第5圖係為此框線立方體之透視投影之平面示意圖
第6圖係為包含一矩形像素陣列之顯示器螢幕之示意圖
第7圖係為在一立方體中之物體在透視時之示意圖
第8圖係將第6圖之透視投影重疊於第7圖之矩形像素陣列上之示意圖
第9圖係利用第7圖之螢幕將此立方體之透視投影呈現出來之示意圖
第10圖為比較正交投影(亦即平行)與透視投影時將此立方體投影至一像素顯示器上之示意圖
第11圖係為第10圖之立方之透視投影重疊於此像素顯示器上之示意圖
第12圖係為第10圖之立方之正交投影重疊於此像素顯示器上之示意圖
第13圖係為利用此像素顯示器螢幕來呈現第10圖之立方體之透視投影之示意圖
第14圖係為利用此像素顯示器螢幕來呈現第10圖之立方體之正交投影之示意圖
第15圖係為由一八叉樹結構來定一範例景象之高階的八叉樹立方體之示意圖
第16圖係為第15圖之八叉樹立方體結構進一步切割至更低階之八叉樹子節點之示意圖
第17圖係為依據本發明來呈現一簡單三維景象之示意圖
第18圖係為依據第17圖之景象將八叉樹立方體再分割之示意圖
第19圖係為依據第18圖之八叉樹資料結構之節點分支狀態之示意圖
第20圖係為第18圖之八叉樹立方體之最高階之3D至2D的正交投影之示意圖
第21圖係為第18圖之立方體之正交投影之示意圖
第22圖係為顯示如何僅使用2D至2D的技術而不採用3D至 2D投影之最高階立方體所定義出之頂點來衍生出子階的立方體之投影之示意圖
第23圖係為第17圖之景象被呈現出來之示意圖
第24圖係為在某一立方體之2D投影時採用正交投影模式時之一替代方法之示意圖
第25圖係顯示某一立方體之2D投影之頂點如何偏離此顯示螢幕的原點之示意圖
第26圖、第27圖及第28圖係分別為依據本發明之一較佳實施例之方法之流程圖
65‧‧‧視面
67‧‧‧投影
69‧‧‧區塊

Claims (22)

  1. 一種電腦圖形方法,用以實施於一電子處理器為基礎之系統上,該系統具有至少一處理器,其係用以控制一電子顯示裝置,該方法係包括下列操作該處理器之步驟:由一資料結構提取出一資料以定義出一三維景象;當該景象之複數個部份滿足一預定之條件時,依據正交投影,將前述資料提取出來並呈現在該電子顯示裝置上;及將該景象之其餘部份,依據透視投影,將前述資料提取出來並呈現在該電子顯示裝置上;其中,被表現出之景象係由該顯示裝置上顯示出,且其係具有完全依據此透視投影所呈現之效果;藉此,該電子處理器係用以表現出該景象之運算之一計算量係相對低於僅用透視投影表現出該景象時所需之計算量。
  2. 一種依據請求項1之方法,其係包括:測試是否該景象滿足預定之條件,其包括將該複數個部份之尺寸、該透視投影之焦距與該顯示裝置之解析度。
  3. 一種依據請求項1之方法,其係包括:投影出複數個3D點,其係伴隨著該景象之複數個部份,且滿足由3D轉2D之預定條件,用以產生出一2D形狀圖樣;以及基於該2D形狀圖樣,決定將該景象之次部份的投影。
  4. 一種依據請求項3之方法,其係包括:遞迴的更新該2D形狀圖樣,且依據已更新後之2D形狀圖樣來決定低階的次部份的投影。
  5. 一種依據請求項4之方法,其中,該遞迴的更新該2D形狀圖樣的步驟係包括:對代表該形狀圖樣之複數個頂點之座標之值進行位元位移(bit shifting)。
  6. 一種依據請求項5之方法,其中,該遞迴的更新該2D形狀圖樣的步驟係包括:計算出一偏移值(offset),其係為前一次遞迴運算時之一形狀圖樣至一框出邊界之區塊之一最小值 之間的值。
  7. 一種依據前述1至6其中任一請求項之方法,其中該資料結構係包括一八叉樹(Octree),且其中處理該資料結構之步驟中係包括該位元樹之逐一處理。
  8. 一種依據請求項7之方法,其中該複數個部份係對應至該八叉樹之父階及子階之八叉樹立方體。
  9. 一種依據請求項7或8之方法,其係包括:決定一順序以便依據相對於一預定之視點位置由前至後來處理該八叉樹。
  10. 一種依據請求項7至9其中之一之方法,其係包括:測試一八叉樹子節點立方體邊界是否會與一視錐交插。
  11. 一種依據請求項6至10其中之一之方法,其包括:在寫入該顯示器前進行一遮罩測試。
  12. 一種依據請求項6至11其中之一之方法,其包括:在寫入該顯示器前進行一遮擋測試。
  13. 一種電腦圖形系統,其包括一處理器,以便與一記憶體溝通,該記憶體用以儲存一三維(3D)景象之資料結構,並且能控制一顯示裝置,該處理器係能進行:處理此資料結構以便提取出定義該景象之資料;當將該景象中一部份滿足一預定條件時,此部份依正交投影來呈現出;及該景象之其餘部份則依透視投影顯示於該顯示裝置上;藉此,該處理器對於該景象之計算量因使用了正交投影而相對低於完全只用透視投影之計算量。
  14. 一種依據請求項13之系統,其中該電腦圖形系統之處理器更進一步被安排以進行:將該景象中滿足此預定條件之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣而決定該景象之次部份之投影。
  15. 一種依據請求項14之系統,其中該電腦圖形系統之處理器更進一步被安排以進行: 測試,以判斷該景象之部份是否滿足此預定條件,此條件之考慮包含:複數個部份之尺寸、該透視投影之焦距與該顯示裝置之解析度。
  16. 一種依據請求項14或15之系統,其中該電腦圖形系統之處理器更進一步被安排以進行:將該景象中滿足此預定條件之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣,而不使用3D轉2D之投影處理,而決定該景象之次部份之投影。
  17. 一種電腦圖形系統,其包括一電腦可讀取媒介,其載有有形的指令以便由一處理器執行,進而實現依據請求項1或12中任一項之方法。
  18. 一種電腦圖形方法,其可由一電子處理器為基礎之系統所實現,用以產生一景象之一部份是由正交投影,該方法係包括下列步驟:對於一部份之伴隨著一框出邊界之區塊之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣。
  19. 一種電腦圖形軟體產品,其包括電腦可讀取媒介,其載有有形的指令以便由一處理器執行,進而實現依據請求項18之方法。
  20. 一電腦圖形系統,其包括一處理器,以便與一記憶體溝通,該記憶體用以儲存一三維(3D)景象之資料結構,並且能控制一顯示裝置,該處理器係能進行:處理此資料結構以便提取出定義該景象之資料;對於一部份之伴隨著一框出邊界之區塊之3D點進行3D轉2D之投影,以產生一2D之形狀圖樣;及基於此2D之形狀圖樣而決定該景象之次部份之投影。
  21. 一電腦圖形方法,用以產生一影像,使其能顯示出一第一投影,該方法之執行係由一電腦系統,其包括至少一處理器,其用以控制一電子顯示裝置之複數個像素,該方法包 括:用該第一投影於該電子顯示裝置上之影像之部份;及一第二投影大體上接近該第一投影,其係以該第二投影產生該影像之其餘部份;其中該第二投影之計算量係少於較第一投影之計算量。
  22. 一種電腦圖形方法,其可由一電子處理器為基礎之系統所實現,用以產生一景象之一部份是由正交投影,該方法係包括下列步驟:處理一資料結構以便將一三維(3D)景象由一電子顯示裝置顯示出;當將該景象中一部份滿足一預定條件時,此部份依正交投影來呈現出;及該景象之其餘部份則依透視投影來呈現出;藉此,該處理器對於該景象之計算量因使用了正交投影而相對低於完全只用透視投影之計算量。
TW101134438A 2012-09-20 2012-09-20 用以表現出三維景象之電腦圖形方法、系統及軟體產品 TWI617178B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101134438A TWI617178B (zh) 2012-09-20 2012-09-20 用以表現出三維景象之電腦圖形方法、系統及軟體產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101134438A TWI617178B (zh) 2012-09-20 2012-09-20 用以表現出三維景象之電腦圖形方法、系統及軟體產品

Publications (2)

Publication Number Publication Date
TW201414286A true TW201414286A (zh) 2014-04-01
TWI617178B TWI617178B (zh) 2018-03-01

Family

ID=55181887

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101134438A TWI617178B (zh) 2012-09-20 2012-09-20 用以表現出三維景象之電腦圖形方法、系統及軟體產品

Country Status (1)

Country Link
TW (1) TWI617178B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI683281B (zh) * 2014-06-19 2020-01-21 荷蘭商皇家飛利浦有限公司 用於產生三維影像之方法及裝置
TWI686770B (zh) * 2017-12-26 2020-03-01 宏達國際電子股份有限公司 表面擷取方法、裝置及非暫態電腦可讀取記錄媒體

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3758643B2 (ja) * 2003-05-23 2006-03-22 株式会社三洋物産 遊技機
US20050243085A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Model 3D construction application program interface
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
KR101852811B1 (ko) * 2011-01-05 2018-04-27 엘지전자 주식회사 영상표시 장치 및 그 제어방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI683281B (zh) * 2014-06-19 2020-01-21 荷蘭商皇家飛利浦有限公司 用於產生三維影像之方法及裝置
TWI686770B (zh) * 2017-12-26 2020-03-01 宏達國際電子股份有限公司 表面擷取方法、裝置及非暫態電腦可讀取記錄媒體
US10719982B2 (en) 2017-12-26 2020-07-21 Htc Corporation Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof

Also Published As

Publication number Publication date
TWI617178B (zh) 2018-03-01

Similar Documents

Publication Publication Date Title
JP6159807B2 (ja) 3次元シーンをレンダリングするためのコンピュータグラフィックス方法
US11574438B2 (en) Generating three-dimensional virtual scene
CN106780709B (zh) 一种确定全局光照信息的方法及装置
CN102782728B (zh) 用于实时渲染的依赖于连接性的几何学优化
EP2831848B1 (en) Method for estimating the opacity level in a scene and corresponding device
KR100738107B1 (ko) 3차원 포인트 기반 모델링 장치 및 방법
CN107341846B (zh) 一种实时显示大规模三维重建场景的方法及设备
CN110309458B (zh) 基于WebGL的BIM模型显示及渲染方法
TW201015490A (en) Method and system for rendering 3D model of 3D object
JP5873672B2 (ja) 仮想環境のポイントにおいて受光された光の量の推定方法
CN104504760B (zh) 实时更新三维图像的方法和系统
Livnat et al. Interactive point-based isosurface extraction
CN109979013B (zh) 三维人脸贴图方法及终端设备
US20110134121A1 (en) Lighting environment simulation system and method
CN108074285B (zh) 体积云模拟方法和体积云模拟装置
US20160005210A1 (en) Rendering system and rendering method thereof
TWI617178B (zh) 用以表現出三維景象之電腦圖形方法、系統及軟體產品
CN116977598B (zh) 三角网格数值仿真平滑化的方法
Zhang et al. A geometry and texture coupled flexible generalization of urban building models
US11367262B2 (en) Multi-dimensional acceleration structure
Konev et al. Fast cutaway visualization of sub-terrain tubular networks
EP4386682A1 (en) Image rendering method and related device thereof
JP3711273B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置
WO2024037116A1 (zh) 三维模型的渲染方法、装置、电子设备及存储介质
Keeler et al. The spherical visibility map