TW201805894A - 三維渲染方法以及三維繪圖處理裝置 - Google Patents
三維渲染方法以及三維繪圖處理裝置 Download PDFInfo
- Publication number
- TW201805894A TW201805894A TW106115144A TW106115144A TW201805894A TW 201805894 A TW201805894 A TW 201805894A TW 106115144 A TW106115144 A TW 106115144A TW 106115144 A TW106115144 A TW 106115144A TW 201805894 A TW201805894 A TW 201805894A
- Authority
- TW
- Taiwan
- Prior art keywords
- voxel
- scene
- file
- present
- files
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本發明揭露一種三維渲染的方法,包含有取得具有複數個幾何物件的一場景,並對該場景進行第一體素化程序,以獲得第一體素場景;以及根據該場景以及第一體素場景進行第二體素化程序,以獲得第二體素場景;其中,第一體素場景包括複數個第一體素網格,第二體素場景包括複數個第二體素網格。
Description
本發明係指一三維渲染方法以及一三維繪圖處理裝置,尤指一種根據兩階段體素化以處理一場景運算的三維渲染方法以及裝置。
隨著虛擬實境技術的成熟,越來越多的虛擬實境裝置逐漸應用在可攜式電子裝置之上,除了對影像品質的要求提高之外,亦因為可攜式電子裝置之記憶體限制,使得在要求影像品質的同時,同時能夠有效率的降低記憶體消耗以提高成像品質,然而,先前技術並無法在提供高品質影像的同時亦達到有效率的記憶體消耗,因此提供高品質影像的同時亦達到有效率的記憶體消耗,即成為業界所共同努力的目標之一。
因此,本發明之主要目的即在於提供一種三維渲染方法及三維繪圖處理裝置,可以高解析度以及有效率的記憶體使用量處理影像,以改善先前技術之不足。
本發明實施例揭露一種三維渲染的方法,包含有取得具有複數個幾何物件的一場景,並對該場景進行第一體素化程序,以獲得第一體素場景;以及根據該場景以及第一體素場景進行第二體素化程序,以獲得第二體素場景;其中,第一體素場景包括複數個第一體素網格,第二體素場景包括複數個第二體素網格。
本發明實施例揭露一種三維繪圖處理裝置,包括一處理單元;以及一儲存單元用來儲存一程式碼,該程式碼指示該處理單元執行下列步驟取得具有複數個幾何物件的一場景,並對該場景進行一第一體素化程序,以獲得一第一體素場景;以及根據該場景以及該第一體素場景進行一第二體素化程序,以獲得一第二體素場景;其中,該第一體素場景包括複數個第一體素網格,該第二體素場景包括複數個第二體素網格。
全域照明(Global illumination)提供視覺擬真性對於許多的領域來說,例如電玩產業、建築業、照明設計以及電影製作上,都是相當的重要。近期許多模擬全域照明的發展都是藉由渲染方程式(Rendering equation)進行路徑積分的方式而實現,其中每條路徑由許多道的光線組成(即路徑分割),隨著場景裡平面上的雙向反射分布函數(Bidirectional reflectance distribution function)而改變。因此,要沿著光線行進方向查詢到第一遮蔽平面點的關鍵在於光線。而查詢的流程可以藉由採用特定的空間加速結構(Acceleration structure),例如包圍體階層(Bounding volume hierarchies,BVHs)以及k-維樹狀圖(k-d)。然而,建置並維護加速結構成本高昂,其限制了全域照明的普及。
對於間接照明,第一反射光線路徑包含有足夠的能量而足以滿足大部分的照明需求。許多第一反射光線路徑被用來在互動應用中快速地運算以近似間接照明。而為更進一步加速流程,場景中的幾何圖形被簡化為點或是體素,而被接著的光照度查詢直接照明。相較於查詢光線或是圓錐光線的光照度,不完美陰影圖(Imperfect shadow maps,ISM)將交會點查詢的流程簡化為在延期陰影圖上查詢可見度。此方法係以成像品質而在速度上勝過許多演算法,雖然許多互動技巧可以產生出擬真的視覺品質,但在進行精細光滑反射時還是會有許多的限制,尤其是在全動態場景中。
需注意的是,全域照明不一定需要提供確實的交會點,因此本發明提供一種方法量化交會點,以加速查詢的流程。本發明根據以體素化表示的場景來進行交會點的量化,藉由在體素化場景中的光線走訪(Traversing the ray),可以獲得每個交會點,再藉由第一個遮蔽體素的中心點為近似點。在測試的情況下,將會探討交會點的準確度與成像品質之間的關係。在本發明中,以1K3
或是更高體素的解析度進行成像,會產生與光線追蹤相當接近的結果。在高體素解析度下的記憶體消耗,本發明揭露一種兩階段二元體素化方法,將體素編碼為在繪圖處理器(Graphics Processing Unit GPU)中的2D紋理檔案(2-D texture)位元。因此,場景中的幾何圖形相較於其他互動式演算法,可以更佳地被表示出來。換句話說,本發明可以更加準確的產生全域照明,例如精細的光滑反射。除此之外,本發明亦可整合於許多應用上,包括第一反射間接照明,光滑折射,路徑追蹤,直接照明以及環境遮蔽以掩飾本發明在不同照明現象上的可行性。總結來說,本發明至少具以下貢獻:
基於緊密體素的量化交會點方法;
對於交會點準確度、成像品質以及記憶體使用的全面性評估;以及
對於不同照明效果的可實現性。
為產生全域照明,基於路徑積分的演算法利用了光線追蹤以產生路徑,並估算像素的強度,而交會點查詢的操作(即光線追蹤)在成像品質上相當的關鍵。而空間加速結構,如包圍體階層以及k維樹狀圖,已被發展來加速查詢的流程,而實際的交會點可藉由執行ray-triangle尋找實際的光線交會點。Optix,是一個適用於一般用途的光線追蹤應用程序介面(Application program interface,API)可提供使用者更簡單的方法以實現基於光線追蹤的演算法。
對於光線傳輸模擬,第一反射間接光線路徑大幅地助益了間接照明。此特性被大量的應用並開發出許多基於繪圖處理器的互動式演算法。根據即時輻射,例如反射陰影圖(Reflective shadow maps,RSMs)被用來儲存間接光源的第一次反射,存於繪圖處理器的延遲紋理作為光照度查照表,除此之外,許多演算法被提出以平衡反射陰影圖以達到即時性的成像效能。然而,這些方法大部分會因為缺少著色點與反射陰影圖之間的透視度評估,而使錯誤照明發生。
許多方法採用簡化的幾何圖形以近似可見度或是交會點評估,而非查詢原始的幾何圖形,這些方法可以被歸類為兩類,點狀結構與體素結構,並於後續進行討論。
點狀方法:不完美陰影圖技巧利用稀疏的將場景離散化成為近似點,並以低解析度陰影圖進行遮蔽查詢,這些方法係用來近似虛擬點光源(Virtual point light,VPL)與著色點間的可見度,然而,這些方法常常會受限在低頻照明(例如擴散反射),並且在產生精細的照明(例如光滑反射)上有許多困難。以點狀表示的全域照明,會以相當緊密排列的取樣點以表示場景,其中包含有第一反射能量,並將其以點狀階層或是團狀進行管理。類似於基於不完美陰影圖的方法,可見度測試係藉由小型緩衝器(z-buffer)以判斷可見度。而藉由整合直接成照明的小框架緩衝器,可以推導出間接的貢獻。
基於體素之方法:另一種幾何圖像的近似法係藉由體素,因為其應用在繪圖晶片上的效率而受到廣泛使用。而基於體素的方法提出光傳播體積(Light propagation volume,LPV),其可藉由在體素間傳播能量以提供低頻間接照明,而接著會介紹因視角改變的巢狀網格結構,以提供對於靠近相機的場景高體素的解析度。雖然光傳播體積可即時在動態場景成像,然而在擴散以及低度光滑反射時會受到限制,更進一步,其會因為體素的解析度不足,而造成漏光的情況出現。而均勻體素格則在光線追蹤時以加速可見度評估,雖然體素全域照明可達到及時程成像效能,卻受限於近場間接照明,且只適用於擴散材質上。而體素圓錐追蹤法(Voxel cone tracing,VCT)則利用體素進行遮蔽以及光照度的查詢,每道圓錐光線會將它所行經的每個體素進行累加並且混和光照度。而對於記憶體效率而言,一般而言體素會被儲存在稀疏體素八叉樹(Sparse Voxel Octree,SVO)的資料結構中,然而,這仍會在高解析度的情況時,招致過多的記憶體使用量。而稀疏體素有向無環圖(Directed acyclic graph,DAG)則可以藉由允許節點分享向量到相同子樹上(subtree)以減少記憶體使用量。而在體素圓錐追蹤法中,另外一個方法可以藉由分層反射陰影圖(Layered Reflective Shadow Maps,LRSM),將光照資料編碼在分層的反射陰影圖中,以減少記憶體的負擔。
本發明提出一種簡單又有效率的方法,取代在光線追蹤時確實尋找到交會點的方法,其以量化近似的過程可以被推導。本發明將場景以均勻體素網格在N3
的解析度下離散化,其中每個體素被以二元對應函數(Binary mapping function)O
(v
) → {0,
1}二元化以辨識體素v
與場景中的幾何圖形是否重疊,而體素化之後的場景可被視為降低取樣的幾何圖形;而二元化的體素可在查詢交會點時當作幾何圖形的代表,因而投射光線以走訪體素網格可以獲得交會點。沿著光線行進方向(即O
(v
) = 1)時的第一個遮蔽光線的體素中心點會被採用為近似的交會點。當N
增加時,相對地近似誤差值會逐漸減低,而逐漸不影響成像結果。
然而,直接增加體素的解析度並不實際,因為記憶體的消耗係隨著解析度N
的增加而以立方倍數改變,舉例來說,以2K3
的均勻體素網格解析度表現一個場景(每個體素需要一位元)即需要1GB的記憶體,對於許多成像應用上是相當大的負擔。因此本發明提出兩階段體素化的方式,利用雙層體素的架構以減輕記憶體消耗的負擔。
首先,請參考第1圖,第1圖繪示本發明方法的示意圖,先將場景粗分為M 3
個粗體素網格vc
,M
必須小於N
。接著,若O
(vc
)的值為1的時候,再將每個粗體素網格分別切為K3
個細體素網格vf
,且K
=N/ M
,而上標的c與f分別代表粗與細的階層。請參考表1,經由兩階段的體素化,本發明在大部分2K3
體素的解析度場景中的記憶體消耗不會超過200MB。以光線走訪的角度而言,本發明的查詢方法亦為如第2圖所示之兩階段的查詢過程,其中沿著光線方向第一個遮蔽光線的體素中心點即被用來作為在查詢交會點時的近似點。
本發明所提出實現於繪圖處理器的兩階段體素化方法介紹於以下篇幅中。由於場景中幾何圖形的遮蔽資料被表示為二元體素,本發明將遮蔽資料編碼在2D紋理格式的位元中。而被粗離散化為M 3
個粗體素的場景被編碼為一M
×M
的2D紋理資料,而此2D紋理資料視為粗體素圖(Coarse voxel image,CVI),而粗體素中的細體素被存為2D影像區塊,所有的區塊會緊密的包在一個大的2D紋理檔案中,即體素區塊圖譜(Voxel patch atlas,VPAs),並且如果需要的話可儲存在一個2D紋理陣列中。而體素區塊圖譜中指向體素區塊的位址被儲存在一個分開的3D紋理檔案中紋素的前31個位元,而最後一個位元則用來辨別該位址是否為有效位址,第3圖繪示本發明方法的一個例子,其中M
為4且N
為12。
本發明提出的兩階層體素化方法如第4圖所示,首先藉由先前技術中基於繪圖處理器的體素化方法將場景以M3
體素的解析度以體素化,本發明根據對應的3D紋理檔案中紋素的座標,以標記片段著色器,而非產生輔助緩衝器至所有的體素片段。對於每個被標記的3D紋理檔案的紋素,本發明藉由將畫素混合適當的數值,以將對應於在粗體素圖中被編碼的相同體素之位元設定為1。而為在體素區塊圖譜中緊密封裝體素區塊,本發明利用原子計數器(Atomic counter)以記錄體素區塊圖譜中下一個可利用位置的索引,用來分別為每個空間產生個別的位址。最終,將成像目標的尺寸設為N
並且啟動另一個繪圖指令,一旦當體素片段自光柵化(Rasterization stage)產生後,體素區塊原本歸屬的位址就會由3D紋理檔案中獲得,而體素區塊圖譜中的紋素也會相對應的更新。值得注意的是,在產生體素區塊圖譜的時候,體素區塊圖譜的紋素可能會同時被複數個片段更改,因此,本發明須利用imageAtomicOr
指令來避免記憶體的競爭危害,而體素區塊由於imageAtomicOr
指令的關係,在本發明實施例中被固定為32×32的尺寸大小。
兩階段二元光線行進(Two-phase binary ray marching)是光線體素交會測試的延伸,並且繪示於第5圖中。首先,藉由向粗體素網格放射出光線以獲得光線所在的粗體素網格vc
位置,如第6圖所示,本發明可接著計算限界方塊B
(vc
)的延伸與光線之交會點xc far
,而限界方塊B
( c
)則定義為涵蓋了體素v
在Z軸方向延伸至場景邊界的限界方塊。而交會點則用來沿著粗體素網格的深度方向以形成粗階層光線位元Bitmask,而藉由取得對應於粗體素圖中的紋素可以獲得遮蔽的粗體素Bitmask。接著,將上述Bitmask經由及閘(AND)即可獲得粗體素交會點Bitmask,mc inters
。若在交會點Bistmak中沒有設定位元,即代表Bitmask值為0,本發明藉由將光線位置前進至xc far
以進行下一階段的粗體素,否則,若交會點Bitmask值為1時,在第一個遮蔽的粗體素vc l
內沿著Z軸方向啟動細階層的光線走訪,而vc l
代表在mc inter
中由最低有效位元(Least significant bit,LSB)算起的第l
個位置。
而細階層體素光線走訪的程序與粗階層類似,但其發生於體素區塊圖譜的體素區塊。一旦找到遮蔽的細階層體素時,該體素的中心點即被用來近似為交會點,否則,則會回到粗階層更新粗階層Bitmask並進行粗階層光線走訪。本發明將粗階層Bitmask減去整數2 l
以更新粗階層Bitmask,並且繼續粗階層的光線走訪直到粗階層Bitmask減少至0,本發明對粗體素圖以及體素區塊圖譜建立輸出紋理(Mipmap)。本發明的方法與體素全域照明的差別在於,本發明可以更準確地提供交會點,其為在進行更細節的光滑反射成像時的關鍵。
本發明的方法可以概述於流程80中,如第8圖所示,流程80包含有以下步驟:
步驟800:開始。
步驟802:取得具有複數個幾何物件的一場景,並對該場景進行第一體素化程序,以獲得第一體素場景。
步驟804:根據該場景以及第一體素場景進行第二體素化程序,以獲得第二體素場景;
步驟806:結束。
第9圖另揭露本發明實施例一三維繪圖處理裝置90,包含有處理單元900以及儲存單元902,儲存裝置902可用來指示處理單元執行流程80的步驟,以實現本發明兩階段體素化。
除此之外,以下將說明本發明在尋找交會點上的準確度,並說明根據不同體素解析度量化對成像品質的影響,同時,分析本發明的兩階層體素化。
為將量化交會點進行量化,本發明量測交會點誤差如下:
就成像品質而言,接著探討對於在不同體素解析度下的第一反射間接照明。為判斷在細緻的光滑反射上量化交會點的影響,DRAGON BOX以及SPONZA場景中的地板將設定為光滑反射。本發明根據場景中平面上的雙向反射分布函數,對每個著色點投射出1024道最終蒐集光線並進行取樣,查詢場景中的欠採樣(under-sampled)交會點時,常常會產生過遮蔽(over-occlusion)或欠遮蔽(under-occlusion)的情況,如第6圖以及第7圖分別所示。以1283
的體素解析度為例,光線溢漏(即欠遮蔽)的情況會發生在DRAGON BOX場景中圓球以及牆壁之間的交會點。
而在CONFERENCE的場景中,鄰近椅腳的間接陰影也消失了,這樣的偽影(Artefact)在許多基於體素的技巧中都會出現,甚至若過度近似於幾何,這樣的情形會更加嚴重。在SPONZA的例子中,當設定5123或更低的體素解析度時,在藍色窗簾以及花瓶上的光滑反射則會嚴重的被破壞,而若是設定在較高的體素解析度時,就可以有效的降低偽影的情況發生,因此,可以得到若要為精細的間接照明成像時,使用1K3
或是更高的體素解析度會較為適合。
除此之外,使用本發明方法的應用包含有第一反射間接照明,光滑反射,路徑追蹤,直接照明以及環境遮蔽(Ambient occlusion)等,若無特地說明,以下皆以OpenGL 4.2以及GL著色語言以實現本發明應用。
第一反射間接照明:G-buffer緩衝器以及反射陰影圖個別以光線以及視線接收的角度進行成像,場景中的幾何藉由所提出的兩階段體素化技巧在1K3
的體素解析度下進行體素化並且二元化,接著,16道最終蒐集光線投射向每個著色點,並根據雙向反射分布函數以蒐集第一反射光照度。一旦沿著光線方向找到遮蔽體素時,本發明比較儲存於反射應引圖中投射像素所儲存的位置以及遮蔽體素的中心點。若兩點位置小於δ=max(δv,δr)時,其中δv以及δr分別為在體素中心的體素尺寸以及反射陰影圖中的像素尺寸,則取得儲存在反射陰影圖像素裡的光照度以進行累加,否則,排除此光線的特性。在成像上應用了雙向的濾波技巧來降低雜訊,而除了基於高斯分布的權重之外,本發明另提出一種介於擴散以及光滑反射間類似的輔助法,藉由光亮度以防止在邊緣上的過度平滑。
本發明藉由插入第一反射光照度至2563
的體素網格中來應用體素圓錐追蹤法,並以各向異性過濾(Anisotropic filtering)輸出紋理的技術輸出,與體素全域照明相比,本發明方法在精細的光滑反射時會產生更好的結果,例如在HORSE SPONZA場景中的馬腿以及藍色窗簾上的反射。而在體素全域照明中,欠遮蔽的情況會造成圖像較為明亮,如BUDDHA BOX裡面的背面牆壁以及地板。而這情況會隨著使用體素圓錐追蹤法而更加惡化,例如BUDDHA BOX中佛像頭部以及HORSE SPONZA中地板上的旗幟反射。這是因為第一反射光照度總是預先濾波過的,並且與圓錐光線所通過的體素進行混和。藉由本發明所提出的兩階段架構,本發明可以高解析度將一場景體素化並且獲得更準確的交會點。
表3為本發明方法與體素全域照明、體素圓錐追蹤法、以及Optix技術在HORSE SPONZA中的表現比較。本發明與其他方法皆可達到互動性的速率,並可產生精細的光滑反射以構築全動態場景。而本發明體素化方法每個階段的耗費時間係表列於表4中。
光滑折射:本發明可根據特定影像空間另外延伸出光滑折射。首先,本發明取得背面紋理上的相對折射率以及標準,標記為BackFace紋理,而為了在折射面上的著色點成像,必須根據折射特性產生許多折射光線,而藉由將折射光線走訪(Traverse)體素化的場景,可得到近似的交會點。接著,本發明將交會點投射向BackFace紋理以參考相對折射率以及對應的標準。而射出的折射光線可由背對之表面產生,而射出的折射光線可以藉由本發明的方法以查詢近似的交會點,而產生的圖片會藉由雙向濾波器以移除雜訊。
路徑追蹤:本發明的方法可應用於路徑追蹤。將所以幾何以及光照度儲存在體素中在高解析度的時候會消耗大量的記憶體。本發明係以減輕記憶體用量之方法以產生路徑。為了分割路徑,本發明利用將場景體素化之後並保留會使用到的體素。因此在不同的紋理中可以保留路徑的傳輸輛以及路徑的功能。除此之外,本發明之方法還可以支援互動式操作。
直接照明:直接照明藉由在光源上的著色點以及取樣光的能見度測試評估以產生準確的陰影。由於直接照明已經有一些提出的方法可以加速流程的進行,而與提出的方法類似,本發明利用體素以作為幾何近似來評估直接照明的遮蔽。藉由採用適當的體素解析度,本發明與直接照明相比得到可與之比擬的結果,其標準化方均根差(Normalized root mean squared error,NRMSE)相當小。
藉由緊密編碼的方法以及兩階層的結構,可以以適當的記憶體使用量以儲存遮蔽資料,然而,當大部分的體素區塊中只有小部分的位元數被設定,會使得記憶體使用較為沒有效率。這樣的情況會出現在大部分是由大片三角形所構成的幾何圖形場景中,舉例來說,在體素區塊圖譜中,只有3.1%的設定位元,而為了有效的表述場景類型,稀疏體素八叉樹或者是稀疏體素有向無環圖可為更佳的選項。雖然稀疏體素有向無環圖無法以互動性的速度建置,但在記憶體使用量上,其較本發明為更有效率。舉例來說,將SPONZA以2K3
的體素解析度進行體素化,如表2所示,稀疏體素有向無環圖僅需消耗4MB的記憶體空間,而本發明需要大約128MB的記憶體空間。
雖然本發明的方法以量化交會點可以適當的記憶體使用量提供良好的間接照明,但仍然有部分限制,首先,當體素與幾何圖形的比例過大的時候,會受到欠遮蔽的限制,當在大場景中聚焦觀察微細物體的時候,偽影的情況會更加明顯,其次,由於場景離散化的關係,難以提供如鏡面般的反射品質,而此項限制亦會影響到許多採用其他幾何近似以達成可見度以及光照度查詢的互動演算法。更進一步,在高度光滑的反射平面上,會更容易出現暫時閃爍的情況,其係因為在著色點上複雜的幾何細節,導致限制光線數量的時候所蒐集到的變異量升高的原因。
總結而言,本發明揭露一基於緊密體素法的量化交會點方法,其中在高解析度時該方法的記憶體使用量可以有效率的降低。而全面性的評估更指出本發明在1K3
的體素解析度以及適當程度的記憶體使用量下,可以提供相當高還原度的照明。除此之外,本發明亦提出應用於繪圖處理器上的兩階段體素化技,本發明方法可在互動性速度進行全動態場景成像,最後,此方法與數個應用方法整合,以演示在不同照明現象的可行性。本發明亦應用於許多一版來說僅應用標準陰影映射的光照程像系統中,或是應用於光線追蹤以解決許多在虛擬點光源以及著色點之間的可見度測試。本發明方法可在成像性能以及成像品質之間很取得相當好的平衡。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
80‧‧‧流程
800、802、804、806‧‧‧步驟
90‧‧‧三維繪圖處理裝置
900‧‧‧處理單元
902‧‧‧儲存單元
800、802、804、806‧‧‧步驟
90‧‧‧三維繪圖處理裝置
900‧‧‧處理單元
902‧‧‧儲存單元
第1圖為本發明實施例一兩階段體素化之示意圖。 第2圖為本發明實施例一兩階段體素化之示意圖。 第3圖為本發明實施例一兩階段體素化之示意圖。 第4圖為本發明實施例一兩階段體素化之示意圖。 第5圖為本發明實施例一兩階段體素化之示意圖。 第6圖為本發明實施例一兩階段體素化之示意圖。 第7圖為本發明實施例一兩階段體素化之示意圖。 第8圖為本發明實施例一流程之示意圖。 第9圖為本發明實施例一三維繪圖處理裝置之示意圖。
80‧‧‧流程
800、802、804、806‧‧‧步驟
Claims (8)
- 一種三維渲染的方法,包括: 取得具有複數個幾何物件的一場景,並對該場景執行一第一體素化程序,以獲得一第一體素場景;以及 根據該場景以及該第一體素場景執行一第二體素化程序,以獲得一第二體素場景; 其中,該第一體素場景包括複數個第一體素網格,該第二體素場景包括複數個第二體素網格。
- 如請求項1所述之方法,其中該第一體素化程序係將該場景均勻分為該複數個第一體素網格,並將該場景之該複數個幾何物件對應的該複數個第一體素網格進行標記,以產生該第一體素場景。
- 如請求項1所述之方法,其中該第二體素化程序係將該第一體素場景均勻分為該複數個第二體素網格,並將該場景之該複數個幾何物件對應的該複數個第二體素網格進行標記,以產生該第二體素場景。
- 如請求項1所述之方法,另包括: 產生一第一檔案,以儲存該第一體素場景; 產生複數個第二檔案,以儲存該第二場景; 產生一第三檔案,以儲存該複數個第二檔案;以及 產生一第四檔案,以儲存由該第三檔案指向該複數個第二檔案的複數個位址; 其中,該第一檔案、該複數個第二檔案以及該第三檔案的檔案格式為2D紋理檔案格式。
- 一種三維繪圖處理裝置,包括: 一處理單元;以及 一儲存單元用來儲存一程式碼,該程式碼指示該處理單元執行下列步驟: 取得具有複數個幾何物件的一場景,並對該場景進行一第一體素化程序,以獲得一第一體素場景;以及 根據該場景以及該第一體素場景進行一第二體素化程序,以獲得一第二體素場景; 其中,該第一體素場景包括複數個第一體素網格,該第二體素場景包括複數個第二體素網格。
- 如請求項5所述之三維繪圖處理裝置,其中該儲存單元另指示該處理單元執行下列步驟,以執行該第一體素化程序,獲得該第一體素場景: 將該場景均勻分為該複數個第一體素網格,並將該場景之該複數個幾何物件對應的該複數個第一體素網格進行標記。
- 如請求項5所述之三維繪圖處理裝置,其中該儲存單元另指示該處理單元執行下列步驟,以執行該第二體素化程序,獲得該第二體素場景: 將該第一體素場景均勻分為該複數個第二體素網格,並將該場景之該複數個幾何物件對應的該複數個第二體素網格進行標記。
- 如請求項5所述之三維繪圖處理裝置,其中該儲存單元另指示該處理單元執行下列步驟: 產生一第一檔案,以儲存該第一體素場景; 產生複數個第二檔案,以儲存該第二場景; 產生一第三檔案,以儲存該複數個第二檔案;以及 產生一第四檔案,以儲存由該第三檔案指向該複數個第二檔案的複數個位址; 其中,該第一檔案、該複數個第二檔案以及該第三檔案的檔案格式為2D紋理檔案格式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662332482P | 2016-05-06 | 2016-05-06 | |
US62/332,482 | 2016-05-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201805894A true TW201805894A (zh) | 2018-02-16 |
Family
ID=60244076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106115144A TW201805894A (zh) | 2016-05-06 | 2017-05-08 | 三維渲染方法以及三維繪圖處理裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170323471A1 (zh) |
TW (1) | TW201805894A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986195A (zh) * | 2018-06-26 | 2018-12-11 | 东南大学 | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10169909B2 (en) * | 2014-08-07 | 2019-01-01 | Pixar | Generating a volumetric projection for an object |
WO2019045144A1 (ko) * | 2017-08-31 | 2019-03-07 | (주)레벨소프트 | 의료용 항법 장치를 위한 의료 영상 처리 장치 및 의료 영상 처리 방법 |
EP3467782A1 (en) * | 2017-10-06 | 2019-04-10 | Thomson Licensing | Method and device for generating points of a 3d scene |
US10776985B2 (en) * | 2018-03-17 | 2020-09-15 | Nvidia Corporation | Reflection denoising in ray-tracing applications |
US10580196B1 (en) * | 2018-08-10 | 2020-03-03 | Nvidia Corporation | Method for continued bounding volume hierarchy traversal on intersection without shader intervention |
US10991079B2 (en) | 2018-08-14 | 2021-04-27 | Nvidia Corporation | Using previously rendered scene frames to reduce pixel noise |
JP7206705B2 (ja) * | 2018-08-30 | 2023-01-18 | 富士フイルムビジネスイノベーション株式会社 | 三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラム |
US10943387B2 (en) * | 2018-08-30 | 2021-03-09 | Nvidia Corporation | Generating scenes containing shadows using pixel noise reduction techniques |
US11062500B2 (en) * | 2018-12-28 | 2021-07-13 | Intel Corporation | Apparatus and method for ray tracing with grid primitives |
CN111489448A (zh) * | 2019-01-24 | 2020-08-04 | 宏达国际电子股份有限公司 | 检测真实世界光源的方法、混合实境系统及记录介质 |
US10698562B1 (en) | 2019-04-30 | 2020-06-30 | Daqri, Llc | Systems and methods for providing a user interface for an environment that includes virtual objects |
CN113628316B (zh) * | 2020-05-08 | 2023-12-01 | 辉达公司 | 使用射线锥进行各向异性纹理滤波的技术 |
US11443475B2 (en) * | 2020-05-08 | 2022-09-13 | Nvidia Corporation | Techniques for ray cone tracing and texture filtering |
CN114283245B (zh) * | 2022-03-04 | 2022-06-14 | 中科计算技术创新研究院 | 基于三维模型层次化隐式场的渲染方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5371221B2 (ja) * | 2007-09-11 | 2013-12-18 | プロメテック・ソフトウェア株式会社 | 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法 |
WO2013022804A1 (en) * | 2011-08-05 | 2013-02-14 | Caustic Graphics, Inc. | Systems and methods for 3-d scene acceleration structure creation and updatting |
US9367956B2 (en) * | 2012-06-27 | 2016-06-14 | Pixar | Windowed simulation in fluid flows |
-
2017
- 2017-05-08 US US15/588,725 patent/US20170323471A1/en not_active Abandoned
- 2017-05-08 TW TW106115144A patent/TW201805894A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986195A (zh) * | 2018-06-26 | 2018-12-11 | 东南大学 | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 |
CN108986195B (zh) * | 2018-06-26 | 2023-02-28 | 东南大学 | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170323471A1 (en) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201805894A (zh) | 三維渲染方法以及三維繪圖處理裝置 | |
Ritschel et al. | Micro-rendering for scalable, parallel final gathering | |
CN110728740B (zh) | 虚拟摄影测量 | |
Hadwiger et al. | Advanced illumination techniques for GPU volume raycasting | |
CN108986195B (zh) | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 | |
US6803910B2 (en) | Rendering compressed surface reflectance fields of 3D objects | |
US6791542B2 (en) | Modeling 3D objects with opacity hulls | |
US6903738B2 (en) | Image-based 3D modeling rendering system | |
US20230052585A1 (en) | Importance sampling for determining a light map | |
US20100085360A1 (en) | Rendering in scattering media | |
TWI514315B (zh) | 取樣階層式深度地圖的系統、方法,及電腦程式產品 | |
Yao et al. | Multi‐image based photon tracing for interactive global illumination of dynamic scenes | |
US11854141B2 (en) | Early release of resources in ray tracing hardware | |
Reinbothe et al. | Hybrid Ambient Occlusion. | |
Sabbadin et al. | High Dynamic Range Point Clouds for Real‐Time Relighting | |
Arikan et al. | Multi-depth-map raytracing for efficient large-scene reconstruction | |
KR100951121B1 (ko) | 간접 조명 효과를 위한 렌더링 방법 | |
Mavridis et al. | Global Illumination using Imperfect Volumes. | |
Chajdas et al. | Scalable rendering for very large meshes | |
Finn | Evaluation of Performance and Image Quality for Voxel Cone Tracing | |
Chen et al. | Quantizing Intersections Using Compact Voxels | |
Archer et al. | Fast raycasting using a compound deep image for virtual point light range determination | |
Hardy et al. | 3-view impostors | |
US20230274493A1 (en) | Direct volume rendering apparatus | |
Jaspe Villanueva | Scalable exploration of 3D massive models |