新四季網

虛擬海面渲染方法及系統與流程

2023-07-31 07:24:41 1


本公開涉及圖像渲染技術領域,具體而言,涉及一種虛擬海面渲染方法以及虛擬海面渲染系統。



背景技術:

隨著移動通信技術的快速發展,在觸控終端上出現了越來越多的遊戲應用。在遊戲應用的運行過程中,觸控終端按照一定的布局將各種遊戲對象顯示出來,以便向用戶呈現遊戲場景以及提供遊戲操作界面。

在主機遊戲中,遊戲的虛擬海面的實時渲染效果比較成熟。具體的,通過圖像處理器(Graphics Processing Unit,GPU)的頂點紋理採樣功能(Vertex Texture Fetch,VTF)模擬複雜的頂點起伏,然後通過細分曲面技術,細化頂點網格,使得波浪運動更加細膩並且細節更加豐富。然而,起伏的效果取決於頂點的細密程度和起伏的不規則程度。對移動終端(例如,手機)而言,由於設備硬體的多樣性,不是所有的移動終端都支持頂點紋理採樣功能,同時,受限於GPU處理能力(例如,兼容性、帶寬等),移動終端不能使用過多的頂點製作海面。

另一種實現虛擬海面實時渲染的方法是基於屏幕空間的逐像素海面起伏計算。具體的,在繪製虛擬海面上每一個像素時可以基於屏幕空間反向求解出遊戲空間上的坐標,然後將所述坐標當作頂點,以模擬起伏過程。然而,逐像素計算所產生的開銷與屏幕中實際佔用的像素數量成正比,因此,在像素數量龐大的情況下,移動終端GPU可能產生無法正常處理的問題。另外,該方法由於在像素層面上做起伏模擬,故其顯示範圍不會超出整個像素範圍的外輪廓,因此,在用戶的視線與虛擬海面平行的情況下,虛擬海面的顯示可能會出現問題。

鑑於此,需要一種新的虛擬海面渲染方法以及虛擬海面渲染系統。

需要說明的是,在上述背景技術部分公開的信息僅用於加強對本公開的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。



技術實現要素:

本公開的目的在於提供一種虛擬海面渲染方法以及虛擬海面渲染系統,進而至少在一定程度上克服由於相關技術的限制和缺陷而導致的一個或者多個問題。

根據本公開的一個方面,提供一種虛擬海面渲染方法,包括:

確定多種候選渲染處理方式的優先級;其中,每一所述候選渲染處理方式用於將待渲染的虛擬海面渲染出相應的美術效果;

根據各所述候選渲染處理方式的優先級建立各所述候選渲染處理方式與移動終端的性能參數之間的映射關係;

檢測一用於顯示所述待渲染的虛擬海面的預設移動終端的性能參數;

根據所述預設移動終端的性能參數以及所述映射關係從所述候選渲染處理方式中確定被選渲染處理方式;以及

通過所述被選渲染處理方式對所述預設移動終端顯示的所述待渲染的虛擬海面進行渲染。

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

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

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

採用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點;

判斷所述輔助光線與所述照射點對應的法線之間的夾角大小,並根據所述夾角大小對所述照射點的顏色進行渲染。

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

當所述輔助光線與所述照射點對應的法線之間的夾角趨近於0°時,採用趨近於第一預設顏色的顏色對所述照射點進行渲染;

當所述輔助光線與所述照射點對應的法線之間的夾角趨近於90°時,採用趨近於第二預設顏色的顏色對所述照射點進行渲染。

在本公開的一種示例性實施例中,所述模擬頂點波浪動畫的渲染處理方式包括:

針對所述虛擬海面上的每一頂點,對所述頂點的法線進行多次採樣;

根據所述採樣的採樣結果創建方向、速度、頻率和振幅均不同的abs(sin)函數;以及

將多個所述abs(sin)函數疊加,以計算出所述頂點的高低變化。

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

判斷所述虛擬海面的高度是否高於一預設高度;

在判斷出所述虛擬海面的高度高於所述預設高度的情況下,將所述虛擬海面高出所述預設高度的部分混合白沫的顏色。

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

通過改變與所述法線貼圖中各所述照射點對應的高光指數實現所述高光處理。

在本公開的一種示例性實施例中,所述實現淺灘區域的渲染處理方式包括:

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

根據所述虛擬海面與所述虛擬海底之間的距離設置虛擬陸地與所述虛擬海面交界處的所述虛擬海面的透明度,以實現淺灘區域的渲染處理。

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

計算所述虛擬海面各頂點的屏幕坐標;

將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;

