新四季網

三維控制籠構造方法與流程

2023-10-28 09:26:52 1


本發明屬於計算機圖形學領域,具體涉及一種三維模型的控制籠構造方法。



背景技術:

現在很多計算機圖形學應用中,隨著硬體設備的性能越來越強大,用戶對顯示效果的要求也越來越高。由於對應用中使用的目標模型要求也越來越精細,細節更多,所需頂點數更多。另外隨著三維圖形的廣泛應用,用戶構造出大量的三維網格模型,而且還在不斷增加。

用戶構造出三維模型,通常不僅僅是原封不動地進行顯示,而是會在應用過程中,對它進行控制或編輯。由於精細模型的頂點越來越多,直接對它的頂點進行控制或編輯,往往操作比較冗餘,難度比較大,計算量比較多。比如:對模型進行變形操作,直接對頂點進行逐個操作是不可行的。基於相鄰區域的變形相似的思路,現在主要有兩類網格變形方法:曲面變形和空間變形。空間變形需要藉助一些點、線、面或網格為媒介,構造出可變形空間,從而通過調整媒介,使空間變形,從而間接地使處在空間內的原模型發生變形。其中一類空間變形方法,依賴控制網格計算出變形用的坐標,比如:格林坐標[Lipman Y, Levin D, Cohen-Or D. Green coordinates. ACM Trans. on Graphics, 2009,27(3):78.],在變形過程中可以迅速計算出結果,所以被廣泛研究和應用。其使用的控制網格是與原模型形狀相似,但為頂點數較少的包圍網格,也稱做Cage或控制籠。其優勢在於把直接處理高精度複雜模型的棘手問題轉化為對控制籠的間接處理,把算法的複雜度與模型複雜度與其表示方式分離,可大大降低算法複雜度,並擴展算法的適用性。這就需要對不同的模型構造對應的控制籠,所以快捷構造對應的控制籠很值得研究。

針對Cage(即控制籠)構造,已經有了一些研究成果。Xian等人提出基於體素化的自動cage生成方法。 [Xian CH, Lin HW, Gao SM. Automatic generation of coarse bounding cages from dense meshes. In: Yong JH, Spagnuolo M, eds. Proc. of the IEEE International Conference on Shape Modeling and Applications. Los Alamitos: IEEE Computer Society Press, 2009. 21−27.] 它通過幾何計算將模型的AABB(Axis Aligned Bounding Box)包圍盒體素化(voxelization),將體素(voxel)分成三類:體外、體內以及模型相交的特徵體素;通過特徵體素和體外體素的臨界面,三角化後得到初始包圍網格;最後,對包圍網格進行光順處理得到cage。該方法需要對包圍盒進行體素化並分類。Ben-Chen等人在變形轉移的文章[Ben-Chen M, Weber O, Gotsman C. Spatial deformation transfer. In: Tamstorf R, Fellner D, eds. Proc. of the 2009 ACM SIGGRAPH/Eurographics Symp. on Computer Animation. New York: ACM Press, 2009. 67−74.] 也講述了如何構造cage的方法。它通過不斷迭代往外推、重構、簡化的過程來生成cage。其中每次外推得到的點雲都要通過泊松重構來形成新的網格,計算量不小,而且迭代的次數很難預測。Deng等人提出基於二次誤差度量的保凸漸進簡化的構造cage方法[Deng ZJ, Luo XN, Miao XP. Automatic cage building with quadric error metrics. Journal of Computer Science and Technology, 2011,26(3):538−547.]。該方法對cage的頂點數可精確控制,但每次尋找新點都是一個二次規劃問題,時間花銷稍大。Li等人在[Li L, Li GQ, Huang LW. Generation of equidistance cages. Journal of Computer-Aided Design & Computer Graphics, 2011,23(6): 956−963 (in Chinese with English abstract).]中提出通過體素化抽取三維距離場等值面來構造cage。在該方法中為提高計算距離場的效率需要簡化模型,抽取等值面重構的網格也需要簡化。Xian等人使用OBB(Oriented Bounding Box)包圍盒自動生成cage [Xian CH, Lin HW, Gao SM. Automatic cage generation by improved OBBs for mesh deformation. The Visual Computer, 2012, 28(1):21−33.]。該方法生成的cage體現模型的大致形狀,以及一定的語義信息,但是與原模型不夠貼近。陳雪等人提出基於可視外殼的cage生成方法[陳雪, 劉濤, 馮結青, 基於可視外殼的cage生成, 軟體學報, 2013, 24(10):2379-2390]。該方法基於原模型的可視外殼,即原模型的某個角度的視覺效果,減少了對原模型的表示和複雜度的關係。但是由於該方法是由物體的側影輪廓線與對應視點形成的空間區域的交集,所以對於內凹的模型(比如:杯子)的內凹區域不能體現。

