亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實(shí)時更新三維圖像的方法和系統(tǒng)的制作方法

文檔序號:6637893閱讀:248來源:國知局
實(shí)時更新三維圖像的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種實(shí)時更新三維圖像的方法和系統(tǒng),所述方法包括:將該三維圖像進(jìn)行分塊處理;判斷分塊中的三維圖像是否需要更新;對三維圖像需要更新的分塊,提取更新后的等值面;在提取的等值面上鋪設(shè)材質(zhì);對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染;將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以生成更新后的三維圖像。該方法和系統(tǒng)具有較快的處理速度,顯示圖形也具有較高的精度,可適用于三維游戲,虛擬現(xiàn)實(shí),模擬施工等。
【專利說明】實(shí)時更新三維圖像的方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像顯示的方法和系統(tǒng),更具體地說,本發(fā)明涉及一種可實(shí)時顯示更新后三維圖像的方法和系統(tǒng)。

【背景技術(shù)】
[0002]在計(jì)算機(jī)圖形領(lǐng)域,面的結(jié)構(gòu)和顯示是一種應(yīng)用非常廣泛的技術(shù),常用于模型、地形、特效等應(yīng)用中。關(guān)于面的顯示技術(shù),特別是在計(jì)算機(jī)圖形學(xué)的三維圖形模擬方面,起著至關(guān)重要的作用;而三維圖形模擬技術(shù)是工業(yè)設(shè)計(jì)、虛擬現(xiàn)實(shí)、視頻游戲等領(lǐng)域中最為核心的部分。
[0003]現(xiàn)有的三維圖形模擬技術(shù)中在顯示地形時,一般采用的是一種高度場地形的實(shí)現(xiàn)方法。例如,我們將一個二維圖形“置于”一個三維坐標(biāo)系中,此時,該二維圖形上的每個像素點(diǎn)除具有一組二維坐標(biāo)以外,還具有一個“高度值”;將該二維圖形上每個像素點(diǎn)的“高度值”應(yīng)用到相應(yīng)的像素點(diǎn),相當(dāng)于在三維空間中對該二維圖形執(zhí)行了一個“拔高”的過程;將“拔高”后的像素點(diǎn)在三維空間中連接,在點(diǎn)連接形成的線構(gòu)成的面上進(jìn)行渲染,如此而形成一個被顯示的三維圖形。這種方式雖然簡單有效,但是生成的三維圖形是以二維圖形為基礎(chǔ)的,因此不可避免地存在一些缺陷,例如細(xì)節(jié)表現(xiàn)不足,圖形較為粗糙等。此外,這種基于高度場地形的顯示方法還有其他固有缺陷,比如不能產(chǎn)生橫向凹凸的效果,如橫向的洞穴或山坳,不能顯示多層地形等;此外,這種方法必須使用美術(shù)人員畫好的高度圖,而后加載。因而這種顯示方法在實(shí)踐中存在許多局限。
[0004]由于基于高度場地形的顯示方法存在上述缺陷,現(xiàn)在已出現(xiàn)了一些基于三維圖形的顯示方法,例如面繪制法。在面繪制法中,根據(jù)設(shè)定的域值,從體數(shù)據(jù)中提取出表面的三角面片集,再用圖形學(xué)中實(shí)時渲染的方式對三角面片進(jìn)行渲染,形成三維圖像。面繪制法主要分為基于斷層輪廓線的方法和基于體素的方法,其中,基于體素的方法以移動立方體(Marching Cubes,簡稱MC)算法為代表。MC算法是面顯不算法中的經(jīng)典算法,它也被稱為“等值面提取”算法。該算法的本質(zhì)是將一系列兩維的切片數(shù)據(jù)看作是一個三維的數(shù)據(jù)場,從中將具有某種域值的物質(zhì)抽取出來,以某種拓?fù)湫问竭B接成三角面片。
[0005]現(xiàn)在,MC算法在醫(yī)療成像領(lǐng)域中得到了較為廣泛的應(yīng)用。然而,由于MC算法在生成三維圖形時需處理大量數(shù)據(jù),而三維圖形的動態(tài)顯示需要較快的處理速度,以及較高的處理精度,因此MC算法僅應(yīng)用于靜態(tài)圖像的生成,不適用于實(shí)時顯示圖像。
[0006]在實(shí)際應(yīng)用中,例如虛擬現(xiàn)實(shí)、模擬施工、游戲等場景中,不僅要求三維圖形顯示的精度,對圖形處理速度也有很高的要求。因而,亟需一種新的三維圖形顯示方法,以克服上述缺陷。


