本發(fā)明專利技術(shù)公開了一種超大規(guī)模天氣效果渲染方法,以經(jīng)度、緯度的取值區(qū)間二分劃分來實現(xiàn)球面的四叉分塊;添加粒子發(fā)射器,形成粒子源,組合粒子源形成四叉樹粒子系統(tǒng);區(qū)域編輯,選取處于目標區(qū)域內(nèi)部或者與目標區(qū)域相交的球面四叉樹節(jié)點塊,并將這些球面四叉樹節(jié)點塊添加到節(jié)點塊隊列中,實現(xiàn)對目標區(qū)域的逼近;利用粒子源的邊界盒和視圖截椎的相交判斷來實現(xiàn)粒子源剔除。本發(fā)明專利技術(shù)天氣效果的渲染效率有了很大的提升;具有強大的動態(tài)自適應(yīng)能力,可以適應(yīng)程序運行過程中的各種變化。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)屬于超大規(guī)模天氣效果加速渲染技術(shù),特別是。
技術(shù)介紹
天氣效果的實時渲染一直是計算機圖形學領(lǐng)域最具挑戰(zhàn)性的課題之一,在地理信息系統(tǒng)、游戲、影視等工業(yè)領(lǐng)域中有廣泛的應(yīng)用價值。利用計算機渲染天氣效果,需要解決效果和效率兩方面的問題。效果問題關(guān)注天氣效果渲染的視覺逼真度,即呈現(xiàn)在屏幕上的天氣效果與實際生活中的天氣效果的相似程度,解決的是靜態(tài)問題。效率問題著重于天氣效果渲染的實時性。要求渲染得到的每幀圖像都是動態(tài)變化的,且變化情況與自然界的天氣現(xiàn)象相似,解決的是動態(tài)問題。目前,由Reeves于1983年首先提出的粒子系統(tǒng)是實現(xiàn)雨、雪、云、霧、等天氣效果值染的主流技術(shù)(Wiliam T. Reeves. A technique for mo-deling a class of fuzzyobject. SIGGRAPH,83, Computer Graphics, July 1983,17 (3) : 359 376)。粒子系統(tǒng)基于粒子在固定區(qū)域范圍內(nèi)隨機出現(xiàn)的方式,粒子的形態(tài)變化和運動方式完全遵循動力學規(guī)律。當渲染的天氣效果范圍較小時,粒子系統(tǒng)可以得到較高的逼真度和實時性。但是利用粒子系統(tǒng)渲染的天氣效果的區(qū)域范圍和區(qū)域邊界形狀固定,缺乏自適應(yīng)改變能力,無法用于模擬任意區(qū)域形狀的天氣效果。同時,當天氣范圍增大時,粒子系統(tǒng)只能通過增加粒子數(shù)量的方式來實現(xiàn)天氣效果的渲染,渲染效率迅速下降。面對諸如全球范圍內(nèi)天氣效果的實時渲染需求時,由于粒子數(shù)量巨大,對計算機的計算和存儲能力要求非常高,在目前的計算機軟硬件條件下,傳統(tǒng)的粒子系統(tǒng)根本無能為力。對于超大規(guī)模的天氣效果渲染問題來說,效率低下是其面臨的主要問題,因此迫切需要一種加速技術(shù)來提升效率。四叉樹作為目前廣泛應(yīng)用平面超大規(guī)模空間數(shù)據(jù)處理的加速技術(shù),具有強大的效率提升能力。但是四叉樹無法直接用于解決球面空間的劃分問題。直至目前,尚無已公開發(fā)表的關(guān)于諸如全球范圍內(nèi)超大規(guī)模天氣效果模擬的研究成果。
技術(shù)實現(xiàn)思路
本專利技術(shù)的目的在于針對全球范圍內(nèi)任意大小和形狀的天氣效果區(qū)域,提供一種基于四叉樹粒子系統(tǒng)的加速渲染方法,從得到高逼真度的天氣效果實時模擬圖像。實現(xiàn)本專利技術(shù)目的的技術(shù)解決方案為,包括以下步驟第一步,以經(jīng)度Θ、緯度供的取值區(qū)間二分劃分來實現(xiàn)球面的四叉分塊;第二步,添加粒子發(fā)射器,形成粒子源,組合粒子源形成四叉樹粒子系統(tǒng),即在球面四叉樹所有的葉子節(jié)點內(nèi)添加粒子發(fā)射器形成粒子源,一個粒子源渲染出一小塊區(qū)域內(nèi)的天氣效果,所有的粒子源組合形成四叉樹粒子系統(tǒng),渲染出任意區(qū)域形狀和范圍的天氣效果;第三步,區(qū)域編輯,選取處于目標區(qū)域內(nèi)部或者與目標區(qū)域相交的球面四叉樹節(jié)點塊,并將這些球面四叉樹節(jié)點塊添加到節(jié)點塊隊列中,實現(xiàn)對目標區(qū)域的逼近;第四步,粒子源剔除,利用粒子源的邊界盒和視圖截椎的相交判斷來實現(xiàn)粒子源剔除。本專利技術(shù)與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(I)天氣效果的渲染效率有了很大的提升。(2 )具有強大的動態(tài)自適應(yīng)能力,可以適應(yīng)程序運行過程中的各種變化。 下面三幅圖給出了在PC 機(Intel E7400CPU 2. 8GHz, 2G RAM, ATI RadeonHD3450)上利用標準OpenGL圖形庫實現(xiàn)的超大規(guī)模下雨效果的示意圖。圖I展示了基于四叉樹粒子系統(tǒng),結(jié)合區(qū)域編輯算法實現(xiàn)的三個任意形狀區(qū)域的天氣效果。圖2和圖3展示了四叉樹粒子系統(tǒng)實現(xiàn)的全球范圍內(nèi)的降雨效果圖。本文的算法具有極高的渲染效率,渲染全球范圍內(nèi)的天氣效果平均可以獲得30fps的速度。目前雖然已有大量已公開發(fā)表的天氣效果渲染方案(如ChangboWang, ZhangyeWang,Tian Xia,Qunsheng Peng,Real time snowing simulation, The VisualComputer, 2006, 22(5) :315等),但這些方案的天氣都只局限于小范圍區(qū)域內(nèi)的天氣效果模擬,其研究重點也都著重于視覺效果的改善,都未涉足超大規(guī)模區(qū)域范圍天氣效果模擬的效率提升。下面結(jié)合附圖對本專利技術(shù)作進一步詳細描述。附圖說明圖I是區(qū)域編輯效果示意圖。圖2是利用本專利技術(shù)實現(xiàn)的高視點下全球降雨效果圖(高視點)。圖3是利用本專利技術(shù)實現(xiàn)的低視點下全球降雨效果圖(低視點)。圖4是球面四叉樹分塊示意圖。圖5是區(qū)域編輯不意圖。圖6是區(qū)域編輯構(gòu)建四叉樹森林核心流程圖。圖7是粒子源剔除算法核心流程。圖8是粒子源剔除結(jié)果示例。圖9是粒子源剔除結(jié)果拓撲圖示例。具體實施例方式本專利技術(shù)超大規(guī)模天氣效果渲染方法,是基于球面四叉樹粒子系統(tǒng)來渲染天氣效果,借助四叉樹的思想建立球面四叉樹對地球表面進行劃分,每個節(jié)點代表一塊區(qū)域范圍。在球面四叉樹的葉子節(jié)點添加粒子發(fā)射器構(gòu)成粒子源,不同的粒子源組合構(gòu)成四叉樹粒子系統(tǒng)。四叉樹粒子系統(tǒng)可實現(xiàn)對全球范圍內(nèi)任意大小、任意形狀區(qū)域的天氣效果模擬,步驟如下第一步,建立球面四叉樹,以經(jīng)度Θ、緯度爐的取值區(qū)間二分劃分來實現(xiàn)球面的四叉分塊。如圖4所示,點O表示地球球心,點P表示地球表面上的任意一點,OP的距離等于地球半徑R。Pi表示P在XOY平面的投影,Θ是沒;與石P的夾角,爐是與X軸的夾角。點P的球坐標Psph為Psph =(τ,θ,φ) {Γ = Κ,θ(Ξ, φ^(-π,π]}(I)公式(I)中,Θ的取值范圍為,爐的取值范圍為(_ π,π],這樣做的好處在于坐標Θ與爐可以分別與地球的緯度和經(jīng)度相對應(yīng),便于理解和計算。確定了球面半徑r,球面區(qū)域的范圍則由Θ與識的變化區(qū)間進行控制。對Θ與辦的取值區(qū)間進行劃分可實現(xiàn)對球面區(qū)域的劃分。例如將公式(I)中Θ與安的取值區(qū)間各劃分為原來的1/2,則可以將整個地球表面劃分為4個子區(qū)域塊,各子區(qū)域塊的Θ與免的取值區(qū)間分別為Child Re gionx : {Θ e , φ e (-^,0 ]} Child Re gion2 : {θ e } (2)Child Re gion3 : {θ e , φ e (-^,0 ] }CMld Re gion4 : {θ e }按照這種分塊方式對球面進行四叉劃分,各層次區(qū)域塊構(gòu)成四叉樹形的結(jié)構(gòu),我們稱之為球面四叉樹。球面四叉樹滿足以下條件a、整個球面作為球面四叉樹的根節(jié)點,根節(jié)點為第一層節(jié)點。Θ的區(qū)間長度為π,識的區(qū)間長度為2 31。b、四叉樹中的每個非葉子節(jié)點可劃分為四個子節(jié)點,第N層節(jié)點的Θ與@的區(qū)間長度分別為:φΛ φΛ—2疋(ΛΓ>1)ο對于某一個節(jié)點塊來說,若區(qū)域塊內(nèi)點的Θ與爐取值范圍已經(jīng)確定,在此節(jié)點塊內(nèi)從地平面到海拔為H的空域內(nèi)任意一點的球坐標為 \Λ=(ρ.θ,φ) \pg}⑶其中θmin, θ max e (-JI /2,31 /2],^mm,^fflax e (~π,π]球面四叉樹的深度取決于視點處于當前位置時的視圖截椎的視野范圍(視圖截椎是圖形學中的基本概念,可以參考圖形編程的書籍)。計算球面四叉樹深度Lmax的公式為Lmax = Iog2 (―~) +1(4) AngleViewAngleView表示當前視野范圍內(nèi)可見區(qū)域的角寬度(根據(jù)視圖截椎獲得,具體方法較為基礎(chǔ),許多圖形學編程的書籍都有講述),且有0 < AngleView < π。層次為Lmax的葉子節(jié)點塊可以對地球本文檔來自技高網(wǎng)...
【技術(shù)保護點】
一種超大規(guī)模天氣效果渲染方法,其特征在于包括以下步驟:第一步,以經(jīng)度θ、緯度的取值區(qū)間二分劃分來實現(xiàn)球面的四叉分塊;第二步,添加粒子發(fā)射器,形成粒子源,組合粒子源形成四叉樹粒子系統(tǒng),即在球面四叉樹所有的葉子節(jié)點內(nèi)添加粒子發(fā)射器形成粒子源,一個粒子源渲染出一小塊區(qū)域內(nèi)的天氣效果,所有的粒子源組合形成四叉樹粒子系統(tǒng),渲染出任意區(qū)域形狀和范圍的天氣效果;第三步,區(qū)域編輯,選取處于目標區(qū)域內(nèi)部或者與目標區(qū)域相交的球面四叉樹節(jié)點塊,并將這些球面四叉樹節(jié)點塊添加到節(jié)點塊隊列中,實現(xiàn)對目標區(qū)域的逼近;第四步,粒子源剔除,利用粒子源的邊界盒和視圖截椎的相交判斷來實現(xiàn)粒子源剔除,步驟如下:a.新建一個粒子源隊列CullQueue,遍歷四叉樹森林F,將所有粒子源節(jié)點塊壓入CullQueue,當前視圖截椎的角寬度為AngleView;b.如果CullQueue為空,則算法結(jié)束,否則:彈出CullQueue首部的粒子源節(jié)點塊Uc;c.判斷Uc的邊界盒是否與視圖截椎相交,若不相交,則剔除此節(jié)點的粒子源,返回b,否則獲取Uc的角寬度AngleUc,轉(zhuǎn)向步驟d;d.如果此節(jié)點塊處于視圖截椎內(nèi)部,保留此粒子源,返回至步驟b,否則轉(zhuǎn)向步驟e;e.如果AngleUc≤AngleView,保留此粒子源,算法返回步驟b,否則轉(zhuǎn)向步驟f;f.如果AngleUc>AngleView,則將此節(jié)點塊分裂為4個子節(jié)點塊,根據(jù)子節(jié)點塊的深度和位置添加粒子發(fā)射器形成新的粒子源,并將四個粒子源塊壓入隊列CullQueue的隊尾,返回步驟b。FDA00002112060700011.jpg...
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:羅健欣,唐斌,倪桂強,胡谷雨,金鳳林,謝鈞,端義鋒,繆志敏,陳劍,
申請(專利權(quán))人:中國人民解放軍理工大學,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。