一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法
【專利摘要】本發明公開了一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,主要包括:通過動態加載線程,對待繪制粒子進行初始化處理;通過子線程,對初始化處理后的待繪制粒子進行更新處理;通過主線程,對更新處理后的待繪制粒子進行渲染和運算處理。本發明所述基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,可以克服現有技術中更新速度慢、繪制效率低和時間占用率高等缺陷,以實現更新速度快、繪制效率高和時間占用率低的優點。
【專利說明】一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法
【技術領域】
[0001]本發明涉及圖像處理【技術領域】,具體地,涉及一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法。
【背景技術】
[0002]隨著網絡游戲的不斷發展,自主研發的網絡游戲不斷的推陳出新,游戲中的特效不但烘托出游戲的氣場氛圍,給畫面以真實逼真的效果和角色強大的力量,大大滿足了玩家精神力量的發揮,同時也大大提高的整個場面的美術效果,這樣才能使特效更加的自然和真實。
[0003]所謂的游戲特效是我們為游戲場景和角色添加額外的炫彩效果,比如:使用武器所發出子彈的爆炸特效,受力爆炸后的煙霧,燃燒的火焰,天氣變化的雨,雪,等效果利用特效制造的場景氛圍,提升角色攻擊的刺激感,并表現角色的力量美。一款游戲特效的好壞,在游戲感官上也占有很重要的因素,所以在整個網絡游戲制作過程中,要求特效師要對特效的效果進行深刻的研究,制作出比較完美切實的效果。
[0004]粒子系統是粒子發射器做的一些動畫完成的,采用大量的具有一定生命和屬性的微小粒子圖元作為基本元素繪制一個或者多個對象,在粒子系統中,粒子圖元的形狀可以是小球、橢球、立方體或者其他形狀,每個粒子還具有大小、顏色、透明度、運動速度、運動方向和生命周期等屬性。
[0005]目前采用的粒子特效是單線程高分辨下繪制特效的,只開啟一個主線程進行特效繪制,這樣的繪制是更新很慢,效率很低。主線程中程序流程如下所示:
[0006]While (true)
[0007]{
[0008]1、檢測相機內粒子的可見性
[0009]2、粒子和場景中模型進行遮擋判斷,得到一個相機內可見特效列表
[0010]3、排序粒子(從中心到相機的距離的遠近來排序)
[0011]4、修改粒子列表
[0012]5、1/1的分辨率渲染粒子
[0013]}
[0014]當場景中有很多大量粒子的時候,而這些粒子又要與場景中其他的模型進行混合,所有時間占用率很高。所以需要發明一種可以解決這個問題的技術。
[0015]在實現本發明的過程中,發明人發現現有技術中至少存在更新速度慢、繪制效率低和時間占用率聞等缺陷。
【發明內容】
[0016]本發明的目的在于,針對上述問題,提出一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,以實現更新速度快、繪制效率高和時間占用率低的優點。[0017]為實現上述目的,本發明采用的技術方案是:一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,主要包括:
[0018]a、通過動態加載線程,對待繪制粒子進行初始化處理;
[0019]b、通過子線程,對初始化處理后的待繪制粒子進行更新處理;
[0020]C、通過主線程,對更新處理后的待繪制粒子進行渲染和運算處理。
[0021]進一步地,在步驟a中,所述對待繪制粒子進行初始化處理的操作,具體包括:
[0022]al、對加載線程粒子初始化,檢測特效是否可見,若是,則:
[0023]檢測在場景中攝像機所看到的物件模型,經過視錐體對沒有攝像機看到的場景進行剔除;按照相機距離的從遠到近排序,并對遮擋的物件保持順序,依次剔除;
[0024]a2、否則,返回步驟al。
[0025]進一步地,在步驟b中,所述對初始化處理后的待繪制粒子進行更新處理的操作,具體包括:
[0026]bl、對粒子特效進行更新;
[0027]b2、依據分辨率由低到高的順序,對更新后的粒子特效進行排序。
[0028]進一步地,所述步驟bl,具體包括:
[0029]根據粒子的速度、位置、加速度,在子線程更新粒子。
[0030]進一步地,在步驟c中,所述對初始化處理后的待繪制粒子進行渲染和運算處理的操作,具體包括:
[0031]Cl、在低分辨率下繪制1/16面積下的最大深度粒子列表,把待繪制粒子從1/16面積下放大到1/1面積下;
[0032]c2、對粒子特效進行修補處理,通過主線程繪制高分辨率粒子。
[0033]進一步地,在步驟Cl中,在所述把待繪制粒子從1/16面積下放大到1/1面積下的操作之前,還包括:
[0034]開啟獨立的alpha渲染模式狀態。
[0035]進一步地,在步驟c2中,所述對粒子特效進行修補處理的操作,具體包括:
[0036]利用高斯模糊算法和雙邊過濾算法,來修補粒子特效中的鋸齒。
[0037]進一步地,所述高斯模糊算法,具體為:
[0038]高斯模糊是一種圖像模糊的濾波器,它的正態分布計算圖像中的每個像素的變換,因為深度信息是記錄二維空間的坐標信息,那么該深度信息在二維空間定的方程為:
[0039]
【權利要求】
1.一種基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,主要包括: a、通過動態加載線程,對待繪制粒子進行初始化處理; b、通過子線程,對初始化處理后的待繪制粒子進行更新處理; C、通過主線程,對更新處理后的待繪制粒子進行渲染和運算處理。
2.根據權利要求1所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,在步驟a中,所述對待繪制粒子進行初始化處理的操作,具體包括: al、對加載線程粒子初始化,檢測特效是否可見,若是,則: 檢測在場景中攝像機所看到的物件模型,經過視錐體對沒有攝像機看到的場景進行剔除;按照相機距離的從遠到近排序,并對遮擋的物件保持順序,依次剔除; a2、否則,返回步驟al。
3.根據權利要求1或2所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,在步驟b中,所述對初始化處理后的待繪制粒子進行更新處理的操作,具體包括: bl、對粒子特效進行更新; b2、依據分辨率由低到高的順序,對更新后的粒子特效進行排序。
4.根據權利要求3所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,所述步驟bl,具體包括: 根據粒子的速度、位置、加速度,在子線程更新粒子。
5.根據權利要求4所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,在步驟c中,所述對初始化處理后的待繪制粒子進行渲染和運算處理的操作,具體包括: Cl、在低分辨率下繪制1/16面積下的最大深度粒子列表,把待繪制粒子從1/16面積下放大到1/1面積下; c2、對粒子特效進行修補處理,通過主線程繪制高分辨率粒子。
6.根據權利要求5所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,在步驟Cl中,在所述把待繪制粒子從1/16面積下放大到1/1面積下的操作之前,還包括: 開啟獨立的alpha渲染模式狀態。
7.根據權利要求5所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,在步驟c2中,所述對粒子特效進行修補處理的操作,具體包括: 利用高斯模糊算法和雙邊過濾算法,來修補粒子特效中的鋸齒。
8.根據權利要求7所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,所述高斯模糊算法,具體為: 高斯模糊是一種圖像模糊的濾波器,它的正態分布計算圖像中的每個像素的變換,因為深度信息是記錄二維空間的坐標信息,那么該深度信息在二維空間定的方程為: G(u'v)=^e—(w)/2fj2 ⑴;其中,U正態分布的方差,U、V是像素的坐標值。
9.根據權利要求7所述的基于雙緩沖的低分辨率升高分辨率粒子繪制的方法,其特征在于,所述雙邊過濾算法,具體為: 雙邊過濾算法是通過計算一個像素周圍的權重值Weight來計算的:
【文檔編號】G06F17/50GK104008525SQ201410249177
【公開日】2014年8月27日 申請日期:2014年6月6日 優先權日:2014年6月6日
【發明者】張翼 申請人:無錫梵天信息技術股份有限公司