【發(fā)明內(nèi)容】

[0007]本發(fā)明提出了一種實(shí)時更新三維圖形的方法和系統(tǒng),這種方法不僅具有較高的處理精度,并且具有較高的運(yùn)行速度,因此有效地解決了現(xiàn)有技術(shù)的弊端。
[0008]一種更新三維圖像的方法,包括:將該三維圖像進(jìn)行分塊處理;判斷分塊中的三維圖像是否需要更新;對三維圖像需要更新的分塊,提取更新后的等值面;在提取的更新后的等值面上鋪設(shè)材質(zhì);對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染;將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以生成更新后的三維圖像。
[0009]根據(jù)本發(fā)明的另一方面,采用四叉樹算法執(zhí)行所述分塊處理。
[0010]根據(jù)本發(fā)明的另一方面,采用相交性檢測的方式來判斷所述分塊中的三維圖像是否需要更新。
[0011]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為點(diǎn)時,通過判斷經(jīng)過該點(diǎn)的射線與分塊是否相交來執(zhí)行相交性檢測。
[0012]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為面時,通過將該接觸面分割為三角形網(wǎng)格,并判斷三角形網(wǎng)格中的各個三角形與分塊是否相交來執(zhí)行相交性檢測。
[0013]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為面時,通過判斷該接觸面的包圍盒與分塊構(gòu)成的包圍盒是否相交來執(zhí)行相交性檢測。
[0014]根據(jù)本發(fā)明的另一方面,提供了一種更新三維圖像的系統(tǒng),包括:分塊處理模塊,將該三維圖像進(jìn)行分塊處理;分塊更新判斷模塊,判斷分塊中的三維圖像是否需要更新;等值面提取模塊,對三維圖像需要更新的分塊,提取更新后的等值面;材質(zhì)鋪設(shè)模塊,在提取的更新后的等值面上鋪設(shè)材質(zhì);渲染模塊,對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染;三維圖像拼接模塊,將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以生成更新后的三維圖像。
[0015]根據(jù)本發(fā)明的另一方面,分塊處理模塊采用四叉樹算法執(zhí)行所述分塊處理。
[0016]根據(jù)本發(fā)明的另一方面,分塊更新判斷模塊采用相交性檢測的方式來判斷所述分塊中的三維圖像是否需要更新。
[0017]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為點(diǎn)時,分塊更新判斷模塊通過判斷經(jīng)過該點(diǎn)的射線與分塊是否相交來執(zhí)行相交性檢測。
[0018]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為面時,分塊更新判斷模塊通過將該接觸面分割為三角形網(wǎng)格,并判斷三角形網(wǎng)格中的各個三角形與分塊是否相交來執(zhí)行相交性檢測。
[0019]根據(jù)本發(fā)明的另一方面,當(dāng)接觸位置為面時,分塊更新判斷模塊通過判斷該接觸面的包圍盒與分塊構(gòu)成的包圍盒是否相交來執(zhí)行相交性檢測。
[0020]根據(jù)本發(fā)明所公開的技術(shù)方案,可實(shí)時有效地對三維圖像進(jìn)行更新,因而有效地解決了現(xiàn)有技術(shù)方案的弊端。該方案可適用于多種應(yīng)用場景。

【專利附圖】

【附圖說明】
[0021]圖1為根據(jù)本發(fā)明示例性實(shí)施例的對三維圖像進(jìn)行更新的方法的流程圖。
[0022]圖2為根據(jù)本發(fā)明示例性實(shí)施例的對三維圖像進(jìn)行更新的系統(tǒng)的框圖。

