亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于OpenGLES的3D圖形處理方法及裝置的制造方法

文檔序號(hào):9327884閱讀:494來(lái)源:國(guó)知局
基于OpenGL ES的3D圖形處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖形處理技術(shù)領(lǐng)域,尤其涉及一種基于OpenGL ES的3D圖形處理方法及裝置。
【背景技術(shù)】
[0002]隨著技術(shù)的發(fā)展,用戶對(duì)軟件界面等的視覺(jué)效果要求越來(lái)越高,3D界面已是一種不可逆轉(zhuǎn)的趨勢(shì)。OpenGL ES(OpenGL for Embedded Systems)是免授權(quán)費(fèi)的,跨平臺(tái)的,功能完善的2D和3D圖形應(yīng)用程序接口 API,針對(duì)手機(jī)、PAD和游戲主機(jī)等嵌入式設(shè)備而設(shè)計(jì)。我們可以利用這個(gè)技術(shù)實(shí)現(xiàn)對(duì)三維圖形的渲染,從而繪制出逼真的3D場(chǎng)景。
[0003]現(xiàn)在的拼圖游戲都是平面的圖片進(jìn)行拼接,平面模式的拼圖顯得太平淡枯燥,沒(méi)有立體感。且拼接后再編輯效果不理想,用戶體驗(yàn)不是很好。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種基于OpenGL ES的3D圖形處理方法及裝置,使用OpenGLES對(duì)圖片的拼接進(jìn)行3D渲染,同時(shí),用戶可自由旋轉(zhuǎn),從而構(gòu)建逼真的3D拼圖場(chǎng)景,用戶體驗(yàn)好,有利于開發(fā)人的空間想象力。
[0005]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0006]第一方面,本技術(shù)方案提供一種基于OpenGL ES的3D圖形處理方法,包括:
[0007]獲取三維立體目標(biāo)模型,使用OpenGL ES建立所述目標(biāo)模型的虛擬3D視圖;
[0008]獲取觸屏信號(hào),得到滑動(dòng)方向;
[0009]獲取圖片,處理并保存所述圖片;
[0010]使用OpenGL ES選擇一幅所述圖片渲染到所述虛擬3D視圖的第一視圖;
[0011]使用OpenGL ES選擇另一幅所述圖片渲染到所述虛擬3D視圖的第二視圖,所述第二視圖為按照所述滑動(dòng)方向旋轉(zhuǎn)后得到的視圖;
[0012]將渲染后的所述虛擬3D視圖保存為3D視圖文件。
[0013]其進(jìn)一步技術(shù)方案為,所述獲取三維立體目標(biāo)模型,使用OpenGL ES建立所述目標(biāo)模型的虛擬3D視圖之前,還包括:
[0014]建立三維立體模型庫(kù)。
[0015]其進(jìn)一步技術(shù)方案為,所述使用OpenGL ES選擇另一幅所述圖片渲染到所述虛擬3D視圖的第二視圖,所述第二視圖為按照所述滑動(dòng)方向旋轉(zhuǎn)后得到的視圖之后,還包括:
[0016]獲取清空屏幕的指令,清空屏幕;
[0017]將渲染后的所述虛擬3D視圖的第一視圖顯示到屏幕;
[0018]若獲取到觸屏信號(hào),得到滑動(dòng)方向,則將渲染后的所述虛擬3D視圖的第二視圖顯示到屏幕。
[0019]其進(jìn)一步技術(shù)方案為,所述將渲染后的所述虛擬3D視圖保存為3D視圖文件之后,還包括:
[0020]發(fā)送所述3D視圖文件至共享服務(wù)器共享到網(wǎng)絡(luò)上。
[0021]其進(jìn)一步技術(shù)方案為,所述三維立體目標(biāo)模型為立方體。
[0022]第二方面,本技術(shù)方案提供一種基于OpenGL ES的3D圖形處理裝置,包括:
[0023]虛擬3D視圖建立單元,用于獲取三維立體目標(biāo)模型,使用OpenGL ES建立所述目標(biāo)模型的虛擬3D視圖;
[0024]滑動(dòng)方向獲得單元,用于獲取觸屏信號(hào),得到滑動(dòng)方向;
[0025]圖片獲取單元,用于獲取圖片,處理并保存所述圖片;
[0026]第一視圖渲染單元,用于使用OpenGL ES選擇一幅所述圖片渲染到所述虛擬3D視圖的第一視圖;
[0027]第二視圖渲染單元,用于使用OpenGL ES選擇另一幅所述圖片渲染到所述虛擬3D視圖的第二視圖,所述第二視圖為按照所述滑動(dòng)方向旋轉(zhuǎn)后得到的視圖;
[0028]3D視圖文件保存單元,用于將渲染后的所述虛擬3D視圖保存為3D視圖文件。
[0029]其進(jìn)一步技術(shù)方案為,還包括:
[0030]三維立體模型庫(kù)建立單元,用于建立三維立體模型庫(kù)。
[0031]其進(jìn)一步技術(shù)方案為,還包括:
[0032]清屏指令獲取單元,用于獲取清空屏幕的指令,清空屏幕;
[0033]顯示單元,用于將渲染后的所述虛擬3D視圖的第一視圖顯示到屏幕;具體用于若獲取到觸屏信號(hào),得到滑動(dòng)方向,則將渲染后的所述虛擬3D視圖的第二視圖顯示到屏幕。
[0034]其進(jìn)一步技術(shù)方案為,還包括:
[0035]3D視圖文件發(fā)送單元,用于發(fā)送所述3D視圖文件至共享服務(wù)器共享到網(wǎng)絡(luò)上。
[0036]其進(jìn)一步技術(shù)方案為,所述三維立體目標(biāo)模型為立方體。
[0037]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果:
[0038]本技術(shù)方案中,使用OpenGL ES對(duì)三維立體模型使用選定的圖片進(jìn)行3D渲染,同時(shí),用戶可自由旋轉(zhuǎn)渲染后的虛擬3D視圖,從而構(gòu)建逼真的3D場(chǎng)景,尤其適用于3D拼圖領(lǐng)域,3D場(chǎng)景使得用戶可通過(guò)觸摸旋轉(zhuǎn)以自由地觀察拼圖效果,提高了用戶體驗(yàn),增加了趣味性,有利于提升人的三維空間想象能力。
【附圖說(shuō)明】
[0039]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施例的內(nèi)容和這些附圖獲得其他的附圖。
[0040]圖1是本發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理方法第一個(gè)實(shí)施例的方法流程圖。
[0041]圖2是本發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理方法第二個(gè)實(shí)施例的方法流程圖。
[0042]圖3是本發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理裝置第一個(gè)實(shí)施例的結(jié)構(gòu)方框圖。
[0043]圖4是本發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理裝置第二個(gè)實(shí)施例的結(jié)構(gòu)方框圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明解決的技術(shù)問(wèn)題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]圖1是本發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理方法第一個(gè)實(shí)施例的方法流程圖。如圖1所示,該基于OpenGL ES的3D圖形處理方法,包括:
[0046]S101、獲取三維立體目標(biāo)模型,使用OpenGL ES建立所述目標(biāo)模型的虛擬3D視圖。
[0047]具體地,在步驟SlOl之前,還包括建立三維立體模型庫(kù)。三維立體模型庫(kù)包括立方體、長(zhǎng)方體、圓柱體、球體及橢球體等常見(jiàn)立體結(jié)構(gòu)模型。這些常用立體結(jié)構(gòu)的模型為常見(jiàn)模型,此處不再詳述模型建立過(guò)程。
[0048]具體地,使用GLSurfaceView創(chuàng)建3D場(chǎng)景,需要實(shí)現(xiàn)Renderer (清染器),它繼承于 GLSurfaceView.Renderer0
[0049]S102、獲取觸屏信號(hào),得到滑動(dòng)方向。
[0050]具體地,當(dāng)有觸屏事件發(fā)生時(shí)候,系統(tǒng)會(huì)調(diào)用public booleanonTouchEvent (final Mot1nEvent event),將觸屏事件類型,位置等信息存儲(chǔ)在Mot1nEvent的對(duì)象中。
[0051]S103、獲取圖片,處理并保存所述圖片。
[0052]該圖片為通過(guò)照相機(jī)拍攝的照片,或者為提前保存的圖片。
[0053]具體地,對(duì)所述圖片進(jìn)行縮放,并進(jìn)行適當(dāng)?shù)男揎棧沟盟鰣D片顯示效果更加絢麗,圖片的數(shù)量可以是I張,也可以是多張,保存在數(shù)組中,傳遞給OpenGL ES。
[0054]S104、使用OpenGL ES選擇一幅所述圖片渲染到所述虛擬3D視圖的第一視圖。
[0055]具體地,OpenGL ES將接收到的圖片保存到數(shù)組,同時(shí)將圖片的頂點(diǎn)和索引分別保存到不同的數(shù)組中。使用OpenGL ES繪制圖形,并用選定的圖片產(chǎn)生紋理,將產(chǎn)生的紋理渲染到所述虛擬3D視圖的第一視圖。
[0056]在OpenGL ES中,所有的物體,幾何元素最終都是以頂點(diǎn)的形式表述的。一般來(lái)說(shuō),這些頂點(diǎn)將會(huì)產(chǎn)生三角形、直線或點(diǎn)。它做的工作就是將頂點(diǎn)提供給頂點(diǎn)處理器進(jìn)行處理。頂點(diǎn)的數(shù)據(jù)包括頂點(diǎn)的位置(空間坐標(biāo))、大小、顏色、頂點(diǎn)的法向量(用于光照計(jì)算)、紋理坐標(biāo)(可能有多個(gè))等等。
[0057]S105、使用OpenGL ES選擇另一幅所述圖片渲染到所述虛擬3D視圖的第二視圖,所述第二視圖為按照所述滑動(dòng)方向旋轉(zhuǎn)后得到的視圖。
[0058]具體地,所述三維立體目標(biāo)模型為立方體,則所述第二視圖可能為左視圖、右視圖、上視圖、下視圖,其對(duì)應(yīng)的滑動(dòng)方向分別為向右滑動(dòng),向左滑動(dòng),向下滑動(dòng)及向上滑動(dòng)。
[0059]此處僅是以立方體模型為例進(jìn)行說(shuō)明,當(dāng)然也可以為其他立體模型。
[0060]S106、將渲染后的所述虛擬3D視圖保存為3D視圖文件。
[0061]渲染后的虛擬3D視圖具有良好的立體效果,可以將所有設(shè)置保存在一個(gè)3D視圖文件中,可以供其他人打開使用。
[0062]綜上,該發(fā)明實(shí)施例提供的基于OpenGL ES的3D圖形處理方法使用OpenGL ES對(duì)三維立體模型使用選定的圖片進(jìn)行3D渲染
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1