隨著GPU硬體性能不斷提升,越來越多的計算藉助GPU來實現,特別是可並行計算內容。三維網格重構也屬於其中一種。Deng等人基於GPU的渲染流水線提出一種三維網格重構方法[Deng ZJ, He SQ, Shi C, Ma CH, Wu XJ. An algorithm of 3D mesh reconstructing based on the rendering pipeline. Icmit-16, Advances in Computer Science Research.]。該方法通過渲染流水線,從指定觀察角度,快速重構出原模型可見區域的指定精細度的網格曲面。從多個角度觀察並生成重構曲面,再融合在一起,就可以生成整個原模型的該精細度的重構網格。該方法不僅利用GPU並行計算快速重構,對內凹區域只要可見就可處理,但所得網格並不能包住原模型,所以不能當作控制籠。



技術實現要素:

本發明的目的是解決現有方法在控制籠構造上的不足,提出一種基於渲染流水線的控制籠構造方法。該方法將三維模型通過渲染流水線,在指定精細度下,構造出某個視角的前視重構網格和背視重構網格,把前視重構網格往前推,並把背視重構網格往後推,再兩個網格之間的縫隙,增加一圈頂點來縫合,從而構造出原模型的控制籠。

本發明通過如下技術方案來實現上述目的:一種三維控制籠構造方法,其步驟包括:

(1)讀入原網格數據;

(2)把渲染目標設置為A32B32G32R32格式紋理對象,以及設置深度比較方式;

(3)頂點著色器計算:除了正常的世界變換、觀察變換和投影變換外,還給每個頂點配上一個以該頂點在物體空間中的坐標為值的紋理顏色;

(4)像素著色器計算:直接輸出光柵化得到的紋理採樣顏色值;

(5)若還未獲得前視和背視兩個結果,返回(2)渲染另一個;否則,執行(6);

(6)把前視和背視紋理過濾掉其中非模型對應的像素點,再根據各個剩餘像素在二維紋理中的相對位置,構造網格曲面的拓撲結構。該拓撲結構和頂點(即把每個像素的RGB三個通道顏色值作為XYZ構造的三維頂點)構造前視網格曲面和背視網格曲面;

(7)結合兩個紋理,為前視曲面的邊界的每個頂點,找到背視曲面上同一視線上的對應頂點,以每兩個對應頂點的中點創建一個頂點。把這些頂點作為縫合頂點,把前視曲面和背視曲面縫合在一起;

(8)求出各縫合頂點的法向量,把它往外推一定距離;

(9)把前視曲面的所有頂點,根據視線方向,往前推一定距離;把背視曲面的所有頂點,往後推一定距離。

附圖說明

圖1為本發明方法中的前視和背視網格縫合示意圖。

圖2為本發明方法的縫合頂點外推示意圖。

圖3為本發明方法的前視和背視網格外推示意圖。

具體實施方式

下面結合附圖對本發明的各個步驟進一步說明。

在(2)中,現在的大多數顯卡已經支持直接渲染到一張紋理上了。為了得到前視和背視曲面,兩個渲染目標紋理應該是不同的資源。兩次渲染的深度比較方式設置分別採用「更近」(在Direct3D中使用D3DCMP_LESS)和「更遠及相等」(在Direct3D中使用D3DCMP_GREATEREQUAL)兩種方式。這將使在進行光柵化過程中,採用不同的深度比較方法,從而得到不同的結果。從視覺效果來看,更近方式得到的結果就是前視重構網格,而更遠及相等方式得到的是背視重構網格。