對所述倒影貼圖的顏色進行採樣;以及

將所述倒影貼圖的顏色與所述第一預設顏色混合。

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

計算所述虛擬海面各頂點的屏幕坐標;

將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;以及

在生成所述倒影貼圖的紋理坐標的過程中,將與倒影對應的物體是否遮擋高光的信息寫入一透明通道中,以實現高光阻塞。

根據本公開的一個方面,提供一種虛擬海面渲染系統,包括:

優先級確定模塊,用於確定多種候選渲染處理方式的優先級;其中,每一所述候選渲染處理方式用於將待渲染的虛擬海面渲染出相應的美術效果;

映射關係建立模塊,用於根據各所述候選渲染處理方式的優先級建立各所述候選渲染處理方式與移動終端的性能參數之間的映射關係;

檢測模塊,用於檢測一用於顯示所述待渲染的虛擬海面的預設移動終端的性能參數;

渲染處理方式確定模塊,用於根據所述預設移動終端的性能參數以及所述映射關係從所述候選渲染處理方式中確定被選渲染處理方式;以及

渲染模塊,用於通過所述被選渲染處理方式對所述預設移動終端顯示的所述待渲染的虛擬海面進行渲染。

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

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

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

採用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點;

判斷所述輔助光線與所述照射點對應的法線之間的夾角大小,並根據所述夾角大小對所述照射點的顏色進行渲染。

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

當所述輔助光線與所述照射點對應的法線之間的夾角趨近於0°時,採用趨近於第一預設顏色的顏色對所述照射點進行渲染;

當所述輔助光線與所述照射點對應的法線之間的夾角趨近於90°時,採用趨近於第二預設顏色的顏色對所述照射點進行渲染。

在本公開的一種示例性實施例中,所述模擬頂點波浪動畫的渲染處理方式包括:

針對所述虛擬海面上的每一頂點,對所述頂點的法線進行多次採樣;

根據所述採樣的採樣結果創建方向、速度、頻率和振幅均不同的abs(sin)函數;以及

將多個所述abs(sin)函數疊加,以計算出所述頂點的高低變化。

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

判斷所述虛擬海面的高度是否高於一預設高度;

在判斷出所述虛擬海面的高度高於所述預設高度的情況下,將所述虛擬海面高出所述預設高度的部分混合白沫的顏色。

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

通過改變與所述法線貼圖中各所述照射點對應的高光指數實現所述高光處理。

在本公開的一種示例性實施例中,所述實現淺灘區域的渲染處理方式包括:

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

根據所述虛擬海面與所述虛擬海底之間的距離設置虛擬陸地與所述虛擬海面交界處的所述虛擬海面的透明度,以實現淺灘區域的渲染處理。

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

計算所述虛擬海面各頂點的屏幕坐標;

將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;

對所述倒影貼圖的顏色進行採樣;以及

將所述倒影貼圖的顏色與所述第一預設顏色混合。

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

計算所述虛擬海面各頂點的屏幕坐標;

將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;以及

在生成所述倒影貼圖的紋理坐標的過程中,將與倒影對應的物體是否遮擋高光的信息寫入一透明通道中,以實現高光阻塞。

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

應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本公開。

附圖說明

此處的附圖被併入說明書中並構成本說明書的一部分,示出了符合本公開的實施例,並與說明書一起用於解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。在附圖中:

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

圖2示出了採用顏色通道存儲法線向量的示意圖;

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

圖4示意性示出了待渲染的虛擬海面在進行法線貼圖之後的遊戲效果圖;

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

圖6示意性示出了待渲染的虛擬海面在進行白沫貼圖之後的遊戲效果圖;

圖7示出了輔助光線所產生的高光反射的示意圖;

圖8示出了為準確計算高光強度而增強法線細節的方法示意圖;

圖9示意性示出了待渲染的虛擬海面在進行高光處理之後的遊戲效果圖;

圖10示意性示出了為實現淺灘區域而生成的離線深度圖;

圖11示意性示出了淺灘區域的遊戲效果圖;

圖12示意性示出了待渲染的虛擬海面在進行配置倒影之後的遊戲效果圖;以及

圖13示意性示出了根據本公開的示例性實施方式的虛擬海面渲染系統100的方框圖。

具體實施方式

現在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限於在此闡述的範例;相反,提供這些實施方式使得本公開將更加全面和完整,並將示例實施方式的構思全面地傳達給本領域的技術人員。所描述的特徵、結構或特性可以以任何合適的方式結合在一個或更多實施方式中。在下面的描述中,提供許多具體細節從而給出對本公開的實施方式的充分理解。然而,本領域技術人員將意識到,可以實踐本公開的技術方案而省略所述特定細節中的一個或更多,或者可以採用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知技術方案以避免喧賓奪主而使得本公開的各方面變得模糊。

