一種波浪型動(dòng)態(tài)圖像的顯示方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種波浪型動(dòng)態(tài)圖像的顯示方法和設(shè)備。
【背景技術(shù)】
[0002]隨著移動(dòng)終端技術(shù)的不斷發(fā)展,用戶對(duì)移動(dòng)平臺(tái)的圖形界面的要求也進(jìn)一步提高,普通的二維界面已經(jīng)不能夠滿足用戶體驗(yàn)要求,用戶開(kāi)始追求更高層次的立體3D效果,裸眼3D屏幕的出現(xiàn)也讓立體3D技術(shù)應(yīng)用到移動(dòng)終端上成為了現(xiàn)實(shí),越來(lái)越多的移動(dòng)終端上已經(jīng)使用了裸眼3D屏幕。進(jìn)一步的,在移動(dòng)終端支持GPlXGraphic Processing Unit,圖形處理器)之后,復(fù)雜立體3D場(chǎng)景畫(huà)面的實(shí)時(shí)顯示成為可能。目前用戶已經(jīng)能夠在移動(dòng)終端上體驗(yàn)例如立體翻頁(yè)、漸入漸出等具有視覺(jué)沖擊的動(dòng)畫(huà)效果。動(dòng)態(tài)壁紙目前已經(jīng)成為智能移動(dòng)終端的標(biāo)準(zhǔn)配置,其用于提升用戶使用智能移動(dòng)終端的體驗(yàn)。
[0003]目前為了在移動(dòng)終端上實(shí)現(xiàn)動(dòng)畫(huà)效果,常見(jiàn)的方法包括:(I) Tween (中間)動(dòng)畫(huà),Tween動(dòng)畫(huà)是建立在View (視圖)級(jí)別上的,在View類中有一個(gè)接口 startAnimat1n (開(kāi)始動(dòng)畫(huà))是動(dòng)畫(huà)開(kāi)始,startAnimat1n會(huì)將一個(gè)Animat1n (動(dòng)畫(huà))類別的函數(shù)傳給View,Animat1n用于指定使用的是哪種動(dòng)畫(huà),并指定平移、縮放、旋轉(zhuǎn)以及變換等內(nèi)容。(2)Frame(中貞)動(dòng)畫(huà),F(xiàn)rame動(dòng)畫(huà)是指順序播放事先做好的圖像,通過(guò)Movie這個(gè)類來(lái)對(duì)Gif文件進(jìn)行讀取和解碼,同時(shí)在onDraw函數(shù)中不斷的繪制每一幀圖片;至于選出哪一幀圖片進(jìn)行繪制,則是傳入系統(tǒng)當(dāng)前時(shí)間給Movie類,然后讓其根據(jù)時(shí)間順序選出幀圖片。
[0004]在上述Tween動(dòng)畫(huà)方案中,支持的動(dòng)畫(huà)類型單調(diào),只是簡(jiǎn)單的旋轉(zhuǎn)、淡入淡出等效果,不能滿足用戶的體驗(yàn)要求。在上述Frame動(dòng)畫(huà)方案中,比較消耗資源,給CPU (CentralProcessing Unit,中央處理器)帶來(lái)很大的運(yùn)算壓力,會(huì)造成開(kāi)機(jī)延遲等現(xiàn)象,并且需要大量的Gif圖片,比較消耗內(nèi)存。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種波浪型動(dòng)態(tài)圖像的顯示方法和設(shè)備,以實(shí)現(xiàn)立體3D動(dòng)態(tài)波浪效果,并減輕CPU的運(yùn)算壓力,減少內(nèi)存消耗。
[0006]為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種波浪型動(dòng)態(tài)圖像的顯示方法,該方法包括以下步驟:移動(dòng)終端將目標(biāo)3D圖像轉(zhuǎn)換為能夠顯示的二維圖像;所述移動(dòng)終端將所述二維圖像傳入紋理坐標(biāo);所述移動(dòng)終端利用一致變量擾動(dòng)所述紋理坐標(biāo);所述移動(dòng)終端基于擾動(dòng)后的二維圖像,獲得具有動(dòng)態(tài)波紋效果的圖形;所述移動(dòng)終端基于所述具有動(dòng)態(tài)波紋效果的圖形,在所述移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像。
[0007]優(yōu)選的,所述移動(dòng)終端利用一致變量擾動(dòng)所述紋理坐標(biāo)的過(guò)程,具體包括:所述移動(dòng)終端利用所述一致變量生成正弦函數(shù),并通過(guò)所述正弦函數(shù)擾動(dòng)所述紋理坐標(biāo);其中,所述正弦函數(shù)的正弦值在[-η/2,/2]之間。
[0008]優(yōu)選的,所述一致變量具體包括:擾動(dòng)頻率;擾動(dòng)振幅;擾動(dòng)因子。
[0009]優(yōu)選的,所述擾動(dòng)頻率具體為:(4,4);所述擾動(dòng)振幅具體為:(0.05,0.05);所述擾動(dòng)因子的初始值具體為:1。
[0010]優(yōu)選的,所述移動(dòng)終端基于所述具有動(dòng)態(tài)波紋效果的圖形,在所述移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像,具體包括:所述移動(dòng)終端將左眼對(duì)應(yīng)的具有動(dòng)態(tài)波紋效果的圖形和右眼對(duì)應(yīng)的具有動(dòng)態(tài)波紋效果的圖形輸入到所述移動(dòng)終端的3D屏幕上,以在所述移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像。
[0011]優(yōu)選的,該方法進(jìn)一步包括:所述移動(dòng)終端將坐標(biāo)(X,y, z) —次性放入到本移動(dòng)終端的單指令多數(shù)據(jù)流SMD指令的協(xié)處理器中,并通過(guò)SMD指令進(jìn)行計(jì)算。
[0012]本發(fā)明實(shí)施例提供一種移動(dòng)終端,包括:轉(zhuǎn)換模塊,用于將目標(biāo)3D圖像轉(zhuǎn)換為能夠顯示的二維圖像;處理模塊,用于將所述二維圖像傳入紋理坐標(biāo);擾動(dòng)模塊,用于利用一致變量擾動(dòng)所述紋理坐標(biāo);獲得模塊,用于基于擾動(dòng)后的二維圖像,獲得具有動(dòng)態(tài)波紋效果的圖形;顯示模塊,用于基于所述具有動(dòng)態(tài)波紋效果的圖形,在所述移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像。
[0013]優(yōu)選的,所述擾動(dòng)模塊,具體用于利用所述一致變量生成正弦函數(shù),通過(guò)所述正弦函數(shù)擾動(dòng)所述紋理坐標(biāo);其中,所述正弦函數(shù)的正弦值在[-η/2,π/2]之間。
[0014]優(yōu)選的,所述一致變量具體包括:擾動(dòng)頻率;擾動(dòng)振幅;擾動(dòng)因子。
[0015]優(yōu)選的,所述擾動(dòng)頻率具體為:(4,4);所述擾動(dòng)振幅具體為:(0.05,0.05);所述擾動(dòng)因子的初始值具體為:1。
[0016]優(yōu)選的,所述顯示模塊,具體用于將左眼對(duì)應(yīng)的具有動(dòng)態(tài)波紋效果的圖形和右眼對(duì)應(yīng)的具有動(dòng)態(tài)波紋效果的圖形輸入到所述移動(dòng)終端的3D屏幕上,以在所述移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像。
[0017]優(yōu)選的,所述處理模塊,還用于將坐標(biāo)(X,y,Z) —次性放入到所述移動(dòng)終端的單指令多數(shù)據(jù)流SMD指令的協(xié)處理器中,并通過(guò)SMD指令進(jìn)行計(jì)算。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):本發(fā)明實(shí)施例中,基于VertexShader (頂點(diǎn)著色)技術(shù)和Pixel Shader (像素著色)技術(shù)實(shí)現(xiàn)在移動(dòng)終端上顯示波浪型動(dòng)態(tài)圖像,即實(shí)現(xiàn)立體3D動(dòng)態(tài)波浪效果,從而渲染出真實(shí)動(dòng)態(tài)波浪效果,實(shí)現(xiàn)動(dòng)態(tài)實(shí)時(shí)渲染,減輕CPU運(yùn)算壓力,減少內(nèi)存消耗。
【附圖說(shuō)明】
[0019]為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1是本發(fā)明實(shí)施例一提供的一種波浪型動(dòng)態(tài)圖像的顯示方法流程圖;
[0021]圖2是本發(fā)明實(shí)施例一中提出的Vertex Shader技術(shù)涉及矢量的示意圖;
[0022]圖3是本發(fā)明實(shí)施例二提供的一種波浪型動(dòng)態(tài)圖像的顯示設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0023]下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]實(shí)施例一
[0025]針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例一提供一種波浪型動(dòng)態(tài)圖像的顯示方法,如圖1所示,該波浪型動(dòng)態(tài)圖像的顯示方法包括以下步驟:
[0026]步驟101,移動(dòng)終端將目標(biāo)3D圖像轉(zhuǎn)換為能夠顯示的二維圖像。
[0027]其中,可以經(jīng)過(guò)一系列的變換將目標(biāo)3D圖像(即最終需要顯示的波浪型動(dòng)態(tài)圖像)轉(zhuǎn)換為可以顯示的二維圖像,該轉(zhuǎn)換過(guò)程在此不再詳加贅述。
[0028]步驟102,基于Vertex Shader技術(shù),移動(dòng)終端將二維圖像傳入紋理坐標(biāo)。
[0029]其中,紋理實(shí)際上是一個(gè)二維數(shù)組,其元素是一些顏色值,單個(gè)的顏色值被稱為紋理元素或紋理像素,每一個(gè)紋理像素在紋理中都有一個(gè)唯一的地址,這個(gè)地址可以被認(rèn)為是一個(gè)列和行的值;紋理坐標(biāo)位于紋理空間中,即紋理坐標(biāo)與紋理中的(0,0)位置相對(duì)應(yīng),在將一個(gè)紋理應(yīng)用于一個(gè)圖元時(shí),其紋理像素地址需要映射到對(duì)象坐標(biāo)系中,然后再被平移到屏幕坐標(biāo)系或像素位置上。基于此紋理坐標(biāo)相關(guān)特征,可以直接將二維圖像傳入紋理坐標(biāo)。
[0030]步驟103,基于Pixel Shader技術(shù),移動(dòng)終端利用一致變量擾動(dòng)紋理坐標(biāo)。
[0031]本發(fā)明實(shí)施例中,基于Pixel Shader技術(shù),移動(dòng)終端利用一致變量擾動(dòng)紋理坐標(biāo)的過(guò)程,具體包括:基于Pixel Shader技術(shù),移動(dòng)終端利用一致變量生成正弦函數(shù),并通過(guò)該正弦函數(shù)擾動(dòng)紋理坐標(biāo);其中,正弦函數(shù)的正弦值在[-η/2,/