在(3)中,給頂點配的紋理顏色,其目的是讓投影空間裡的物體頂點在被光柵化過程中,仍然可以很方便的訪問到與其對應的物體空間中的頂點坐標。因此,可以使用各種資源輸出的方式,這裡採用A32B32G32R32格式的紋理。R通道保存X坐標,G通道保存Y坐標,還有B通道保存Z坐標。頂點著色器所使用的代碼可以如下:

void VertDepth(float4 S : POSITION, out float4 SP : POSITION, out float4 SPT : TEXCOORD1)

{SP = mul(S, W ); SP = mul(SP , V ); SP = mul(SP , P ); SPT = S;}

其中,S為原模型頂點,W為世界變換矩陣,V為觀察變換矩陣,P為投影變換矩陣,SP為投影空間中的頂點,SPT為輸出的新生紋理顏色值。當然程序也不限於此,只要能夠實現相應的功能即可。

在(4)中,像素著色器所使用的代碼可以如下:

void PixDepth(float4 SPT : TEXCOORD1, out float4 SN : COLOR)

{SN = SPT ;}

其中,SPT是光柵化而採樣得到的紋理顏色,即採樣得到原模型上對應點的坐標。當然程序也不限於此,只要能夠實現相應的功能即可。

在(5)中,可由用戶指定不同的順序,但總要把前視和背視的都生成,才後進行後續的操作。值得注意的是,在這個過程中,不能該觀察角度或遠近,否則,將影響到後面生成的兩個紋理在輪廓上不一致。

在(6)中,兩個紋理在未被渲染前,可預先設置指定值,比如:RGB的三個通道都是非常大的數,那麼在渲染後,由於在模型覆蓋的像素寫入了模型的坐標,所以很容易區分哪些屬於模型的,哪些是非模型的。在這裡,紋理內各個像素既是一幅圖像中的一個像素,還對應著三維空間中的一個點。可以依據像素間的位置關係來確定各個頂點的相鄰關係,從而構造出三維網格曲面。

在(7)中,如果生成兩個紋理期間,變換矩陣不發生改變,那麼兩個紋理中模型的邊界應該剛好重合。那麼在兩個紋理中模型邊界上處於同一位置的像素,即是同一視線上的對應點,也是相對應的三維頂點。曲面縫合的一種方式可以如圖1。如圖中,假設是從右邊觀察模型,黑色線條表示的是前面重構所得的網格曲面,那麼右邊的網格(僅顯示了部分)為使用「更近」比較方式得到前視重構網格曲面,而左邊的網格(僅顯示了部分)為背視重構網格曲面。兩個曲面的邊界從觀察者來看,對應點是在同一視線上的。取對應點的中點,構造新頂點,再和邊界頂點一起構造三角形,形成縫合帶。

在(8)中,對每個縫合點,結合與其同一視線上的點、以及邊界上相鄰的一個點,即可構成一個三角形,使用向量叉乘,求出三角形的法向量。縫合點往外推的方式如圖2。圖中以一個圓柱體模型的橫截面為例,顯示的包括相應的網格頂點。縫合點的法向量,通過一個細箭頭來表示。縫合點可以沿著法向量往外移動一定距離。具體外推距離,用戶可以根據模型情況來進行調整。然後相應的邊也跟著被調整。移動結果用虛線表示。

在(9)中,可根據(7)中所述的任意一對頂點,計算出視線方向。兩個頂點坐標相減,即可得到視線方向或其相反方向。前視和背視曲面往外推的例子如圖3。該圖仍然以圓柱體模型的橫截面為例,顯示的包括相應的網格頂點。在縫合點推出後,再把前視曲面沿著觀察方向的相反方向移動一定距離,而把背視曲面沿著觀察方向移動一定距離。移動結果用虛線表示。這樣即可構造出原模型的控制籠網格。

本發明方法基於渲染流水線,對於模型的各種表示方式,比如:參數化模型、多邊形網格、點雲等,只要能夠渲染出物體,可形成和物體對應的深度場,就可以用本方法來構造出跟目標模型相對應的三維控制籠。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