此外,附圖僅為本公開的示意性圖解,並非一定是按比例繪製。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重複描述。附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應。可以採用軟體形式來實現這些功能實體,或在一個或多個硬體模塊或集成電路中實現這些功能實體,或在不同網絡和/或處理器裝置和/或微控制器裝置中實現這些功能實體。

本示例性實施方式中首先提供了一種虛擬海面渲染方法,該虛擬海面渲染方法主要應用於一移動終端。該移動終端例如可以為手機、平板電腦、遊戲機、PDA等各種電子設備。

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

步驟S10.確定多種候選渲染處理方式的優先級;其中,每一所述候選渲染處理方式用於將待渲染的虛擬海面渲染出相應的美術效果;

步驟S20.根據各所述候選渲染處理方式的優先級建立各所述候選渲染處理方式與移動終端的性能參數之間的映射關係;

步驟S30.檢測一用於顯示所述待渲染的虛擬海面的預設移動終端的性能參數;

步驟S40.根據所述預設移動終端的性能參數以及所述映射關係從所述候選渲染處理方式中確定被選渲染處理方式;以及

步驟S50.通過所述被選渲染處理方式對所述預設移動終端顯示的所述待渲染的虛擬海面進行渲染。

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

下面將對本示例實施方式中虛擬海面渲染方法的各步驟進行更進一步的說明。

在步驟S10中,確定多種候選渲染處理方式的優先級;其中,每一所述候選渲染處理方式用於將待渲染的虛擬海面渲染出相應的美術效果。

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

在所述候選渲染處理方式中,法線貼圖的優先級最高,配置倒影的優先級最低。在本公開的示例性實施方式中,模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域的優先級可以相同或部分相同。當然,渲染處理方式的優先級可以根據虛擬海面的實際顯示效果確定,例如,法線貼圖、模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域、配置倒影的優先級可以依次降低。本領域技術人員應當理解的是,渲染處理方式的優先級並不以本示例實施方式為限。

在步驟S20中,根據各所述候選渲染處理方式的優先級建立各所述候選渲染處理方式與移動終端的性能參數之間的映射關係。

根據本公開的一些實施例,移動終端的性能參數可以包括但不限於GPU性能和屏幕解析度。可以建立移動終端的性能參數與候選渲染處理方式的映射關係,並保存所述映射關係。例如,在GPU性能較低的情況下,可以只建立該GPU性能與法線貼圖的映射關係。而在GPU性能較高且屏幕解析度足夠的情況下,可以將該GPU性能與屏幕解析度視為一整體,建立與所有候選渲染處理方式的映射關係。本領域技術人員應當理解的是,可以存在多種不同方式的映射關係,本公開的示例性實施方式對此不做特殊限定。

此外,根據本公開的另一些實施例,用戶還可以根據遊戲體驗需求手動配置或修改映射關係。

在步驟S30中,檢測一用於顯示所述待渲染的虛擬海面的預設移動終端的性能參數。

根據本公開的一些實施例,可以通過軟體的方式實現該檢測過程,並且還可以存儲該檢測結果。

在步驟S40中,根據所述預設移動終端的性能參數以及所述映射關係從所述候選渲染處理方式中確定被選渲染處理方式。

根據本公開的一些實施例,在步驟S30檢測到預設移動終端的性能參數之後,結合步驟S20中形成的映射關係,確定預設移動終端所要進行的渲染處理方式,例如,在GPU性能較低的情況下,可以選擇只進行法線貼圖,或者在進行法線貼圖的情況下,進行虛擬海面的頂點波浪動畫的模擬處理。在GPU性能較高且屏幕解析度足夠的情況下,可以執行所有候選渲染處理,以滿足用戶對遊戲體驗的需求。

然而,本領域技術人員容易理解的是,處理模塊(例如,伺服器)中可以存儲各種GPU的型號及其性能信息以及屏幕解析度信息,當接收到對一虛擬海面的渲染請求時,處理模塊可以根據該渲染請求向用戶推薦一個或多個渲染處理方式,由用戶自行對渲染處理方式進行選擇,隨後,根據用戶的選擇結果對該虛擬海面進行渲染。

在步驟S50中,通過所述被選渲染處理方式對所述預設移動終端顯示的所述待渲染的虛擬海面進行渲染。

