基於gpu加速的體數據動態剖切方法
2023-10-07 07:42:34
專利名稱:基於gpu加速的體數據動態剖切方法
技術領域:
本發明涉及一種體數據實時剖切方法,特別是一種基於GPU加速的動態剖切方 法,屬於體數據的剖切與可視化領域。
背景技術:
隨著當前硬體設備的更新換代,尤其是計算機圖形硬體性能的飛速提升,利用高 性能的圖形設備進行交互,使得高質量的三維體數據可視化成為可能。三維可視化技術雖 然已經滲透到各行各業,在醫學、地質學、氣象學,空間物體學、化學,顯微攝影學,計算流體 力學和有限元分析等諸多領域都有不同程度的應用。然而,體視化技術目前還面臨著許多 問題,其中最主要的是體數據顯示速度慢,不能進行實時動態顯示。基於體視化技術所面臨 的這樣一個現實,體數據規則龐大,顯示和剖切所需的計算量都非常大。如果不從硬體角度 來解決這個問題,那麼只能在犧牲速度或者顯示質量之間做出選擇。於是,人們便求助於硬 件,利用由硬體實現的三維紋理映射功能來進行三維體數據的加速體繪製。體視化的任務 和目的是把三維體數據中蘊藏的信息挖掘出來,並顯示在人們面前。如何挖掘並顯示體數 據內部的有用信息就要涉及到體數據的剖切技術。
發明內容
本發明目的在於克服上述現有技術的不足而提供一種基於GPU(GraphiCS Progressing Uint即可編程圖形處理器)加速的體數據的實時剖切方法,該實時剖切方法 可以動態地對三維體數據進行剖切,大大提高了剖切與顯示的速度,達到實時顯示的效果, 提高圖形真實感。實現本發明目的所採用的技術方案是一種基於GPU加速的體數據動態剖切方法 包括以下步驟(1)首先讀取數據,再對體數據進行預處理,數據的預處理是通過一定的間隔在數 值上取平均值,對數據進行抽稀。(2)將體數據的屬性值映射成對應的顏色值;(3)根據視點與模型的距離確定要加載的數據塊體和數據塊的解析度並剔除不可 見的塊體;(4)將三維體數據讀入系統內存後,定義為三維紋理,然後裝入紋理內存;(5)構建代理幾何體;(6)紋理坐標數據的填充;(7)利用GPU對每個採樣點進行插值;(8)利用GPU實現光照計算;(9)利用GPU實現紋理重採樣;(10)通過交互操作或者參數設置的方法得到剖切的參數;(11)由上一步得到的剖切參數,根據場景中相機的位置可以獲得觀察視角,然後根據視角重新構建待剖切模型的代理幾何體,並實時地計算紋理坐標變換參數,再利用紋 理映射進行體繪製,完成剖切的過程。本發明對體數據剖切的方法,是利用基於GPU加速的動態剖切方法,通過對體數 據的插值預處理,將體數據屬性值以某種映射關係映射成顏色值,然後裝載到體紋理,通過 紋理坐標變化進行實時計算,然後通過GPU加速實現紋理重採樣技術,最終將像素值映射 到模型上。本發明由硬體實現的三維紋理映射功能來進行三維體數據的直接體繪製,這裡的 硬體指的是在紋理空間中實現重採樣的插值運算及具有不透明度值的圖像合成等均由硬 件完成。利用三維紋理硬體的加速繪製方法,即藉助紋理映射功能,通過動態地修改紋理幾 何體的紋理坐標並進行實時的計算,動態地呈現剖切後的三維圖形效果。本發明通過基於 GPU加速的體紋理繪製方法對三維體數據進行實時剖切,使三維體數據的剖切達到實時動 態顯示的效果。本發明具有如下顯著的優點(1)基於三維體紋理映射功能可以由硬體實現,通過GPU插值可以大大加速數據 的處理速度,達到實時顯示的效果。(2)本發明生成代理幾何體的算法由CPU執行,其結果是產生一系列多邊形代理 幾何體的頂點及各頂點相應的紋理坐標,然後渲染所生成的代理幾何體,實現體繪製的目 的,該過程由GPU執行完成。通過代理幾何體技術可以大大提高圖象的顯示效果,其它的方 法都不能達到同樣的效果。(3)對體數據的剖切過程實時快速,效果真實感強。(4)對體數據屬性值過濾也實時快速。(5)在剖切的過程中可以隨時設置顯示參數。(6)動態的剖切過程可以實時地觀察到體數據的剖面信息。
圖1為本發明方法的流程圖。
具體實施例方式下面結合附圖對本發明方法作進一步的說明。—種基於GPU加速的體數據動態剖切方法包括以下步驟(1)數據的讀取與處理。首先讀取數據,再對體數據進行預處理。數據的預處理是 通過一定的間隔在數值上取平均值,對數據進行抽稀的過程。(2)將體數據的屬性值映射成顏色值。通過映射關係,如c = P (X),將數據的屬 性值映射成對應的顏色值。(3)加載數據。首先是確定加載的數據塊,根據視點與模型的距離確定要加載的數 據塊體和數據塊的解析度;確定之後還需要剔除不可見的塊體。(4)將體數據裝入紋理內存。將三維體數據讀入系統內存後,定義為三維紋理,然 後裝入紋理內存,由於紋理內存有限,大型體數據被分成幾個三維紋理塊。(5)構建代理幾何體。生成代理幾何體的目的是為了確定體數據中重採樣位置,並由GPU執行三維空間變換、光柵化和紋理映射等操作,最後合成所有代理幾何體的顏色和 不透明度值,生成繪製圖像。獲得觀察視角後,即當視線方向確定後,紋理空間與對象空間 的映射關係也得到確定,再根據採樣密度定義一系列相互平行的等間距採樣多邊形,即構 建了代理幾何體。本發明基於GPU加速的體數據動態剖切方法所採用的代理幾何體垂直於 體數據的某一個坐標軸方向,而且當體數據空間旋轉時,代理幾何體始終保持與視口最接 近的坐標軸垂直的方向。生成代理幾何體的具體步驟如下(5-1)根據模型視距陣將體數據轉換到視空間,並計算此時包圍盒8個頂點中ζ坐 標的最小值和最大值;(5-2)根據某固定採樣間距計算最大最小ζ值之間的切片個數,然後按照從後向 前的順序,也即是ζ值從小到大的順序依次處理每個切片;(5-3)每次視線方向發生改變時,轉到步驟(5-1)重新生成多邊形代理幾何體。由圖1可知在構建代理幾何體時,還需要交互獲取剖切參數,進而獲取剖切視角。 這是因為本發明是基於GPU加速的體數據動態剖切方法,根據交互的過程中是否改變剖切 參數,即剖切視角是否發生改變,若剖切視角改變了,則重新生成代理幾何體。也就是說,構 建代理幾何體時首先要判斷剖切視角是否發生改變。(6)紋理坐標數據的填充。在剛開始顯示體數據時,就直接填充體數據的紋理坐 標,在接下來的動態剖切過程中,則是實時地計算紋理坐標變換,然後再對紋理坐標數據進 行填充。接下來的步驟就是利用GPU來實現對採樣點進行插值、光照計算,並通過紋理映 射實現對體數據的重採樣。(7) GPU插值。GPU插值是利用GPU對每個採樣點進行插值。(8)利用GPU實現光照計算。在將模型繪製為最終圖像之前,需要加入光照計算。 光照計算描述了光源照射到物體上的綜合表現,與光源位置和強度、物體的材質屬性和幾 何特徵、視點位置等參數有關。體繪製中光照模型包括三個部分環境光(ambient)、漫反 射光(diffuse)和鏡面高光(specular)。Iphong = S^ambient+b*Idiffuse+c*Ispecular(a+b+c = 1)(9)利用GPU實現紋理重採樣。由上面構建的代理幾何體,藉助紋理映射功能,按 順序繪製代理幾何體,確定重採樣的位置,並執行紋理映射,實現對體數據的重採樣。以上的所有步驟,完成了體數據的可視化過程。對體數據進行實時剖切由以下的 步驟進入一個循環過程,即根據交互過程中改變了剖切參數,獲取新的剖切視角,再重新生 成代理幾何體,進行體數據繪製(10)獲取剖切的參數。可以通過交互操作或者參數設置的方法得到剖切的參數, 包括場景中相機的位置和剖切面參數等。(11)獲取觀察視角。由上一步得到的剖切參數,根據場景中相機的位置可以獲得 觀察視角。然後根據視角重新構建待剖切模型的代理幾何體,並實時地計算紋理坐標變換 參數,再利用紋理映射進行體繪製,完成剖切的過程。以上的所有步驟即實現了對體數據的一個剖切過程,在交互的過程中動態地改變 剖切的參數,將重新進行剖切的過程,即實現了對體數據的連續、實時剖切。
權利要求
1.一種基於GPU加速的體數據動態剖切方法,其特徵在於包括以下步驟(1)體數據的讀取與預處理;(2)將體數據的屬性值映射成對應的顏色值;(3)根據視點與模型的距離確定要加載的數據塊體和數據塊的解析度,並剔除不可見 的塊體;(4)將三維體數據讀入系統內存後,定義為三維紋理,然後裝入紋理內存;(5)構建代理幾何體;(6)紋理坐標數據的填充;(7)利用GPU對每個採樣點進行插值;(8)利用GPU實現光照計算;(9)利用GPU實現紋理重採樣,由上面構建的代理幾何體,藉助紋理映射按順序繪製代 理幾何體,確定重採樣的位置,並執行紋理映射,實現對體數據的重採樣;(10)通過交互操作或者參數設置的方法得到剖切的參數;(11)由上一步得到的剖切參數,根據場景中相機的位置獲得觀察視角,然後根據視角 重新構建待剖切模型的代理幾何體,並實時地計算紋理坐標變換參數,再利用紋理映射進 行體繪製,完成剖切的過程。
2.根據權利要求1所述基於GPU加速的體數據動態剖切方法,其特徵在於步驟⑴中 對體數據進行預處理是通過一定的間隔在數值上取平均值,對數據進行抽稀。
3.根據權利要求1所述基於GPU加速的體數據動態剖切方法,其特徵在於代理幾何 體是在獲得觀察視角後,即當視線方向確定後,紋理空間與對象空間的映射關係也得到確 定,再根據採樣密度定義一系列相互平行的等間距採樣多邊形。
4.根據權利要求1所述基於GPU加速的體數據動態剖切方法,其特徵在於根據交互 的過程中是否改變剖切參數,即剖切視角是否發生改變,確定是否重新生成代理幾何體,若 剖切視角改變了,則重新生成代理幾何體。
5.根據權利要求1或3或4所述基於GPU加速的體數據動態剖切方法,其特徵在於 生成代理幾何體的具體步驟如下(5-1)根據模型視距陣將體數據轉換到視空間,並計算此時包圍盒8個頂點中ζ坐標的 最小值和最大值;(5-2)根據某固定採樣間距計算最大最小ζ值之間的切片個數,然後按照從後向前的 順序,也即是ζ值從小到大的順序依次處理每個切片;(5-3)每次視線方向發生改變時,轉到步驟(5-1)重新生成多邊形代理幾何體。
6.根據權利要求1所述基於GPU加速的體數據動態剖切方法,其特徵在於步驟(6)中 在剛開始顯示體數據時,就直接填充體數據的紋理坐標,在接下來的動態剖切過程中,則實 時地計算紋理坐標變換,然後再對紋理坐標數據進行填充。
7.根據權利要求1所述基於GPU加速的體數據動態剖切方法,其特徵在於步驟⑶的 體繪製中光照模型包括環境光、漫反射光和鏡面高光,則Iph。ng = a*I環境光鏡 面髙光,其中a+b+c =1。
全文摘要
本發明公開了一種基於GPU加速的體數據動態剖切方法,該方法是基於體紋理加速繪製的,即由硬體實現的三維紋理映射功能來進行三維體數據的直接體繪製,這裡的硬體指的是在紋理空間中實現重採樣的插值運算及具有不透明度值的圖像合成等均由硬體完成。利用三維紋理硬體的加速繪製方法,即藉助紋理映射功能,通過動態地修改紋理幾何體的紋理坐標並進行實時的計算,動態地呈現剖切後的三維圖形效果。本發明通過基於GPU加速的體紋理繪製方法對三維體數據進行實時剖切,使三維體數據的剖切達到實時動態顯示的效果。
文檔編號G06T15/08GK102074036SQ20101057601
公開日2011年5月25日 申請日期2010年12月7日 優先權日2010年12月7日
發明者冉秀桃, 劉修國, 張柱, 花衛華, 鄭坤 申請人:中國地質大學(武漢)