【具體實(shí)施方式】
[0023]為了使本發(fā)明的特征及優(yōu)點(diǎn)得到更清楚的了解,以下結(jié)合附圖對本發(fā)明的示例性實(shí)施例進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解,這里給出的實(shí)施例只是示例性的,并不作為本發(fā)明的限制O
[0024]圖1示出了根據(jù)本發(fā)明示例性實(shí)施例的對三維圖像進(jìn)行實(shí)時更新的方法的流程圖。
[0025]為了便于說明本方法的執(zhí)行過程,以游戲運(yùn)行時為例,當(dāng)用戶對某時間點(diǎn)的三維地形圖像進(jìn)行某次操作時,該方法生成用戶操作后該游戲中顯示的三維地形圖像。本領(lǐng)域的技術(shù)人員應(yīng)該理解,以三維地形圖像為例只是為了便于本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,本發(fā)明并不限于三維地形圖像的更新,而可應(yīng)用于任何三維圖像的更新。
[0026]由于顯示的圖像位于二維平面,可以將該顯示圖像視為三維地形圖像在二維上的投影。若用戶的操作為某次鼠標(biāo)的點(diǎn)擊,該點(diǎn)擊在二維平面上的坐標(biāo)即為用戶該次點(diǎn)擊在三維地形圖像上目標(biāo)的坐標(biāo)在二維平面上投影的坐標(biāo)。
[0027]根據(jù)本發(fā)明示例性實(shí)施例,提供了一種實(shí)時更新三維地形圖像的方法,該方法包括:
[0028]在步驟101中,將該三維地形圖像進(jìn)行分塊處理。作為分塊處理的一種方式,可采用四叉樹算法。四叉樹是一種數(shù)據(jù)結(jié)構(gòu),其中的每個節(jié)點(diǎn)最多有四個子樹,由于二維空間中的平面可重復(fù)地被分為四部分,因此四叉樹常用于在二維圖像中定位像素。在該步驟中,利用四叉樹算法對該三維地形圖像在二維平面上進(jìn)行分塊;每一分塊中的三維地形圖像包含多個頂點(diǎn),且每個頂點(diǎn)具有一個三維坐標(biāo);每一分塊,可視為該地形圖的一個子地形圖。分塊處理的目的是為了判斷在用戶對游戲進(jìn)行操作時,判斷哪些分塊的三維地形將發(fā)生更新,通過僅更新需更新三維地形的分塊以提高圖形處理速度。因此,利用四叉樹算法進(jìn)行分塊的深度越大,需進(jìn)行更新的三維地形在整體三維地形中的比例越低,因而更新三維地形時的處理速度也將越快。
[0029]在步驟102中,判斷各分塊中的三維地形是否需要更新。作為判斷的一種方法,可采用相交性檢測的方式。例如,假若引起三維地形產(chǎn)生變化的為某一個點(diǎn)(例如為用戶該次鼠標(biāo)的點(diǎn)擊),確定經(jīng)過該點(diǎn)的射線方向。對不同的游戲類型,確定該射線方向的方式也有所區(qū)別。可設(shè)想在顯示的二維圖像上方懸掛了一個“相機(jī)”,作為示例,若該游戲?yàn)榈谝蝗朔Q類型的游戲,例如射擊類游戲,該“相機(jī)”的位置即為游戲人物的“眼睛”;若該游戲?yàn)閼?zhàn)略類游戲,顯示的為全局的三維地形圖像,該“相機(jī)”的XY坐標(biāo)可設(shè)想為與顯示的該三維地形的中心位置的XY坐標(biāo)相等,其Z坐標(biāo)隨著三維地形的放大或縮小而減小或增大。該“相機(jī)”與該鼠標(biāo)點(diǎn)擊的位置的連線,即為經(jīng)過該點(diǎn)的射線。判斷各個分塊與該射線之間是否相交;若相交,則與該射線相交的分塊內(nèi)的三維地形將發(fā)生更新。
[0030]若導(dǎo)致三維地形發(fā)生更新的接觸位置為一個面,有兩種方式可用于執(zhí)行相交性檢測以判斷各分塊的三維地形是否需更新:第一種是通過判斷該接觸面與分塊是否相交來執(zhí)行相交性檢測,第二種是通過判斷該接觸面的包圍盒與分塊是否相交來執(zhí)行相交性檢測。
[0031]對于第一種方式,由于接觸面一般是不規(guī)則的形狀,為了便于檢測,可將該接觸面分割為三角形網(wǎng)格,對該網(wǎng)格中的每個三角形與前述的每個分塊,分別進(jìn)行相交性檢測,若分塊與某個三角形相交,則該分塊內(nèi)的三維地形將發(fā)生更新。
[0032]采用接觸面與各個分塊之間的相交性檢測的方法,雖能確保顯示圖像的精度,但是該方法需要將該接觸面分割為三角形網(wǎng)格,對其中的每個三角形與每個分塊之間均需進(jìn)行檢測,需耗費(fèi)大量的計(jì)算資源,因此一定程度上將影響游戲速度。
[0033]對于第二種方式,每個分塊,均可視為一包圍盒;而對于該接觸面,可確定另一包圍盒。對每個分塊構(gòu)成的包圍盒,分別與該接觸面的包圍盒進(jìn)行相交性檢測,通過這種方式,同樣可判斷每個分塊中的三維地形是否需要更新。采用這種方法,游戲的顯示精度雖有所影響,但計(jì)算速度將大為提高。
[0034]隨著四叉樹算法分塊的深度增加,需進(jìn)行相交性檢測的分塊的包圍盒的數(shù)量隨之增加,判斷需更新三維地形的分塊的處理速度隨之降低。因而需要在進(jìn)行判斷需更新的分塊和三維地形的更新之間進(jìn)行權(quán)衡,得出一個合理的四叉樹深度以提高圖形處理速度。
[0035]在步驟103中,對三維地形需要更新的分塊,提取更新后的等值面。這里,三維地形中的每個點(diǎn),可設(shè)想為具有某個密度值P,密度值相同的點(diǎn)將構(gòu)成等值面。三維地形的表面,可視為具有密度值為P '的等值面。對所有體素,檢測其頂點(diǎn)的密度值;若某個體素的八個頂點(diǎn),并非均大于或小于,則該體素內(nèi)部具有密度值為的等值面,即該三維地形表面的一部分。對所有滿足上述條件的體素,求出體素內(nèi)部具有密度值為的等值面并連接起來,即得到了該三維地形表面的整體。每個點(diǎn)i可視為具有一個四維坐標(biāo)(Xi,Yi,zi,Pi)。首先,對需更新三維地形的分塊,計(jì)算該分塊更新后的三維地形數(shù)據(jù),即該分塊內(nèi)每個點(diǎn)的四維坐標(biāo)(Χ,γ,ζ,P)。此處用于計(jì)算三維地形數(shù)據(jù)的算法,與游戲本身所采用的算法相關(guān);而更新后的三維地形表面的密度值P r,也同樣由游戲本身所采用的算法得到。
[0036]對每個分塊內(nèi)的所有點(diǎn)而言,Z坐標(biāo)相同的點(diǎn)處于同一層;將上述得到的四維坐標(biāo)數(shù)據(jù)分層讀入內(nèi)存;掃描相鄰兩層數(shù)據(jù),逐個構(gòu)造體素,每個體素中的8個頂點(diǎn)取自于相鄰的兩層。對滿足前述條件的體素,利用MC算法提取密度值為P '的等值面。將分塊內(nèi)每個滿足上述條件的體素中提取的具有密度值P r的等值面相連接,形成該分塊所提取的等值面。作為示例,為了加快MC算法的處理速度,可采用并行算法,采用多線程并行運(yùn)行的方式,對多個體素執(zhí)行MC算法以提取等值面。例如,若有m*n*k個體素需要更新,可開啟(m/X) * (n/x) * (k/x)個線程來執(zhí)行MC算法,每個線程對x*x*x個體素進(jìn)行更新。
[0037]在步驟104中,在對每個三維地形需要更新的分塊所提取的等值面上,鋪設(shè)材質(zhì);在鋪設(shè)材質(zhì)時,需考慮被顯示的三維地形的環(huán)境,以及不同位置的漫射、反射、光澤度等,綜合上述因素來鋪設(shè)材質(zhì)。
[0038]在步驟105中,對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染。渲染的方式一般有俯視、正視、側(cè)視、透視幾種,最常用的是采用透視的方式。在渲染前,還需確定三維地形各個部分的前后、遮擋等,以使得渲染后的三維地形具備空間感。
[0039]在步驟106中,將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以形成更新后的三維地形圖像。
[0040]在三維地形圖像更新完成后,捕捉下一次改變地形的操作,從步驟102開始,重復(fù)上述處理流程以實(shí)時顯示更新后的三維地形。
[0041]圖2示出了根據(jù)本發(fā)明示例性實(shí)施例的對三維圖像進(jìn)行實(shí)時更新的系統(tǒng)的框圖。
[0042]為了便于說明本方法的執(zhí)行過程,以游戲運(yùn)行時為例,當(dāng)用戶對某時間點(diǎn)的地形圖像進(jìn)行某次操作時,該系統(tǒng)生成用戶操作后該游戲中顯示的三維地形圖像。本領(lǐng)域的技術(shù)人員應(yīng)該理解,以三維地形圖像為例只是為了便于本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,該系統(tǒng)并不限于三維地形圖像的更新,而可應(yīng)用于任何三維圖像的更新。
[0043]所述系統(tǒng)包括分塊處理模塊201、分塊更新判斷模塊202、等值面提取模塊203、材質(zhì)鋪設(shè)模塊204、渲染模塊205、三維地形拼接模塊206。
[0044]分塊處理模塊201對該三維地形圖像進(jìn)行分塊處理。作為分塊處理的一種方式,分塊處理模塊201可采用四叉樹算法,對該三維地形圖像,在二維平面上進(jìn)行分塊;每一分塊中的三維圖像包含多個頂點(diǎn),且每個頂點(diǎn)具有一個三維坐標(biāo);每一分塊,可視為該地形圖的一個子地形圖。分塊處理模塊201對地形執(zhí)行分塊處理的目的是為了判斷在用戶對游戲進(jìn)行操作時,判斷哪些分塊的三維地形將發(fā)生更新,該系統(tǒng)通過僅更新需更新三維地形的分塊以提高圖形處理速度。因此,利用四叉樹算法進(jìn)行分塊的深度越大,需進(jìn)行更新的三維地形在整體三維地形中的比例越低,因而更新三維地形時的處理速度也將越快。
[0045]分塊更新判斷模塊202判斷各分塊中的三維地形是否需要更新。作為判斷的一種方法,對分塊處理模塊201得到的各個分塊,分塊更新判斷模塊202可采用相交性檢測的方式。例如,假若引起三維地形產(chǎn)生變化的為某一個點(diǎn)(例如為用戶該次鼠標(biāo)的點(diǎn)擊),首先確定經(jīng)過該點(diǎn)的射線方向。對不同的游戲類型,確定該射線方向的方式也有所區(qū)別??稍O(shè)想在顯示的二維圖像上方懸掛了一個“相機(jī)”,作為示例,若該游戲?yàn)榈谝蝗朔Q類型的游戲,例如射擊類游戲,該“相機(jī)”的位置即為游戲人物的“眼睛”;若該游戲?yàn)閼?zhàn)略類游戲,顯示的為全局的地形圖像,該“相機(jī)”的XY坐標(biāo)可設(shè)想為與顯示的三維地形的中心位置的XY坐標(biāo)相等,其Z坐標(biāo)隨著三維地形的放大或縮小而減小或增大。該“相機(jī)”與該鼠標(biāo)點(diǎn)擊的連線,即為經(jīng)過該點(diǎn)的射線。判斷經(jīng)過分塊處理模塊201進(jìn)行分塊處理之后得到的各個分塊與該射線之間是否相交;若相交,則與該射線相交的分塊內(nèi)的三維地形將需要更新。
[0046]若導(dǎo)致三維地形需要更新的接觸位置為一個面,有兩種方式可用于執(zhí)行相交性檢測以判斷各分塊的三維地形是否需更新:第一種是分塊更新判斷模塊202通過判斷該接觸面與分塊是否相交來執(zhí)行相交性檢測,第二種是分塊更新判斷模塊202通過判斷該接觸面的包圍盒與分塊是否相交來執(zhí)行相交性檢測。
[0047]對于第一種方式,由于接觸面一般是不規(guī)則的形狀,為了便于檢測,分塊更新判斷模塊202可將該接觸面分割為三角形網(wǎng)格,對該網(wǎng)格中的每個三角形與所述各個分塊,分別進(jìn)行相交性檢測,若分塊與某個三角形相交,則該分塊內(nèi)的三維地形將需要更新。
[0048]采用接觸面與各個分塊之間的相交性檢測的方法,雖能確保顯示圖像的精度,但是該方法需要將該接觸面分割為三角形網(wǎng)格,對其中的每個三角形與所述各個分塊之間均需進(jìn)行檢測,將耗費(fèi)大量的計(jì)算資源,因此一定程度上將影響游戲速度。
[0049]第二種方式中,每個分塊均可被視為一包圍盒;而對于該接觸面,可確定另一包圍盒。分塊更新判斷模塊202對每個分塊構(gòu)成的包圍盒,分別與該接觸面的包圍盒進(jìn)行相交性檢測。通過這種方式,同樣可判斷每個分塊中的三維地形是否需要更新。采用這種方法,游戲的顯示精度雖有所影響,但計(jì)算速度將大為提高。
[0050]隨著四叉樹算法分塊的深度增加,需進(jìn)行相交性檢測的分塊的包圍盒的數(shù)量隨之增加,判斷需更新三維地形的分塊的處理速度隨之降低。因而需要在進(jìn)行判斷需更新的分塊和三維地形的更新之間進(jìn)行權(quán)衡,得出一個合理的四叉樹深度以提高圖形處理速度。
[0051]等值面提取模塊203對三維地形需要更新的分塊提取更新后的等值面。三維地形中的每個點(diǎn),可設(shè)想為具有某個密度值P,密度值相同的點(diǎn)將構(gòu)成等值面。三維地形的表面,可視為具有密度值為P '的等值面。對所有體素,檢測其頂點(diǎn)的密度值;若某個體素的八個頂點(diǎn),并非均大于或小于,則該體素內(nèi)部具有密度值為的等值面,即該三維地形表面的一部分。對所有滿足上述條件的體素,求出體素內(nèi)部具有密度值為的等值面并連接起來,即得到了該三維地形表面的整體。每個點(diǎn)i可視為具有一個四維坐標(biāo)(Xi,Yi,zi,Pi)。首先,對需更新三維地形的分塊,計(jì)算該分塊更新后的三維地形數(shù)據(jù),即該分塊內(nèi)每個點(diǎn)的四維坐標(biāo)(Χ,γ,ζ,P)。此處用于計(jì)算三維地形數(shù)據(jù)的算法,與游戲本身所采用的算法相關(guān);而更新后的三維地形表面的密度值P r,也同樣由游戲本身所采用的算法得到。
[0052]對每個分塊內(nèi)的所有點(diǎn)而言,Z坐標(biāo)相同的點(diǎn)處于同一層;將上述得到的四維坐標(biāo)數(shù)據(jù)分層讀入內(nèi)存;掃描相鄰兩層數(shù)據(jù),逐個構(gòu)造體素,每個體素中的8個頂點(diǎn)取自于相鄰的兩層。對滿足前述條件的體素,利用MC算法提取密度值為P '的等值面。將分塊內(nèi)每個滿足上述條件的體素中提取的具有密度值P r的等值面相連接,形成該分塊所提取的等值面。作為示例,為了加快MC算法的處理速度,可采用并行算法,采用多線程并行運(yùn)行的方式,對多個體素執(zhí)行MC算法以提取等值面。例如,若有m*n*k個體素需要更新,可開啟(m/X) * (n/x) * (k/x)個線程來執(zhí)行MC算法,每個線程對x*x*x個體素進(jìn)行更新。
[0053]材質(zhì)鋪設(shè)模塊204在對每個三維地形需要更新的分塊提取的等值面上,鋪設(shè)材質(zhì);在鋪設(shè)材質(zhì)時,需考慮被顯示的三維地形的環(huán)境,以及不同位置的漫射、反射、光澤度等,綜合上述因素來鋪設(shè)材質(zhì)。
[0054]渲染模塊205對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染以完成相應(yīng)分塊的三維地形的更新。渲染的方式一般有俯視、正視、側(cè)視、透視幾種,最常用的是采用透視的方式。在渲染前,還需確定三維地形各個部分的前后、遮擋等,以使得渲染后的三維地形具備空間感。
[0055]三維地形拼接模塊206將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以形成更新后的圖像。
[0056]在更新完成三維地形圖像后,系統(tǒng)捕捉下一次改變地形的操作,重復(fù)上述處理以實(shí)時顯示更新后的三維地形。
[0057]以上描述了本發(fā)明的優(yōu)選實(shí)施例,但是,該實(shí)施例僅是示例性的,而不是要限制本發(fā)明的范圍,本發(fā)明的范圍由所附權(quán)利要求書及其等同物限定。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲器或隨機(jī)存儲存儲器等。
[0058]此外,盡管已經(jīng)詳細(xì)描述了本發(fā)明及其優(yōu)勢,但應(yīng)該理解,可以在不背離所附權(quán)利要求限定的本-發(fā)明主旨和范圍的情況下,進(jìn)行各種不同的改變、替換和更改;而且,本發(fā)明的范圍并不僅限于本說明書中描述的系統(tǒng)、方法和步驟的實(shí)施例。作為本發(fā)明普通技術(shù)人員應(yīng)理解,通過本發(fā)明,現(xiàn)有的或今后開發(fā)的用于執(zhí)行和根據(jù)本發(fā)明所采用的技術(shù)方案基本相同的方式或獲得基本相同結(jié)果的方法和步驟根據(jù)本發(fā)明可以被使用。
【權(quán)利要求】
1.一種更新三維圖像的方法,包括: 將該三維圖像進(jìn)行分塊處理; 判斷分塊中的三維圖像是否需要更新; 對三維圖像需要更新的分塊,提取更新后的等值面; 在提取的更新后的等值面上鋪設(shè)材質(zhì); 對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染; 將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以生成更新后的三維圖像。
2.如權(quán)利要求1所述的方法,其特征在于,采用四叉樹算法執(zhí)行所述分塊處理。
3.如權(quán)利要求2所述的方法,其特征在于,采用相交性檢測的方式來判斷所述分塊中的三維圖像是否需要更新。
4.如權(quán)利要求3所述的方法,其特征在于,當(dāng)接觸位置為點(diǎn)時,通過判斷經(jīng)過該點(diǎn)的射線與分塊是否相交來執(zhí)行相交性檢測。
5.如權(quán)利要求3所述的方法,其特征在于,當(dāng)接觸位置為面時,通過將該接觸面分割為三角形網(wǎng)格,并判斷三角形網(wǎng)格中的各個三角形與分塊是否相交來執(zhí)行相交性檢測。
6.如權(quán)利要求3所述的方法,其特征在于,當(dāng)接觸位置為面時,通過判斷該接觸面的包圍盒與分塊構(gòu)成的包圍盒是否相交來執(zhí)行相交性檢測。
7.一種更新三維圖像的系統(tǒng),包括: 分塊處理模塊,將該三維圖像進(jìn)行分塊處理; 分塊更新判斷模塊,判斷分塊中的三維圖像是否需要更新; 等值面提取模塊,對三維圖像需要更新的分塊,提取更新后的等值面; 材質(zhì)鋪設(shè)模塊,在提取的更新后的等值面上鋪設(shè)材質(zhì); 渲染模塊,對鋪設(shè)了材質(zhì)的等值面執(zhí)行渲染; 三維圖像拼接模塊,將各個需要更新三維圖像的分塊中的三維圖像渲染后與相鄰分塊進(jìn)行拼接,以生成更新后的三維圖像。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,分塊處理模塊采用四叉樹算法執(zhí)行所述分塊處理。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,分塊更新判斷模塊采用相交性檢測的方式來判斷所述分塊中的三維圖像是否需要更新。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)接觸位置為點(diǎn)時,分塊更新判斷模塊通過判斷經(jīng)過該點(diǎn)的射線與分塊是否相交來執(zhí)行相交性檢測。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)接觸位置為面時,分塊更新判斷模塊通過將該接觸面分割為三角形網(wǎng)格,并判斷三角形網(wǎng)格中的各個三角形與分塊是否相交來執(zhí)行相交性檢測。
12.如權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)接觸位置為面時,分塊更新判斷模塊通過判斷該接觸面的包圍盒與分塊構(gòu)成的包圍盒是否相交來執(zhí)行相交性檢測。
【文檔編號】G06T19/20GK104504760SQ201410749061
【公開日】2015年4月8日 申請日期:2014年12月9日 優(yōu)先權(quán)日:2014年12月9日
【發(fā)明者】黃亮 申請人:北京暢游天下網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1