專利名稱:一種二維畫面中環(huán)境效果的顯示方法和顯示裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理領(lǐng)域,尤其涉及一種二維畫面中環(huán)境效果的顯示方法和顯示
直O(jiān)
背景技術(shù):
目前在2D (二維)畫面中模擬環(huán)境效果的技術(shù)(比如2D圖像的環(huán)境顯示系統(tǒng)、天氣情況顯示系統(tǒng)、2D游戲等)中,一般只限于簡(jiǎn)單的雨雪天氣模擬,其效果不夠真實(shí);并且由于效率的問題,現(xiàn)有的2D畫面進(jìn)行全屏特效模擬較難實(shí)現(xiàn),比如晝夜變化,夜間燈光等高級(jí)效果都沒有具體的實(shí)現(xiàn)方案。另外傳統(tǒng)的2D畫面中對(duì)環(huán)境效果的渲染,只是進(jìn)行簡(jiǎn)單的用美術(shù)圖素進(jìn)行繪制,這樣的繪制對(duì)于美術(shù)的依賴性過高,并且靈活度和效率不高,當(dāng)有新的效果需求時(shí)不易實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種二維畫面中環(huán)境效果的顯示方法和顯示裝置,能夠靈活真實(shí)的模擬雨雪效果。為了解決上述問題,本發(fā)明提供了一種二維畫面中環(huán)境效果的顯示方法,包括判斷當(dāng)前要顯示的天氣效果;在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向
偏移量。優(yōu)選地,所述判斷當(dāng)前要顯示的天氣效果的步驟前還包括對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間;所述判斷當(dāng)前要顯示的天氣效果的步驟中,是根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。優(yōu)選地,所述的方法還包括設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色;顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色;根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。優(yōu)選地,在顯示二維畫面時(shí),使用MMX指令集繪制每一幀。優(yōu)選地,所述的方法還包括設(shè)置要顯示的二維畫面中各像素的光源屬性;顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素正常渲染。
優(yōu)選地,所述的方法還包括用一個(gè)和屏幕分辨率相同的模板緩存保存各像素的光源屬性,默認(rèn)該緩存中各數(shù)據(jù)的初始值是0;所述設(shè)置各像素的光源屬性的步驟中是分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除該模板緩存,在繪制下一幀時(shí)重新置值。本發(fā)明還提供了一種二維畫面中環(huán)境效果的顯示裝置,包括存儲(chǔ)模塊;判斷模塊,用于判斷當(dāng)前要顯示的天氣效果;顯示模塊,用于在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)所述存儲(chǔ)模塊保存的配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量。優(yōu)選地,所述的裝置還包括第一設(shè)置模塊,用于對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間;所述判斷模塊根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。優(yōu)選地,所述的裝置還包括第二設(shè)置模塊,用于設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色;計(jì)算模塊,用于當(dāng)顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色;所述顯示模塊根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。優(yōu)選地,所述顯示模塊還用于在顯示二維畫面時(shí),使用MMX指令集繪制每一幀。優(yōu)選地,所述的裝置還包括第三設(shè)置模塊,用于設(shè)置要顯示的二維畫面中各像素的光源屬性;所述顯示模塊還用于在顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素正常渲染。優(yōu)選地,所述的裝置還包括一個(gè)和屏幕分辨率相同的模板緩存,用于保存各像素的光源屬性;所述顯示模塊根據(jù)該模板緩存中保存的各像素的光源屬性,來判斷各像素是否為光源;所述第三設(shè)置模塊設(shè)置各像素的光源屬性是指分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除該模板緩存,在要顯示下一幀時(shí)重新置值。本發(fā)明的技術(shù)方案通過簡(jiǎn)單圖形和配置參數(shù)來模擬雨雪效果,只用修改配置參數(shù)就可以實(shí)現(xiàn)不同天氣強(qiáng)度、風(fēng)向下的顯示效果,還可以設(shè)置發(fā)生的頻率,持續(xù)時(shí)間等,使得整個(gè)效果更加靈活真實(shí)。本發(fā)明的優(yōu)化方案能夠?qū)崿F(xiàn)高效的晝夜變換效果,減少內(nèi)存占用。 本發(fā)明的又一優(yōu)化方案通過模板緩存技術(shù)可模擬晝夜變化和燈光效果,還可以通過MMX指令集的匯編渲染片段大幅提高渲染速度。
圖1是實(shí)施例六到十的二維畫面中環(huán)境效果的顯示裝置的示意框圖2是實(shí)施例i^一中的處理過程示意圖。
具體實(shí)施例方式下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。需要說明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。實(shí)施例一,一種二維畫面中環(huán)境效果的顯示方法,包括判斷當(dāng)前要顯示的天氣效果;在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量(采用線段時(shí),就是線段的縱向/橫向偏移量,采用矩形時(shí),就是矩形的縱向/橫向偏移量)O當(dāng)然,配置參數(shù)僅包括所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量或橫向偏移量中的任一項(xiàng)或包括其任意組合時(shí),均可實(shí)現(xiàn)本發(fā)明技術(shù)方案。本實(shí)施例中,顯示密度可表示為每秒鐘雨點(diǎn)或雪花的數(shù)目,在添加線段或矩形時(shí), 可用該數(shù)目除以幀率(每秒顯示的幀數(shù))得到每幀上添加的線段或矩形個(gè)數(shù)。本實(shí)施例中,相鄰兩幀間各線段或矩形的縱向偏移量可表示為雨點(diǎn)或雪花的下落速度,在添加線段或矩形時(shí),可用該下落速度除以幀率得到在相鄰兩幀中所添加的線段或矩形在縱向上的移動(dòng)距離。本實(shí)施例中,相鄰兩幀間各線段或矩形的橫向偏移量可表示為橫向風(fēng)速,在添加線段或矩形時(shí),可用該下落速度除以幀率得到在相鄰兩幀中所添加的線段或矩形在橫向上的移動(dòng)距離。 本實(shí)施例中,所述配置參數(shù)還可以包括顯示的持續(xù)時(shí)間。本實(shí)施例中,所述配置參數(shù)還可以包括線段的長(zhǎng)度、矩形的大小等。本實(shí)施例用線段和方形來模擬雨雪的效果,還可以通過設(shè)置配置參數(shù)來靈活顯示更為復(fù)雜的天氣效果。本實(shí)施例中,所述配置參數(shù)可以是數(shù)據(jù)或鏈表形式。實(shí)施例二,一種二維畫面中環(huán)境效果的顯示方法,包括實(shí)施例一中的步驟,所述判斷當(dāng)前要顯示的天氣效果的步驟前還包括對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間;所述判斷當(dāng)前要顯示的天氣效果的步驟中,是根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。當(dāng)然,天氣參數(shù)僅包括天氣類型、不同天氣效果的發(fā)生概率或持續(xù)時(shí)間中的任一項(xiàng)或包括其任意組合時(shí),均可實(shí)現(xiàn)本發(fā)明技術(shù)方案。本實(shí)施例中,可以簡(jiǎn)單的通過設(shè)置天氣參數(shù)來定義各個(gè)地圖的不同天氣效果,擁有極高的靈活性和擴(kuò)展性。實(shí)施例三,一種二維畫面中環(huán)境效果的顯示方法,應(yīng)用在C/S系統(tǒng)中,包括實(shí)施例一中的步驟,所述判斷當(dāng)前要顯示的天氣效果的步驟是指客戶端根據(jù)服務(wù)器的指令判斷當(dāng)前要顯示的天氣效果。本實(shí)施例中,服務(wù)器可以分別設(shè)置各地圖的天氣參數(shù),然后根據(jù)天氣參數(shù)來發(fā)送設(shè)置或更改天氣效果的指令給客戶端,所述天氣參數(shù)同實(shí)施例二 ;服務(wù)器也可以是根據(jù)其它規(guī)則,或是人工設(shè)定來發(fā)送設(shè)置或更改天氣效果的指令給客戶端。實(shí)施例四,一種二維畫面中環(huán)境效果的顯示方法,包括實(shí)施例一中的步驟,還包括設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色;顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色;根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。比如可以但不限于把一天M小時(shí)抽象成7個(gè)時(shí)間段,各時(shí)間段中間的時(shí)間點(diǎn)通過線性插值進(jìn)行顏色模擬。本實(shí)施例中的當(dāng)前時(shí)間可以是實(shí)際時(shí)間,也可以是系統(tǒng)中自定義事件,比如游戲里的時(shí)間。本實(shí)施例可以達(dá)到高效的晝夜變換效果,減少內(nèi)存占用。本實(shí)施例中,所述方法還可以包括顯示二維畫面時(shí),使用MMX指令集繪制每一幀;這樣可加速渲染速度,使得晝夜在 2D游戲中的模擬得以實(shí)現(xiàn)。渲染片段可以通過MMX SSE (指令集),或者普通函數(shù)片段實(shí)現(xiàn)。實(shí)施例五,一種二維畫面中環(huán)境效果的顯示方法,包括實(shí)施例一中的步驟,還包括設(shè)置要顯示的二維畫面中各像素的光源屬性,比如將是光源的像素的光源屬性的值設(shè)為非零值,可以但不限于為1 ;將其它像素的光源屬性的值設(shè)為0 ;實(shí)際應(yīng)用時(shí),也可以采用別的方式設(shè)置;顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素(比如光源屬性為非零值的像素)不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素 (比如光源屬性為0的像素)正常渲染。本實(shí)施例中,可以但不限于用一個(gè)和屏幕分辨率相同的模板緩存保存各像素的光源屬性;當(dāng)采用將不是光源的像素的光源屬性的值設(shè)為0的方案時(shí),默認(rèn)該緩存中各數(shù)據(jù)的初始值是0 ;所述設(shè)置各像素的光源屬性的步驟中可以是分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除Mencil Buffer,在繪制下一幀時(shí)重新置值。本實(shí)施例中,所有光照?qǐng)D素所影響的點(diǎn)在黑暗中都是明亮的光的效果。實(shí)現(xiàn)了一套2D技術(shù)的模板緩存實(shí)現(xiàn),使得2D游戲能夠擁有3D游戲才有的燈光等高級(jí)渲染效果。實(shí)施例六,一種二維畫面中環(huán)境效果的顯示裝置,包括存儲(chǔ)模塊;判斷模塊,用于判斷當(dāng)前要顯示的天氣效果;
顯示模塊,用于在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)所述存儲(chǔ)模塊保存的配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量。當(dāng)然,配置參數(shù)僅包括所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量或橫向偏移量中的任一項(xiàng)或包括其任意組合時(shí),均可實(shí)現(xiàn)本發(fā)明技術(shù)方案。本實(shí)施例中,顯示密度可表示為每秒鐘雨點(diǎn)或雪花的數(shù)目,所述顯示模塊在添加線段或矩形時(shí),可用該數(shù)目除以幀率(每秒顯示的幀數(shù))得到每幀上添加的線段或矩形個(gè)數(shù)。本實(shí)施例中,相鄰兩幀間各線段或矩形的縱向偏移量可表示為雨點(diǎn)或雪花的下落速度,所述顯示模塊在添加線段或矩形時(shí),可用該下落速度除以幀率得到在相鄰兩幀中所添加的線段或矩形在縱向上的移動(dòng)距離。本實(shí)施例中,相鄰兩幀間各線段或矩形的橫向偏移量可表示為橫向風(fēng)速,所述顯示模塊在添加線段或矩形時(shí),可用該下落速度除以幀率得到在相鄰兩幀中所添加的線段或矩形在橫向上的移動(dòng)距離。本實(shí)施例中,所述配置參數(shù)還可以包括顯示的持續(xù)時(shí)間。本實(shí)施例中,所述配置參數(shù)還可以包括線段的長(zhǎng)度、矩形的大小等。本實(shí)施例用線段和方形來模擬雨雪的效果,還可以通過設(shè)置配置參數(shù)來靈活顯示更為復(fù)雜的天氣效果。本實(shí)施例中,所述配置參數(shù)可以是數(shù)據(jù)或鏈表形式。實(shí)施例七,一種二維畫面中環(huán)境效果的顯示裝置,包括實(shí)施例六中的各部分,另外還包括第一設(shè)置模塊,用于對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間;所述判斷模塊根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。當(dāng)然,天氣參數(shù)僅包括天氣類型、不同天氣效果的發(fā)生概率或持續(xù)時(shí)間中的任一項(xiàng)或包括其任意組合時(shí),均可實(shí)現(xiàn)本發(fā)明技術(shù)方案。本實(shí)施例中,可以簡(jiǎn)單的通過設(shè)置天氣參數(shù)來定義各個(gè)地圖的不同天氣效果,擁有極高的靈活性和擴(kuò)展性。實(shí)施例八,一種二維畫面中環(huán)境效果的顯示裝置,應(yīng)用在C/S系統(tǒng)中的客戶端中, 包括實(shí)施例六中的各部分,所述判斷模塊根據(jù)服務(wù)器的指令判斷當(dāng)前要顯示的天氣效果。本實(shí)施例中,服務(wù)器可以是根據(jù)預(yù)存的天氣參數(shù)來發(fā)送設(shè)置或更改天氣效果的指令給客戶端,所述天氣參數(shù)同實(shí)施例二;也可以是根據(jù)其它規(guī)則,或是人工設(shè)定來發(fā)送設(shè)置或更改天氣效果的指令給客戶端。實(shí)施例九,一種二維畫面中環(huán)境效果的顯示裝置,包括實(shí)施例六中的各部分,另外還包括第二設(shè)置模塊,用于設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色;計(jì)算模塊,用于當(dāng)顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色;
所述顯示模塊根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。比如可以但不限于把一天M小時(shí)抽象成7個(gè)時(shí)間段,各時(shí)間段中間的時(shí)間點(diǎn)通過線性插值進(jìn)行顏色模擬。本實(shí)施例中的當(dāng)前時(shí)間可以是實(shí)際時(shí)間,也可以是系統(tǒng)中自定義事件,比如游戲里的時(shí)間。本實(shí)施例可以達(dá)到高效的晝夜變換效果,減少內(nèi)存占用。本實(shí)施例中,所述顯示模塊還可用于在顯示二維畫面時(shí),使用MMX指令集繪制每一幀;渲染片段可以通過MMX SSE (指令集),或者普通函數(shù)片段實(shí)現(xiàn)。實(shí)施例十,一種二維畫面中環(huán)境效果的顯示裝置,包括實(shí)施例六中的各部分,另外還包括第三設(shè)置模塊,用于設(shè)置要顯示的二維畫面中各像素的光源屬性,比如將是光源的像素的光源屬性的值設(shè)為非零值,可以但不限于為1 ;將其它像素的光源屬性的值設(shè)為 0 ;實(shí)際應(yīng)用時(shí),也可以采用別的方式設(shè)置;所述顯示模塊還用于在顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素(比如光源屬性為非零值的像素)不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素(比如光源屬性為0的像素)正常渲染。本實(shí)施例中,還可以包括一個(gè)和屏幕分辨率相同的模板緩存,用于保存各像素的光源屬性;當(dāng)采用將不是光源的像素的光源屬性的值設(shè)為0的方案時(shí),該模板緩存中各數(shù)據(jù)的初始值是0;所述顯示模塊根據(jù)該模板緩存中保存的各像素的光源屬性,來判斷各像素是否為光源;所述第三設(shè)置模塊設(shè)置各像素的光源屬性可以是指分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除Mencil Buffer,在要顯示下一幀時(shí)重新置值。包括實(shí)施例六到十中各組成部分的顯示裝置如圖1所示。實(shí)施例十一,一種實(shí)施例一到五中的二維畫面中環(huán)境效果的顯示方法的計(jì)算機(jī)實(shí)現(xiàn),采用KWeather函數(shù)提供對(duì)天氣的基礎(chǔ)描述的參數(shù),KWeatherRain函數(shù)和KWeatherSnow 函數(shù)分別是對(duì)雨和雪的具體兩種實(shí)現(xiàn),采用Breath函數(shù)主要負(fù)責(zé)天氣狀態(tài)的切換和天氣粒子的生成。ReacHnfoFromhiFile函數(shù)負(fù)責(zé)各種不同天氣的配置參數(shù)的讀取,同時(shí) FilterAmbient實(shí)現(xiàn)了天氣對(duì)游戲的環(huán)境光的影響;KWeatherMgr函數(shù)負(fù)責(zé)對(duì)本地圖的天氣效果的統(tǒng)一管理,Inii^ormIni負(fù)責(zé)本地圖可發(fā)生天氣的數(shù)量,發(fā)生概率,持續(xù)時(shí)間等配置管理。在Active里負(fù)責(zé)不同天氣之間的切換和計(jì)算下一次天氣發(fā)生的時(shí)間。本實(shí)施例中的處理過程如圖2所示,服務(wù)器端的KWeatherMgr判斷當(dāng)前時(shí)間是否超過該地圖下一次天氣發(fā)生的時(shí)間,如果超過則向客戶端發(fā)送Changeffeather的指令通知客戶端改變當(dāng)前地圖的天氣,客戶端的KWeatherMgr在收到Chang謂eather消息后會(huì)首先關(guān)閉當(dāng)前的天氣效果,關(guān)閉之后切換為下一個(gè)天氣效果。可以在場(chǎng)景繪制管理KScenePlace 的繪制函數(shù)I^intScene中根據(jù)當(dāng)前的天氣動(dòng)態(tài)調(diào)用其對(duì)應(yīng)的實(shí)現(xiàn)方法。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。 當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種二維畫面中環(huán)境效果的顯示方法,包括 判斷當(dāng)前要顯示的天氣效果;在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量。
2.如權(quán)利要求1所述的方法,其特征在于,所述判斷當(dāng)前要顯示的天氣效果的步驟前還包括對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間;所述判斷當(dāng)前要顯示的天氣效果的步驟中,是根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。
3.如權(quán)利要求1所述的方法,其特征在于,還包括設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色;顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色; 根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。
4.如權(quán)利要求1到3中任一項(xiàng)所述的方法,其特征在于 在顯示二維畫面時(shí),使用MMX指令集繪制每一幀。
5.如權(quán)利要求4所述的方法,其特征在于,還包括 設(shè)置要顯示的二維畫面中各像素的光源屬性;顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素正常渲染。
6.如權(quán)利要求5所述的方法,其特征在于,還包括用一個(gè)和屏幕分辨率相同的模板緩存保存各像素的光源屬性,默認(rèn)該緩存中各數(shù)據(jù)的初始值是0 ;所述設(shè)置各像素的光源屬性的步驟中是分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除該模板緩存,在繪制下一幀時(shí)重新置值。
7.—種二維畫面中環(huán)境效果的顯示裝置,其特征在于,包括存儲(chǔ)模塊; 判斷模塊,用于判斷當(dāng)前要顯示的天氣效果;顯示模塊,用于在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)所述存儲(chǔ)模塊保存的配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量。
8.如權(quán)利要求7所述的裝置,其特征在于,還包括第一設(shè)置模塊,用于對(duì)于不同的地圖,分別設(shè)置該地圖的天氣參數(shù),所述天氣參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合天氣類型、不同天氣效果的發(fā)生概率、持續(xù)時(shí)間; 所述判斷模塊根據(jù)當(dāng)前地圖的天氣參數(shù),判斷當(dāng)前要顯示的天氣效果。
9.如權(quán)利要求7所述的裝置,其特征在于,還包括第二設(shè)置模塊,用于設(shè)置數(shù)個(gè)關(guān)鍵時(shí)間點(diǎn),分別定義各關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色; 計(jì)算模塊,用于當(dāng)顯示二維畫面時(shí),確定當(dāng)前時(shí)間位于哪兩個(gè)關(guān)鍵時(shí)間點(diǎn)之間,根據(jù)這兩個(gè)關(guān)鍵時(shí)間點(diǎn)的環(huán)境顏色,通過線性插值得到當(dāng)前時(shí)間的環(huán)境顏色; 所述顯示模塊根據(jù)當(dāng)前時(shí)間的環(huán)境顏色進(jìn)行顯示。
10.如權(quán)利要求7到9中任一項(xiàng)所述的裝置,其特征在于所述顯示模塊還用于在顯示二維畫面時(shí),使用MMX指令集繪制每一幀。
11.如權(quán)利要求10所述的裝置,其特征在于,還包括第三設(shè)置模塊,用于設(shè)置要顯示的二維畫面中各像素的光源屬性; 所述顯示模塊還用于在顯示二維畫面時(shí),分別根據(jù)各像素的光源屬性判斷該像素是否為光源,對(duì)于是光源的像素不進(jìn)行黑暗光的渲染,對(duì)于不是光源的像素正常渲染。
12.如權(quán)利要求11所述的裝置,其特征在于,還包括一個(gè)和屏幕分辨率相同的模板緩存,用于保存各像素的光源屬性;所述顯示模塊根據(jù)該模板緩存中保存的各像素的光源屬性,來判斷各像素是否為光源;所述第三設(shè)置模塊設(shè)置各像素的光源屬性是指分別設(shè)置所述模板緩存中各相應(yīng)數(shù)據(jù)的值;一幀顯示完畢后清除該模板緩存,在要顯示下一幀時(shí)重新置值。
全文摘要
本發(fā)明公開了一種二維畫面中環(huán)境效果的顯示方法和顯示裝置;方法包括判斷當(dāng)前要顯示的天氣效果;在當(dāng)前要顯示的為雨或雪的天氣效果時(shí),根據(jù)配置參數(shù)在所顯示的二維畫面中添加多個(gè)線段或矩形;所述配置參數(shù)包括以下參數(shù)中的任一個(gè)或其任意組合所述線段或矩形的顯示密度、相鄰兩幀間各線段或矩形的縱向偏移量、相鄰兩幀間各線段或矩形的橫向偏移量。本發(fā)明能夠靈活真實(shí)的模擬雨雪效果。
文檔編號(hào)G06T11/00GK102542583SQ20101060594
公開日2012年7月4日 申請(qǐng)日期2010年12月24日 優(yōu)先權(quán)日2010年12月24日
發(fā)明者夏文濤 申請(qǐng)人:北京金山數(shù)字娛樂科技有限公司, 北京金山軟件有限公司, 成都金山數(shù)字娛樂科技有限公司