国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      虛擬海面渲染方法及系統(tǒng)與流程

      文檔序號(hào):11145164閱讀:472來源:國(guó)知局
      虛擬海面渲染方法及系統(tǒng)與制造工藝

      本公開涉及圖像渲染技術(shù)領(lǐng)域,具體而言,涉及一種虛擬海面渲染方法以及虛擬海面渲染系統(tǒng)。



      背景技術(shù):

      隨著移動(dòng)通信技術(shù)的快速發(fā)展,在觸控終端上出現(xiàn)了越來越多的游戲應(yīng)用。在游戲應(yīng)用的運(yùn)行過程中,觸控終端按照一定的布局將各種游戲?qū)ο箫@示出來,以便向用戶呈現(xiàn)游戲場(chǎng)景以及提供游戲操作界面。

      在主機(jī)游戲中,游戲的虛擬海面的實(shí)時(shí)渲染效果比較成熟。具體的,通過圖像處理器(Graphics Processing Unit,GPU)的頂點(diǎn)紋理采樣功能(Vertex Texture Fetch,VTF)模擬復(fù)雜的頂點(diǎn)起伏,然后通過細(xì)分曲面技術(shù),細(xì)化頂點(diǎn)網(wǎng)格,使得波浪運(yùn)動(dòng)更加細(xì)膩并且細(xì)節(jié)更加豐富。然而,起伏的效果取決于頂點(diǎn)的細(xì)密程度和起伏的不規(guī)則程度。對(duì)移動(dòng)終端(例如,手機(jī))而言,由于設(shè)備硬件的多樣性,不是所有的移動(dòng)終端都支持頂點(diǎn)紋理采樣功能,同時(shí),受限于GPU處理能力(例如,兼容性、帶寬等),移動(dòng)終端不能使用過多的頂點(diǎn)制作海面。

      另一種實(shí)現(xiàn)虛擬海面實(shí)時(shí)渲染的方法是基于屏幕空間的逐像素海面起伏計(jì)算。具體的,在繪制虛擬海面上每一個(gè)像素時(shí)可以基于屏幕空間反向求解出游戲空間上的坐標(biāo),然后將所述坐標(biāo)當(dāng)作頂點(diǎn),以模擬起伏過程。然而,逐像素計(jì)算所產(chǎn)生的開銷與屏幕中實(shí)際占用的像素?cái)?shù)量成正比,因此,在像素?cái)?shù)量龐大的情況下,移動(dòng)終端GPU可能產(chǎn)生無法正常處理的問題。另外,該方法由于在像素層面上做起伏模擬,故其顯示范圍不會(huì)超出整個(gè)像素范圍的外輪廓,因此,在用戶的視線與虛擬海面平行的情況下,虛擬海面的顯示可能會(huì)出現(xiàn)問題。

      鑒于此,需要一種新的虛擬海面渲染方法以及虛擬海面渲染系統(tǒng)。

      需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本公開的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。



      技術(shù)實(shí)現(xiàn)要素:

      本公開的目的在于提供一種虛擬海面渲染方法以及虛擬海面渲染系統(tǒng),進(jìn)而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的一個(gè)或者多個(gè)問題。

      根據(jù)本公開的一個(gè)方面,提供一種虛擬海面渲染方法,包括:

      確定多種候選渲染處理方式的優(yōu)先級(jí);其中,每一所述候選渲染處理方式用于將待渲染的虛擬海面渲染出相應(yīng)的美術(shù)效果;

      根據(jù)各所述候選渲染處理方式的優(yōu)先級(jí)建立各所述候選渲染處理方式與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系;

      檢測(cè)一用于顯示所述待渲染的虛擬海面的預(yù)設(shè)移動(dòng)終端的性能參數(shù);

      根據(jù)所述預(yù)設(shè)移動(dòng)終端的性能參數(shù)以及所述映射關(guān)系從所述候選渲染處理方式中確定被選渲染處理方式;以及

      通過所述被選渲染處理方式對(duì)所述預(yù)設(shè)移動(dòng)終端顯示的所述待渲染的虛擬海面進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,所述候選渲染處理方式包括法線貼圖、模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域以及配置倒影中的一種或多種。

      在本公開的一種示例性實(shí)施例中,在所述候選渲染處理方式中,所述法線貼圖的優(yōu)先級(jí)最高,所述配置倒影的優(yōu)先級(jí)最低。

      在本公開的一種示例性實(shí)施例中,所述法線貼圖的渲染處理方式包括:

      采用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點(diǎn);

      判斷所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角大小,并根據(jù)所述夾角大小對(duì)所述照射點(diǎn)的顏色進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,其中:

      當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于0°時(shí),采用趨近于第一預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染;

      當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于90°時(shí),采用趨近于第二預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,所述模擬頂點(diǎn)波浪動(dòng)畫的渲染處理方式包括:

      針對(duì)所述虛擬海面上的每一頂點(diǎn),對(duì)所述頂點(diǎn)的法線進(jìn)行多次采樣;

      根據(jù)所述采樣的采樣結(jié)果創(chuàng)建方向、速度、頻率和振幅均不同的abs(sin)函數(shù);以及

      將多個(gè)所述abs(sin)函數(shù)疊加,以計(jì)算出所述頂點(diǎn)的高低變化。

      在本公開的一種示例性實(shí)施例中,所述白沫貼圖的渲染處理方式包括:

      判斷所述虛擬海面的高度是否高于一預(yù)設(shè)高度;

      在判斷出所述虛擬海面的高度高于所述預(yù)設(shè)高度的情況下,將所述虛擬海面高出所述預(yù)設(shè)高度的部分混合白沫的顏色。

      在本公開的一種示例性實(shí)施例中,所述高光處理的渲染處理方式包括:

      通過改變與所述法線貼圖中各所述照射點(diǎn)對(duì)應(yīng)的高光指數(shù)實(shí)現(xiàn)所述高光處理。

      在本公開的一種示例性實(shí)施例中,所述實(shí)現(xiàn)淺灘區(qū)域的渲染處理方式包括:

      通過一離線深度圖計(jì)算所述虛擬海面與虛擬海底之間的距離;

      根據(jù)所述虛擬海面與所述虛擬海底之間的距離設(shè)置虛擬陸地與所述虛擬海面交界處的所述虛擬海面的透明度,以實(shí)現(xiàn)淺灘區(qū)域的渲染處理。

      在本公開的一種示例性實(shí)施例中,所述配置倒影的渲染處理方式包括:

      計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);

      將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;

      對(duì)所述倒影貼圖的顏色進(jìn)行采樣;以及

      將所述倒影貼圖的顏色與所述第一預(yù)設(shè)顏色混合。

      在本公開的一種示例性實(shí)施例中,所述配置倒影的渲染處理方式包括一高光阻塞方法,所述高光阻塞方法包括:

      計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);

      將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;以及

      在生成所述倒影貼圖的紋理坐標(biāo)的過程中,將與倒影對(duì)應(yīng)的物體是否遮擋高光的信息寫入一透明通道中,以實(shí)現(xiàn)高光阻塞。

      根據(jù)本公開的一個(gè)方面,提供一種虛擬海面渲染系統(tǒng),包括:

      優(yōu)先級(jí)確定模塊,用于確定多種候選渲染處理方式的優(yōu)先級(jí);其中,每一所述候選渲染處理方式用于將待渲染的虛擬海面渲染出相應(yīng)的美術(shù)效果;

      映射關(guān)系建立模塊,用于根據(jù)各所述候選渲染處理方式的優(yōu)先級(jí)建立各所述候選渲染處理方式與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系;

      檢測(cè)模塊,用于檢測(cè)一用于顯示所述待渲染的虛擬海面的預(yù)設(shè)移動(dòng)終端的性能參數(shù);

      渲染處理方式確定模塊,用于根據(jù)所述預(yù)設(shè)移動(dòng)終端的性能參數(shù)以及所述映射關(guān)系從所述候選渲染處理方式中確定被選渲染處理方式;以及

      渲染模塊,用于通過所述被選渲染處理方式對(duì)所述預(yù)設(shè)移動(dòng)終端顯示的所述待渲染的虛擬海面進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,所述候選渲染處理方式包括法線貼圖、模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域以及配置倒影中的一種或多種。

      在本公開的一種示例性實(shí)施例中,在所述候選渲染處理方式中,所述法線貼圖的優(yōu)先級(jí)最高,所述配置倒影的優(yōu)先級(jí)最低。

      在本公開的一種示例性實(shí)施例中,所述法線貼圖的渲染處理方式包括:

      采用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點(diǎn);

      判斷所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角大小,并根據(jù)所述夾角大小對(duì)所述照射點(diǎn)的顏色進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,其中:

      當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于0°時(shí),采用趨近于第一預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染;

      當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于90°時(shí),采用趨近于第二預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染。

      在本公開的一種示例性實(shí)施例中,所述模擬頂點(diǎn)波浪動(dòng)畫的渲染處理方式包括:

      針對(duì)所述虛擬海面上的每一頂點(diǎn),對(duì)所述頂點(diǎn)的法線進(jìn)行多次采樣;

      根據(jù)所述采樣的采樣結(jié)果創(chuàng)建方向、速度、頻率和振幅均不同的abs(sin)函數(shù);以及

      將多個(gè)所述abs(sin)函數(shù)疊加,以計(jì)算出所述頂點(diǎn)的高低變化。

      在本公開的一種示例性實(shí)施例中,所述白沫貼圖的渲染處理方式包括:

      判斷所述虛擬海面的高度是否高于一預(yù)設(shè)高度;

      在判斷出所述虛擬海面的高度高于所述預(yù)設(shè)高度的情況下,將所述虛擬海面高出所述預(yù)設(shè)高度的部分混合白沫的顏色。

      在本公開的一種示例性實(shí)施例中,所述高光處理的渲染處理方式包括:

      通過改變與所述法線貼圖中各所述照射點(diǎn)對(duì)應(yīng)的高光指數(shù)實(shí)現(xiàn)所述高光處理。

      在本公開的一種示例性實(shí)施例中,所述實(shí)現(xiàn)淺灘區(qū)域的渲染處理方式包括:

      通過一離線深度圖計(jì)算所述虛擬海面與虛擬海底之間的距離;

      根據(jù)所述虛擬海面與所述虛擬海底之間的距離設(shè)置虛擬陸地與所述虛擬海面交界處的所述虛擬海面的透明度,以實(shí)現(xiàn)淺灘區(qū)域的渲染處理。

      在本公開的一種示例性實(shí)施例中,所述配置倒影的渲染處理方式包括:

      計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);

      將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;

      對(duì)所述倒影貼圖的顏色進(jìn)行采樣;以及

      將所述倒影貼圖的顏色與所述第一預(yù)設(shè)顏色混合。

      在本公開的一種示例性實(shí)施例中,所述配置倒影的渲染處理方式包括一高光阻塞方法,所述高光阻塞方法包括:

      計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);

      將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;以及

      在生成所述倒影貼圖的紋理坐標(biāo)的過程中,將與倒影對(duì)應(yīng)的物體是否遮擋高光的信息寫入一透明通道中,以實(shí)現(xiàn)高光阻塞。

      在本公開的一些實(shí)施例所提供的技術(shù)方案中,通過將游戲的虛擬海面的渲染處理方式進(jìn)行優(yōu)先級(jí)排序,建立渲染處理方式的優(yōu)先級(jí)與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系,并且根據(jù)所述映射關(guān)系對(duì)一預(yù)設(shè)移動(dòng)終端顯示的待渲染的虛擬海面進(jìn)行渲染,一方面,可以根據(jù)移動(dòng)終端的性能參數(shù)選擇與該性能參數(shù)匹配的渲染處理方式,從而顯示與所述移動(dòng)終端相適宜的美術(shù)效果;另一方面,通過選擇性地進(jìn)行渲染處理,釋放了移動(dòng)終端處理器的資源,使得移動(dòng)終端的其他功能能夠被正常使用。

      應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。

      附圖說明

      此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:

      圖1示意性示出了根據(jù)本公開的示例性實(shí)施方式的虛擬海面渲染方法的流程圖;

      圖2示出了采用顏色通道存儲(chǔ)法線向量的示意圖;

      圖3示出了確定虛擬海面的渲染顏色的方法的示意圖;

      圖4示意性示出了待渲染的虛擬海面在進(jìn)行法線貼圖之后的游戲效果圖;

      圖5示意性示出了abs(sin)函數(shù)的曲線圖;

      圖6示意性示出了待渲染的虛擬海面在進(jìn)行白沫貼圖之后的游戲效果圖;

      圖7示出了輔助光線所產(chǎn)生的高光反射的示意圖;

      圖8示出了為準(zhǔn)確計(jì)算高光強(qiáng)度而增強(qiáng)法線細(xì)節(jié)的方法示意圖;

      圖9示意性示出了待渲染的虛擬海面在進(jìn)行高光處理之后的游戲效果圖;

      圖10示意性示出了為實(shí)現(xiàn)淺灘區(qū)域而生成的離線深度圖;

      圖11示意性示出了淺灘區(qū)域的游戲效果圖;

      圖12示意性示出了待渲染的虛擬海面在進(jìn)行配置倒影之后的游戲效果圖;以及

      圖13示意性示出了根據(jù)本公開的示例性實(shí)施方式的虛擬海面渲染系統(tǒng)100的方框圖。

      具體實(shí)施方式

      現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本公開將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對(duì)本公開的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識(shí)到,可以實(shí)踐本公開的技術(shù)方案而省略所述特定細(xì)節(jié)中的一個(gè)或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知技術(shù)方案以避免喧賓奪主而使得本公開的各方面變得模糊。

      此外,附圖僅為本公開的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對(duì)它們的重復(fù)描述。附圖中所示的一些方框圖是功能實(shí)體,不一定必須與物理或邏輯上獨(dú)立的實(shí)體相對(duì)應(yīng)??梢圆捎密浖问絹韺?shí)現(xiàn)這些功能實(shí)體,或在一個(gè)或多個(gè)硬件模塊或集成電路中實(shí)現(xiàn)這些功能實(shí)體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實(shí)現(xiàn)這些功能實(shí)體。

      本示例性實(shí)施方式中首先提供了一種虛擬海面渲染方法,該虛擬海面渲染方法主要應(yīng)用于一移動(dòng)終端。該移動(dòng)終端例如可以為手機(jī)、平板電腦、游戲機(jī)、PDA等各種電子設(shè)備。

      圖1示意性示出了根據(jù)本公開的示例性實(shí)施方式的虛擬海面渲染方法的流程圖。參考圖1,所述虛擬海面渲染方法可以包括以下步驟:

      步驟S10.確定多種候選渲染處理方式的優(yōu)先級(jí);其中,每一所述候選渲染處理方式用于將待渲染的虛擬海面渲染出相應(yīng)的美術(shù)效果;

      步驟S20.根據(jù)各所述候選渲染處理方式的優(yōu)先級(jí)建立各所述候選渲染處理方式與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系;

      步驟S30.檢測(cè)一用于顯示所述待渲染的虛擬海面的預(yù)設(shè)移動(dòng)終端的性能參數(shù);

      步驟S40.根據(jù)所述預(yù)設(shè)移動(dòng)終端的性能參數(shù)以及所述映射關(guān)系從所述候選渲染處理方式中確定被選渲染處理方式;以及

      步驟S50.通過所述被選渲染處理方式對(duì)所述預(yù)設(shè)移動(dòng)終端顯示的所述待渲染的虛擬海面進(jìn)行渲染。

      在本示例性實(shí)施方式中,一方面,可以根據(jù)移動(dòng)終端的性能參數(shù)選擇與該性能參數(shù)匹配的渲染處理方式,從而顯示與所述移動(dòng)終端相適宜的美術(shù)效果;另一方面,通過選擇性地進(jìn)行渲染處理,釋放了移動(dòng)終端處理器的資源,使得移動(dòng)終端的其他功能能夠被正常使用。

      下面將對(duì)本示例實(shí)施方式中虛擬海面渲染方法的各步驟進(jìn)行更進(jìn)一步的說明。

      在步驟S10中,確定多種候選渲染處理方式的優(yōu)先級(jí);其中,每一所述候選渲染處理方式用于將待渲染的虛擬海面渲染出相應(yīng)的美術(shù)效果。

      根據(jù)本公開的一些實(shí)施例,所述候選渲染處理方式可以包括法線貼圖、模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域以及配置倒影中的一種或多種。但本公開不限于此,所述候選渲染處理方式還可以包括其他用于渲染虛擬海面的處理方式,例如,生成水紋等。

      在所述候選渲染處理方式中,法線貼圖的優(yōu)先級(jí)最高,配置倒影的優(yōu)先級(jí)最低。在本公開的示例性實(shí)施方式中,模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域的優(yōu)先級(jí)可以相同或部分相同。當(dāng)然,渲染處理方式的優(yōu)先級(jí)可以根據(jù)虛擬海面的實(shí)際顯示效果確定,例如,法線貼圖、模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域、配置倒影的優(yōu)先級(jí)可以依次降低。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,渲染處理方式的優(yōu)先級(jí)并不以本示例實(shí)施方式為限。

      在步驟S20中,根據(jù)各所述候選渲染處理方式的優(yōu)先級(jí)建立各所述候選渲染處理方式與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系。

      根據(jù)本公開的一些實(shí)施例,移動(dòng)終端的性能參數(shù)可以包括但不限于GPU性能和屏幕分辨率??梢越⒁苿?dòng)終端的性能參數(shù)與候選渲染處理方式的映射關(guān)系,并保存所述映射關(guān)系。例如,在GPU性能較低的情況下,可以只建立該GPU性能與法線貼圖的映射關(guān)系。而在GPU性能較高且屏幕分辨率足夠的情況下,可以將該GPU性能與屏幕分辨率視為一整體,建立與所有候選渲染處理方式的映射關(guān)系。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,可以存在多種不同方式的映射關(guān)系,本公開的示例性實(shí)施方式對(duì)此不做特殊限定。

      此外,根據(jù)本公開的另一些實(shí)施例,用戶還可以根據(jù)游戲體驗(yàn)需求手動(dòng)配置或修改映射關(guān)系。

      在步驟S30中,檢測(cè)一用于顯示所述待渲染的虛擬海面的預(yù)設(shè)移動(dòng)終端的性能參數(shù)。

      根據(jù)本公開的一些實(shí)施例,可以通過軟件的方式實(shí)現(xiàn)該檢測(cè)過程,并且還可以存儲(chǔ)該檢測(cè)結(jié)果。

      在步驟S40中,根據(jù)所述預(yù)設(shè)移動(dòng)終端的性能參數(shù)以及所述映射關(guān)系從所述候選渲染處理方式中確定被選渲染處理方式。

      根據(jù)本公開的一些實(shí)施例,在步驟S30檢測(cè)到預(yù)設(shè)移動(dòng)終端的性能參數(shù)之后,結(jié)合步驟S20中形成的映射關(guān)系,確定預(yù)設(shè)移動(dòng)終端所要進(jìn)行的渲染處理方式,例如,在GPU性能較低的情況下,可以選擇只進(jìn)行法線貼圖,或者在進(jìn)行法線貼圖的情況下,進(jìn)行虛擬海面的頂點(diǎn)波浪動(dòng)畫的模擬處理。在GPU性能較高且屏幕分辨率足夠的情況下,可以執(zhí)行所有候選渲染處理,以滿足用戶對(duì)游戲體驗(yàn)的需求。

      然而,本領(lǐng)域技術(shù)人員容易理解的是,處理模塊(例如,服務(wù)器)中可以存儲(chǔ)各種GPU的型號(hào)及其性能信息以及屏幕分辨率信息,當(dāng)接收到對(duì)一虛擬海面的渲染請(qǐng)求時(shí),處理模塊可以根據(jù)該渲染請(qǐng)求向用戶推薦一個(gè)或多個(gè)渲染處理方式,由用戶自行對(duì)渲染處理方式進(jìn)行選擇,隨后,根據(jù)用戶的選擇結(jié)果對(duì)該虛擬海面進(jìn)行渲染。

      在步驟S50中,通過所述被選渲染處理方式對(duì)所述預(yù)設(shè)移動(dòng)終端顯示的所述待渲染的虛擬海面進(jìn)行渲染。

      對(duì)預(yù)設(shè)移動(dòng)終端實(shí)現(xiàn)的待待渲染的虛擬海面進(jìn)行渲染的處理方式可以包括步驟S10中所列的渲染處理方式,這些渲染處理方式可以是傳統(tǒng)的渲染處理方式,也可以是為了減少系統(tǒng)資源消耗而對(duì)所述傳統(tǒng)的渲染處理方式進(jìn)行改進(jìn)的處理方式。下面將對(duì)步驟S10中記載的渲染處理方式進(jìn)行詳細(xì)地說明。

      在法線貼圖的渲染處理方式中,待渲染的虛擬海面可以由多個(gè)三角形面片組合而成。針對(duì)每一個(gè)三角形面片的法線,將法線在空間直角坐標(biāo)系中的xyz分量的偏移量信息分別保存在與該法線對(duì)應(yīng)的三角形面片的紅綠藍(lán)(RGB)通道中。圖2示出了采用顏色通道存儲(chǔ)法線向量的示意圖,其中,箭頭1表示三角形面片的法線,箭頭2表示偏移后的法線,而箭頭3表示法線偏移量。

      根據(jù)本公開的一些實(shí)施例,可以采用輔助光線照射待渲染的虛擬海面,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,所述輔助光線并非實(shí)際的光線,而是虛擬出的用于確定待渲染的虛擬海面的渲染顏色的輔助線。具體的,當(dāng)輔助光線照射在待渲染的虛擬海面上時(shí),可以在所述待渲染的虛擬海面上形成照射點(diǎn)。判斷所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角大小,并根據(jù)所述夾角大小對(duì)所述照射點(diǎn)的顏色進(jìn)行渲染。

      具體的,參考圖3對(duì)虛擬海面的顏色渲染進(jìn)行描述,其中,圖3示出了確定虛擬海面的渲染顏色的方法的示意圖。

      為了模擬虛擬海面的陽光折射色彩,需要至少配置第一預(yù)設(shè)顏色和第二預(yù)設(shè)顏色,其中,該第一預(yù)設(shè)顏色可以表示虛擬海面上一點(diǎn)的折射顏色,該第二預(yù)設(shè)顏色可以表示虛擬海面上一點(diǎn)的反射顏色。圖3上方的矩形條用于表示第一預(yù)設(shè)顏色(最左端)到第二預(yù)設(shè)顏色(最右端)的漸變色條。針對(duì)虛擬海面上任一點(diǎn),當(dāng)輔助光線與照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于0°時(shí),采用趨近于第一預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染;當(dāng)輔助光線與照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于90°時(shí),采用趨近于第二預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染。具體而言,可以將輔助光線照射方向的向量和照射點(diǎn)的法線向量做點(diǎn)乘運(yùn)算,得到的值作為第一預(yù)設(shè)顏色和第二預(yù)設(shè)顏色的混合權(quán)重,以確定照射點(diǎn)的渲染顏色。

      通過上述方法對(duì)虛擬海面上每一點(diǎn)進(jìn)行顏色渲染后,得到如圖4所示的待渲染的虛擬海面在進(jìn)行法線貼圖之后的游戲效果圖。

      在模擬頂點(diǎn)波浪動(dòng)畫的渲染處理方式中,可以利用海面著色器(shader)對(duì)虛擬海面進(jìn)行逐頂點(diǎn)計(jì)算。具體的,首先,針對(duì)虛擬海面上的每一頂點(diǎn),可以對(duì)所述頂點(diǎn)的法線進(jìn)行多次采樣,隨后,根據(jù)采樣結(jié)果創(chuàng)建方向、速度、頻率和振幅均不同的abs(sin)函數(shù),圖5示意性示出了abs(sin)函數(shù)的曲線圖。根據(jù)本公開的一些實(shí)施例,將四個(gè)方向、速度、頻率和振幅均不同的abs(sin)函數(shù)進(jìn)行疊加后計(jì)算出虛擬海面的頂點(diǎn)的高低變化。然而,還可以根據(jù)移動(dòng)終端的處理能力對(duì)除數(shù)量為四個(gè)之外的數(shù)量的abs(sin)函數(shù)進(jìn)行疊加,并不以本示例實(shí)施方式為限。

      在白沫貼圖的渲染處理方式中,首先,判斷虛擬海面的高度是否高于一預(yù)設(shè)高度,其中,該預(yù)設(shè)高度可以是根據(jù)實(shí)際顯示效果而確定的高度。隨后,在判斷出虛擬海面的高度高于該預(yù)設(shè)高度的情況下,可以將虛擬海面高出該預(yù)設(shè)高度的部分混合白沫的顏色。圖6示意性示出了待渲染的虛擬海面在進(jìn)行白沫貼圖之后的游戲效果圖。

      根據(jù)傳統(tǒng)的高光處理的渲染處理方式,可以利用Blinn-Phong光照模型公式計(jì)算高光。

      圖7示出了輔助光線所產(chǎn)生的高光反射的示意圖。參考圖7,N表示虛擬海面上一點(diǎn)的法線,L表示入射的輔助光線,R表示反射光線,V表示用戶觀看虛擬海面的視線,H表示L與V的中線。虛擬海面上任一點(diǎn)的高光強(qiáng)度可以表示為:

      高光強(qiáng)度=pow(dot(H,N),f)

      其中,f表示高光的衰竭系數(shù)。

      然而,在虛擬海面上,當(dāng)法線大量平鋪時(shí),每張法線貼圖實(shí)際上在移動(dòng)終端的屏幕中占據(jù)較小的面積,導(dǎo)致法線可能變得模糊,影響了高光的計(jì)算。為了改善這種情況,根據(jù)本公開的一些實(shí)施例,將高光的衰竭系數(shù)f保存至虛擬海面的法線貼圖的藍(lán)色通道中,由此,通過改變?cè)诜ň€貼圖的藍(lán)色通道中每一點(diǎn)的高光指數(shù),提高了高光計(jì)算的準(zhǔn)確性。

      然而,法線貼圖將每一個(gè)像素視作一個(gè)法線方向,而像素在硬件中可能被縮放、插值,導(dǎo)致最終每一個(gè)像素表示的法線可能與設(shè)想的效果存在較大偏差。

      為了解決該問題,圖8示出了為準(zhǔn)確計(jì)算高光強(qiáng)度而增強(qiáng)法線細(xì)節(jié)的方法示意圖。其中,圖8(a)示出了兩個(gè)相鄰像素的法線的示意圖,圖8(b)示出了圖8(a)中的兩個(gè)相鄰像素的法線合并為一個(gè)像素的示意圖。

      根據(jù)本公開的另一些實(shí)施例,可以增加一第三通道,利用該第三通道增強(qiáng)所述兩個(gè)相鄰像素的渲染效果。圖8(c)示出了利用第三通道增強(qiáng)渲染效果的示意圖。另外,可以配置第一高光因子factor1和第二高光因子factor2,高光強(qiáng)度還可以表示為pow(dot(N,L),factor1)*factor2,其中,可以通過第三通道控制第一高光因子factor1的值。上式中,因?yàn)閐ot(N,L)不會(huì)有較大的變化幅度,所以可以改變factor1/factor2的值來彌補(bǔ)由于法線的合并而產(chǎn)生的誤差。

      為直觀地展現(xiàn)高光處理后的效果,圖9示意性示出了待渲染的虛擬海面在進(jìn)行高光處理之后的游戲效果圖。

      在實(shí)現(xiàn)淺灘區(qū)域的渲染處理方式中,目前,通過一觀察點(diǎn)到虛擬海面上一點(diǎn)的距離d1以及該觀察點(diǎn)到所述點(diǎn)同一豎直線上的海底的點(diǎn)的距離d2之間的距離差Δd確定該點(diǎn)的透明度,具體的,Δd越接近0,該點(diǎn)越透明。然而,該方法需要對(duì)虛擬海面上所有點(diǎn)的透明度進(jìn)行計(jì)算,對(duì)移動(dòng)終端的GPU帶寬提出了更高的要求,并且計(jì)算負(fù)擔(dān)較大。

      根據(jù)本公開的一些實(shí)施例,通過一離線深度圖計(jì)算虛擬海面與虛擬海底之間的距離,并且根據(jù)虛擬海面與虛擬海底之間的距離設(shè)置虛擬陸地與虛擬海面交界處的虛擬海面的透明度,以實(shí)現(xiàn)淺灘區(qū)域的渲染處理。

      例如,參考圖10中所示,離線深度圖可以是游戲開發(fā)人員在設(shè)計(jì)虛擬場(chǎng)景時(shí)生成的一張灰度圖(該灰度是俯視圖)。離線深度圖中的每一個(gè)點(diǎn)記錄了該點(diǎn)對(duì)應(yīng)的海拔高度?;叶葓D的范圍通常為[0,255],其中,黑色為0,白色為255。例如,[0,255]對(duì)應(yīng)的實(shí)際海拔范圍可以是[-108,20],該海拔范圍足夠表現(xiàn)海水的半透明效果。利用離線深度圖的優(yōu)點(diǎn)在于,一方面,著色器只需進(jìn)行一次采樣,然后將采樣后的結(jié)果乘以一個(gè)縮放因子即可還原實(shí)際的海拔高度,不需要每一幀拷貝一次深度緩存(depth_buffer),同時(shí)也不需要逐像素的線性化計(jì)算;另一方面,對(duì)于硬件來說,該深度圖離線是一張普通的貼圖,兼容性較好。

      圖11示意性示出了淺灘區(qū)域的游戲效果圖。此外,利用離線深度圖還可以繪制出岸邊浪花的效果,而不需要額外的任何開銷。具體的,可以利用上文所述的法線貼圖的第三通道,將第三通道的顏色疊加到虛擬海面。當(dāng)然,在本公開的其他示例性實(shí)施例中,還可以通過其他方式實(shí)現(xiàn)岸邊浪花效果,本示例性實(shí)施方式中對(duì)此不做特殊限定。

      在配置倒影的渲染處理方式中,配置倒影的方法可以包括:首先,通過著色器計(jì)算出虛擬海面的頂點(diǎn)的屏幕坐標(biāo);然后,將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;其次,對(duì)所述倒影貼圖的顏色進(jìn)行采樣,并且將所述倒影貼圖的顏色與所述第一預(yù)設(shè)顏色混合。

      根據(jù)本公開的另一些實(shí)施例,配置倒影的方法也可以包括:首先,通過著色器計(jì)算出虛擬海面的頂點(diǎn)的屏幕坐標(biāo);接下來,將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;隨后,在生成所述倒影貼圖的紋理坐標(biāo)的過程中,將與倒影對(duì)應(yīng)的物體是否遮擋高光的信息寫入一透明通道中,以實(shí)現(xiàn)高光阻塞。在該方法中,倒影貼圖上不透明的物體會(huì)遮擋高光,透明的物體允許高光穿透。例如,虛擬天空和虛擬太陽是“全透明”的,虛擬云層和虛擬陸地上的物體可以被認(rèn)為是“不透明”的。這樣的處理幾乎不產(chǎn)生額外的開銷。在計(jì)算海面高光時(shí),可以直接采用對(duì)應(yīng)位置的倒影顏色遮蔽高光部分,這種方法能夠較好地滿足視覺要求。

      圖12示意性示出了待渲染的虛擬海面在進(jìn)行配置倒影之后的游戲效果圖。如圖12所示,本公開的示例性實(shí)施方式的配置倒影的方法能夠較好地實(shí)現(xiàn)倒影效果。此外,所述方法幾乎不使移動(dòng)終端產(chǎn)生額外的開銷。

      本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,除法線貼圖之外,上述候選渲染處理方式均是可選進(jìn)行的。根據(jù)本公開的一些實(shí)施例,除考慮虛擬海面的顯示效果之外,可以基于移動(dòng)終端的帶寬開銷以及計(jì)算量確定各候選渲染處理方式的優(yōu)先級(jí)。

      例如,在上面描述的基礎(chǔ)上,可以根據(jù)各候選渲染處理方式的性能開銷將虛擬海面的渲染方式劃分成4種配置,即低配置、中配置、較佳配置和高配置,其中:

      低配置,在法線貼圖中進(jìn)行2次采樣,不進(jìn)行模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域以及配置倒影等處理。低配置顯示效果差。

      中配置,在法線貼圖中進(jìn)行4次采樣,模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域功能開啟,配置倒影的功能關(guān)閉。在中配置中,可以基本形成虛擬海面形態(tài)。

      較佳配置,在法線貼圖中進(jìn)行4次采樣,模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域功能開啟,將倒影配置成0.25倍的分辨率。在較佳配置中,虛擬海面的整體視覺效果基本顯現(xiàn),效果較好。

      高配置,在在法線貼圖中進(jìn)行4次采樣,模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域功能開啟,將倒影配置成0.5倍的分辨率。在高配置中,已顯現(xiàn)出虛擬海面的整體視覺效果,視覺層次感較好。

      應(yīng)當(dāng)注意,盡管在附圖中以特定順序描述了本公開中方法的各個(gè)步驟,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實(shí)現(xiàn)期望的結(jié)果。附加的或備選的,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,以及/或者將一個(gè)步驟分解為多個(gè)步驟執(zhí)行等。

      進(jìn)一步的,本示例實(shí)施方式中還提供了一種虛擬海面渲染系統(tǒng),參考圖13,根據(jù)本公開的示例性實(shí)施方式的虛擬海面渲染系統(tǒng)100可以包括優(yōu)先級(jí)確定模塊110、映射關(guān)系建立模塊120、檢測(cè)模塊130、渲染處理方式確定模塊140以及渲染模塊150,其中:

      優(yōu)先級(jí)確定模塊110,可以用于確定多種候選渲染處理方式的優(yōu)先級(jí);其中,每一所述候選渲染處理方式用于將待渲染的虛擬海面渲染出相應(yīng)的美術(shù)效果;

      映射關(guān)系建立模塊120,可以用于根據(jù)各所述候選渲染處理方式的優(yōu)先級(jí)建立各所述候選渲染處理方式與移動(dòng)終端的性能參數(shù)之間的映射關(guān)系;

      檢測(cè)模塊130,可以用于檢測(cè)一用于顯示所述待渲染的虛擬海面的預(yù)設(shè)移動(dòng)終端的性能參數(shù);

      渲染處理方式確定模塊140,可以用于根據(jù)所述預(yù)設(shè)移動(dòng)終端的性能參數(shù)以及所述映射關(guān)系從所述候選渲染處理方式中確定被選渲染處理方式;以及

      渲染模塊150,可以用于通過所述被選渲染處理方式對(duì)所述預(yù)設(shè)移動(dòng)終端顯示的所述待渲染的虛擬海面進(jìn)行渲染。

      根據(jù)本公開的示例性實(shí)施例,所述候選渲染處理方式可以包括法線貼圖、模擬頂點(diǎn)波浪動(dòng)畫、白沫貼圖、高光處理、實(shí)現(xiàn)淺灘區(qū)域以及配置倒影中的一種或多種。

      根據(jù)本公開的示例性實(shí)施例,在所述候選渲染處理方式中,所述法線貼圖的優(yōu)先級(jí)最高,所述配置倒影的優(yōu)先級(jí)最低。

      根據(jù)本公開的示例性實(shí)施例,所述法線貼圖的渲染處理方式可以包括:采用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點(diǎn);判斷所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角大小,并根據(jù)所述夾角大小對(duì)所述照射點(diǎn)的顏色進(jìn)行渲染。

      根據(jù)本公開的示例性實(shí)施例,當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于0°時(shí),可以采用趨近于第一預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染;當(dāng)所述輔助光線與所述照射點(diǎn)對(duì)應(yīng)的法線之間的夾角趨近于90°時(shí),可以采用趨近于第二預(yù)設(shè)顏色的顏色對(duì)所述照射點(diǎn)進(jìn)行渲染。

      根據(jù)本公開的示例性實(shí)施例,所述模擬頂點(diǎn)波浪動(dòng)畫的渲染處理方式可以包括:針對(duì)所述虛擬海面上的每一頂點(diǎn),對(duì)所述頂點(diǎn)的法線進(jìn)行多次采樣;根據(jù)所述采樣的采樣結(jié)果創(chuàng)建方向、速度、頻率和振幅均不同的abs(sin)函數(shù);以及將多個(gè)所述abs(sin)函數(shù)疊加,以計(jì)算出所述頂點(diǎn)的高低變化。

      本示例實(shí)施方式中,所述白沫貼圖的渲染處理方式可以包括:判斷所述虛擬海面的高度是否高于一預(yù)設(shè)高度;在判斷出所述虛擬海面的高度高于所述預(yù)設(shè)高度的情況下,將所述虛擬海面高出所述預(yù)設(shè)高度的部分混合白沫的顏色。

      根據(jù)本公開的示例性實(shí)施例,所述高光處理的渲染處理方式可以包括通過改變與所述法線貼圖中各所述照射點(diǎn)對(duì)應(yīng)的高光指數(shù)實(shí)現(xiàn)所述高光處理。

      根據(jù)本公開的示例性實(shí)施例,所述實(shí)現(xiàn)淺灘區(qū)域的渲染處理方式可以包括:通過一離線深度圖計(jì)算所述虛擬海面與虛擬海底之間的距離;根據(jù)所述虛擬海面與所述虛擬海底之間的距離設(shè)置虛擬陸地與所述虛擬海面交界處的所述虛擬海面的透明度,以實(shí)現(xiàn)淺灘區(qū)域的渲染處理。

      根據(jù)本公開的示例性實(shí)施例,所述配置倒影的渲染處理方式可以包括:計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;對(duì)所述倒影貼圖的顏色進(jìn)行采樣;以及將所述倒影貼圖的顏色與所述第一預(yù)設(shè)顏色混合。

      根據(jù)本公開的示例性實(shí)施例,所述配置倒影的渲染處理方式還可以包括一高光阻塞方法,所述高光阻塞方法可以包括:計(jì)算所述虛擬海面各頂點(diǎn)的屏幕坐標(biāo);將計(jì)算出的各頂點(diǎn)的屏幕坐標(biāo)換算成倒影貼圖的紋理坐標(biāo),以確定倒影的位置;以及在生成所述倒影貼圖的紋理坐標(biāo)的過程中,將與倒影對(duì)應(yīng)的物體是否遮擋高光的信息寫入一透明通道中,以實(shí)現(xiàn)高光阻塞。

      上述虛擬海面渲染系統(tǒng)中各模塊的具體細(xì)節(jié)已經(jīng)在對(duì)應(yīng)的虛擬海面渲染方法中進(jìn)行了詳細(xì)想描述,因此此處不再贅述。

      應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動(dòng)作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強(qiáng)制性的。實(shí)際上,根據(jù)本公開的實(shí)施方式,上文描述的兩個(gè)或更多模塊或者單元的特征和功能可以在一個(gè)模塊或者單元中具體化。反之,上文描述的一個(gè)模塊或者單元的特征和功能可以進(jìn)一步劃分為由多個(gè)模塊或者單元來具體化。

      通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過軟件實(shí)現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實(shí)現(xiàn)。因此,根據(jù)本公開實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、觸控終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實(shí)施方式的方法。

      本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本公開的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。

      應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1