對預設移動終端實現的待待渲染的虛擬海面進行渲染的處理方式可以包括步驟S10中所列的渲染處理方式,這些渲染處理方式可以是傳統的渲染處理方式,也可以是為了減少系統資源消耗而對所述傳統的渲染處理方式進行改進的處理方式。下面將對步驟S10中記載的渲染處理方式進行詳細地說明。

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

根據本公開的一些實施例,可以採用輔助光線照射待渲染的虛擬海面,本領域技術人員應當理解的是,所述輔助光線並非實際的光線,而是虛擬出的用於確定待渲染的虛擬海面的渲染顏色的輔助線。具體的,當輔助光線照射在待渲染的虛擬海面上時,可以在所述待渲染的虛擬海面上形成照射點。判斷所述輔助光線與所述照射點對應的法線之間的夾角大小,並根據所述夾角大小對所述照射點的顏色進行渲染。

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

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

通過上述方法對虛擬海面上每一點進行顏色渲染後,得到如圖4所示的待渲染的虛擬海面在進行法線貼圖之後的遊戲效果圖。

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

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

根據傳統的高光處理的渲染處理方式,可以利用Blinn-Phong光照模型公式計算高光。

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

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

其中,f表示高光的衰竭係數。

然而,在虛擬海面上,當法線大量平鋪時,每張法線貼圖實際上在移動終端的屏幕中佔據較小的面積,導致法線可能變得模糊,影響了高光的計算。為了改善這種情況,根據本公開的一些實施例,將高光的衰竭係數f保存至虛擬海面的法線貼圖的藍色通道中,由此,通過改變在法線貼圖的藍色通道中每一點的高光指數,提高了高光計算的準確性。

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

為了解決該問題,圖8示出了為準確計算高光強度而增強法線細節的方法示意圖。其中,圖8(a)示出了兩個相鄰像素的法線的示意圖,圖8(b)示出了圖8(a)中的兩個相鄰像素的法線合併為一個像素的示意圖。

根據本公開的另一些實施例,可以增加一第三通道,利用該第三通道增強所述兩個相鄰像素的渲染效果。圖8(c)示出了利用第三通道增強渲染效果的示意圖。另外,可以配置第一高光因子factor1和第二高光因子factor2,高光強度還可以表示為pow(dot(N,L),factor1)*factor2,其中,可以通過第三通道控制第一高光因子factor1的值。上式中,因為dot(N,L)不會有較大的變化幅度,所以可以改變factor1/factor2的值來彌補由於法線的合併而產生的誤差。

為直觀地展現高光處理後的效果,圖9示意性示出了待渲染的虛擬海面在進行高光處理之後的遊戲效果圖。

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

根據本公開的一些實施例,通過一離線深度圖計算虛擬海面與虛擬海底之間的距離,並且根據虛擬海面與虛擬海底之間的距離設置虛擬陸地與虛擬海面交界處的虛擬海面的透明度,以實現淺灘區域的渲染處理。

例如,參考圖10中所示,離線深度圖可以是遊戲開發人員在設計虛擬場景時生成的一張灰度圖(該灰度是俯視圖)。離線深度圖中的每一個點記錄了該點對應的海拔高度。灰度圖的範圍通常為[0,255],其中,黑色為0,白色為255。例如,[0,255]對應的實際海拔範圍可以是[-108,20],該海拔範圍足夠表現海水的半透明效果。利用離線深度圖的優點在於,一方面,著色器只需進行一次採樣,然後將採樣後的結果乘以一個縮放因子即可還原實際的海拔高度,不需要每一幀拷貝一次深度緩存(depth_buffer),同時也不需要逐像素的線性化計算;另一方面,對於硬體來說,該深度圖離線是一張普通的貼圖,兼容性較好。

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

在配置倒影的渲染處理方式中,配置倒影的方法可以包括:首先,通過著色器計算出虛擬海面的頂點的屏幕坐標;然後,將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;其次,對所述倒影貼圖的顏色進行採樣,並且將所述倒影貼圖的顏色與所述第一預設顏色混合。

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

圖12示意性示出了待渲染的虛擬海面在進行配置倒影之後的遊戲效果圖。如圖12所示,本公開的示例性實施方式的配置倒影的方法能夠較好地實現倒影效果。此外,所述方法幾乎不使移動終端產生額外的開銷。

本領域技術人員應當理解的是,除法線貼圖之外,上述候選渲染處理方式均是可選進行的。根據本公開的一些實施例,除考慮虛擬海面的顯示效果之外,可以基於移動終端的帶寬開銷以及計算量確定各候選渲染處理方式的優先級。

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

低配置,在法線貼圖中進行2次採樣,不進行模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域以及配置倒影等處理。低配置顯示效果差。

