一種游戲圖像渲染方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及圖像處理技術(shù)領(lǐng)域,具體地說,涉及一種游戲圖像渲染方法及系統(tǒng)。
【背景技術(shù)】
[0002]在現(xiàn)階段,電子游戲已經(jīng)是人們?nèi)粘蕵凡豢扇鄙俚慕M成部分。尤其是對于當(dāng)下熱門的智能終端類產(chǎn)品,隨著操作系統(tǒng)的完善和硬件配置的不斷攀升,其所搭載的電子游戲的規(guī)模也一直在快速的增長。電子游戲無論視覺效果還是交互操作方式,都不停的升級換代。相應(yīng)的,電子游戲所消耗的性能資源也必然越來越多。
[0003]不同于普通軟件的界面只在操作時發(fā)生響應(yīng),電子游戲的顯示圖像處在一種循環(huán)的渲染過程中;即使用戶不做任何操作,也要逐幀進(jìn)行圖像渲染,才能夠維持游戲圖像連貫的顯示。換言之,在運行電子游戲的時候,維持游戲圖像必須長時間的占用大量性能資源。
[0004]在現(xiàn)有技術(shù)中,要想降低逐幀渲染對性能資源的消耗,采取的方式是減少幀數(shù)。例如將游戲圖像的每秒60幀減少至每秒30?40幀。但是,減少幀數(shù)會顯著的降低游戲圖像的視覺效果,導(dǎo)致圖像的卡頓,降低用戶體驗;而且低幀數(shù)也會導(dǎo)致用戶眼睛的疲勞。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請?zhí)峁┝艘环N游戲圖像渲染方法及系統(tǒng),主要應(yīng)用在智能終端搭載的游戲程序常用的3D引擎當(dāng)中,能夠在不減少幀數(shù)的情況下,實現(xiàn)性能優(yōu)化,降低圖像渲染對性能資源的占用。
[0006]為了解決上述技術(shù)問題,本申請有如下技術(shù)方案:
[0007]一種游戲圖像渲染方法,所述方法包括:
[0008]確定當(dāng)前邏輯場景,并將所述當(dāng)前邏輯場景與舊邏輯場景進(jìn)行對比,將所述當(dāng)前邏輯場景相對于舊邏輯場景發(fā)生位置變化的邏輯元素,作為目標(biāo)元素;所述舊邏輯場景為當(dāng)前邏輯場景相鄰的前一個邏輯場景;
[0009]調(diào)取舊邏輯場景對應(yīng)的圖像幀作為舊圖像幀;根據(jù)所述目標(biāo)元素的位置,在所述舊圖像幀上劃定判定矩形;所述判定矩形為,覆蓋所述目標(biāo)元素在當(dāng)前邏輯場景中位置和舊邏輯場景中位置,且面積最小的矩形;
[0010]根據(jù)所述當(dāng)前邏輯場景,對所述舊圖像幀中的判定矩形覆蓋的區(qū)域進(jìn)行重新繪制,得到當(dāng)前圖像幀,并將所述當(dāng)前圖像幀顯示;
[0011]重復(fù)上述過程,以生成動態(tài)的游戲圖像。
[0012]所述對舊圖像幀中的判定矩形覆蓋的區(qū)域進(jìn)行重新繪制具體為:
[0013]將舊圖像幀中,被判定矩形覆蓋的像素的值標(biāo)記為I,未被判定矩形覆蓋的像素的值標(biāo)記為O ;
[0014]根據(jù)當(dāng)前邏輯場景中對邏輯元素的設(shè)定,重新繪制所有像素值為I的像素。
[0015]將所述當(dāng)前邏輯場景相對于舊邏輯場景未發(fā)生位置變化的邏輯元素,作為非目標(biāo)元素;則所述對所述舊圖像幀中的判定矩形覆蓋的區(qū)域進(jìn)行重新繪制還包括:
[0016]將全部或部分被判定矩形覆蓋的非目標(biāo)元素進(jìn)行重新繪制。
[0017]所述目標(biāo)元素為一個或者多個;當(dāng)所述目標(biāo)元素為多個,則所述根據(jù)所述目標(biāo)元素的位置,在所述舊圖像幀上劃定判定矩形具體為:
[0018]針對每個目標(biāo)元素在當(dāng)前邏輯場景中位置和舊邏輯場景中位置,在所述舊圖像幀上劃定判定矩形。
[0019]所述方法還包括:
[0020]設(shè)定數(shù)量閾值,當(dāng)目標(biāo)元素的數(shù)量超過所述數(shù)量閾值,則在針對每個目標(biāo)元素劃定判定矩形之后,對所述判定矩形進(jìn)行合并;
[0021]合并后的判定矩形的數(shù)量不大于所述數(shù)量閾值,且各判定矩形的面積之和最小。
[0022]一種游戲圖像渲染系統(tǒng),所述系統(tǒng)包括:
[0023]目標(biāo)元素模塊,用于確定當(dāng)前邏輯場景,并將所述當(dāng)前邏輯場景與舊邏輯場景進(jìn)行對比,將所述當(dāng)前邏輯場景相對于舊邏輯場景發(fā)生位置變化的邏輯元素,作為目標(biāo)元素;
[0024]判定矩形模塊,用于調(diào)取舊邏輯場景對應(yīng)的圖像幀作為舊圖像幀;根據(jù)所述目標(biāo)元素的位置,在所述舊圖像幀上劃定判定矩形;
[0025]圖像生成模塊,用于根據(jù)所述當(dāng)前邏輯場景,對所述舊圖像幀中的判定矩形覆蓋的區(qū)域進(jìn)行重新繪制,得到當(dāng)前圖像幀,并將所述當(dāng)前圖像幀顯示;
[0026]所述舊邏輯場景為當(dāng)前邏輯場景相鄰的前一個邏輯場景;
[0027]所述判定矩形為,覆蓋所述目標(biāo)元素在當(dāng)前邏輯場景中位置和舊邏輯場景中位置,且面積最小的矩形。
[0028]所述圖像生成模塊包括:
[0029]標(biāo)記單元,用于將舊圖像幀中,被判定矩形覆蓋的像素的值標(biāo)記為1,未被判定矩形覆蓋的像素的值標(biāo)記為O ;
[0030]繪制單元,用于根據(jù)當(dāng)前邏輯場景中對邏輯元素的設(shè)定,重新繪制所有像素值為I的像素,得到當(dāng)前圖像幀,并將所述當(dāng)前圖像幀顯示。
[0031]將所述當(dāng)前邏輯場景相對于舊邏輯場景未發(fā)生位置變化的邏輯元素,作為非目標(biāo)元素;則所述圖像生成模塊對所述舊圖像幀中的判定矩形覆蓋的區(qū)域進(jìn)行重新繪制還包括:
[0032]將全部或部分被判定矩形覆蓋的非目標(biāo)元素進(jìn)行重新繪制。
[0033]所述目標(biāo)元素為一個或者多個;當(dāng)所述目標(biāo)元素為多個,則所述判定矩形模塊包括:
[0034]調(diào)取單元,用于調(diào)取舊邏輯場景對應(yīng)的圖像幀作為舊圖像幀;
[0035]判定單元,用于針對每個目標(biāo)元素在當(dāng)前邏輯場景中位置和舊邏輯場景中位置,在所述舊圖像幀上劃定判定矩形。
[0036]所述判定矩形模塊還包括:
[0037]合并單元,用于設(shè)定數(shù)量閾值,當(dāng)目標(biāo)元素的數(shù)量超過所述數(shù)量閾值,則在針對每個目標(biāo)元素劃定判定矩形之后,對所述判定矩形進(jìn)行合并;合并后的判定矩形的數(shù)量不大于所述數(shù)量閾值,且各判定矩形的面積之和最小。
[0038]與現(xiàn)有技術(shù)相比,本申請所述的方法和系統(tǒng),達(dá)到了如下效果:減少了渲染過程中的圖像繪制面積,使得硬件的運算量顯著下降,直接的降低了產(chǎn)生動態(tài)游戲圖像對硬件資源的消耗;并且通過計算使判定矩形的面積盡可能小,實現(xiàn)了進(jìn)一步的性能優(yōu)化。
[0039]當(dāng)然,實施本申請的任一產(chǎn)品必不一定需要同時達(dá)到以上所述的所有技術(shù)效果。
【附圖說明】
[0040]此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
[0041]圖1為本申請實施例所述方法流程圖;
[0042]圖2?圖3為本申請實施例所述判定矩形的示意圖;
[0043]圖4A?圖4C為本申請實施例所述判定矩形合并的示意圖;
[0044]圖5為本申請實施例所述判定矩形覆蓋非目標(biāo)元素示意圖;
[0045]圖6為本申請實施例所述系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0046]如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0047]圖像幀是動態(tài)影像最基本的組成部分。一幀即一個靜態(tài)圖像,大量的圖像幀快速連續(xù)的播放,就能夠借助人眼的余暉效應(yīng)形成視覺上的動態(tài)影像。無論電影、動畫或者本申請中所述的游戲圖像,都是基于這一原理產(chǎn)生動態(tài)影像的。
[0048]對于游戲程序來說,要利用圖像幀的播放形成動態(tài)游戲圖像,必須依靠CPU、GPU和內(nèi)存等硬件逐幀進(jìn)行計算和渲染。一個圖像幀的渲染過程大致如下:先用背景色(通常是黑色)完全填充舊圖像幀,