中配置,在法線貼圖中進行4次採樣,模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域功能開啟,配置倒影的功能關閉。在中配置中,可以基本形成虛擬海面形態。

較佳配置,在法線貼圖中進行4次採樣,模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域功能開啟,將倒影配置成0.25倍的解析度。在較佳配置中,虛擬海面的整體視覺效果基本顯現,效果較好。

高配置,在在法線貼圖中進行4次採樣,模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域功能開啟,將倒影配置成0.5倍的解析度。在高配置中,已顯現出虛擬海面的整體視覺效果,視覺層次感較好。

應當注意,儘管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這並非要求或者暗示必須按照該特定順序來執行這些步驟,或是必須執行全部所示的步驟才能實現期望的結果。附加的或備選的,可以省略某些步驟,將多個步驟合併為一個步驟執行,以及/或者將一個步驟分解為多個步驟執行等。

進一步的,本示例實施方式中還提供了一種虛擬海面渲染系統,參考圖13,根據本公開的示例性實施方式的虛擬海面渲染系統100可以包括優先級確定模塊110、映射關係建立模塊120、檢測模塊130、渲染處理方式確定模塊140以及渲染模塊150,其中:

優先級確定模塊110,可以用於確定多種候選渲染處理方式的優先級;其中,每一所述候選渲染處理方式用於將待渲染的虛擬海面渲染出相應的美術效果;

映射關係建立模塊120,可以用於根據各所述候選渲染處理方式的優先級建立各所述候選渲染處理方式與移動終端的性能參數之間的映射關係;

檢測模塊130,可以用於檢測一用於顯示所述待渲染的虛擬海面的預設移動終端的性能參數;

渲染處理方式確定模塊140,可以用於根據所述預設移動終端的性能參數以及所述映射關係從所述候選渲染處理方式中確定被選渲染處理方式;以及

渲染模塊150,可以用於通過所述被選渲染處理方式對所述預設移動終端顯示的所述待渲染的虛擬海面進行渲染。

根據本公開的示例性實施例,所述候選渲染處理方式可以包括法線貼圖、模擬頂點波浪動畫、白沫貼圖、高光處理、實現淺灘區域以及配置倒影中的一種或多種。

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

根據本公開的示例性實施例,所述法線貼圖的渲染處理方式可以包括:採用輔助光線照射所述待渲染的虛擬海面,以在所述待渲染的虛擬海面上形成照射點;判斷所述輔助光線與所述照射點對應的法線之間的夾角大小,並根據所述夾角大小對所述照射點的顏色進行渲染。

根據本公開的示例性實施例,當所述輔助光線與所述照射點對應的法線之間的夾角趨近於0°時,可以採用趨近於第一預設顏色的顏色對所述照射點進行渲染;當所述輔助光線與所述照射點對應的法線之間的夾角趨近於90°時,可以採用趨近於第二預設顏色的顏色對所述照射點進行渲染。

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

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

根據本公開的示例性實施例,所述高光處理的渲染處理方式可以包括通過改變與所述法線貼圖中各所述照射點對應的高光指數實現所述高光處理。

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

根據本公開的示例性實施例,所述配置倒影的渲染處理方式可以包括:計算所述虛擬海面各頂點的屏幕坐標;將計算出的各頂點的屏幕坐標換算成倒影貼圖的紋理坐標,以確定倒影的位置;對所述倒影貼圖的顏色進行採樣;以及將所述倒影貼圖的顏色與所述第一預設顏色混合。

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

上述虛擬海面渲染系統中各模塊的具體細節已經在對應的虛擬海面渲染方法中進行了詳細想描述,因此此處不再贅述。

應當注意,儘管在上文詳細描述中提及了用於動作執行的設備的若干模塊或者單元,但是這種劃分並非強制性的。實際上,根據本公開的實施方式,上文描述的兩個或更多模塊或者單元的特徵和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特徵和功能可以進一步劃分為由多個模塊或者單元來具體化。

通過以上的實施方式的描述,本領域的技術人員易於理解,這裡描述的示例實施方式可以通過軟體實現,也可以通過軟體結合必要的硬體的方式來實現。因此,根據本公開實施方式的技術方案可以以軟體產品的形式體現出來,該軟體產品可以存儲在一個非易失性存儲介質(可以是CD-ROM,U盤,移動硬碟等)中或網絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、伺服器、觸控終端、或者網絡設備等)執行根據本公開實施方式的方法。

本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理並包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正範圍和精神由下面的權利要求指出。

應當理解的是,本公開並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本公開的範圍僅由所附的權利要求來限制。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