色噜噜人体337p人体 I 超碰97观看 I 91久久香蕉国产日韩欧美9色 I 色婷婷我要去我去也 I 日本午夜a I 国产av高清怡春院 I 桃色精品 I 91香蕉国产 I 另类小说第一页 I 日操夜夜操 I 久久性色 I 日韩欧在线 I 国产深夜在线观看 I 免费的av I 18在线观看视频 I 他也色在线视频 I 亚洲熟女中文字幕男人总站 I 亚洲国产综合精品中文第一 I 人妻丰满熟av无码区hd I 新黄色网址 I 国产精品真实灌醉女在线播放 I 欧美巨大荫蒂茸毛毛人妖 I 国产一区欧美 I 欧洲亚洲1卡二卡三卡2021 I 国产亚洲欧美在线观看三区 I 97精品无人区乱码在线观看 I 欧美妇人 I 96精品在线视频 I 国产人免费视频在线观看 I 91麻豆国产福利在线观看

基于Android平臺的紋理映射分析與實現論文

時間:2021-04-27 09:10:39 論文 我要投稿

基于Android平臺的紋理映射分析與實現論文

  引言

基于Android平臺的紋理映射分析與實現論文

  紋理映射的本質是對三維物體進行二維參數化,即先求得三維物體表而上任一點的二維(u,v)參數值,進而得到該點的紋理值,最終生成三維圖形表而上的紋理圖案。在光滑曲而上添加紋理圖案的核心問題是映射,因此紋理問題可以簡化為從一個坐標系到另一個坐標系的變換?偟膩碚f,紋理映射技術是一種使建立的3D模型更接近現實物體的技術。

  1紋理映射基本原理

  紋理生成過程實質上是將所定義的紋理映射為反映某種三維景物表面的屬性(與光照明模型及表面幾何有關的`各種參數,如表面法向、漫/鏡面反射率等),并參與后續的光照明計算。

  二維紋理映射就是從二維紋理平面到三維物體表面的映射。一般二維紋理平面是有范圍限制的,在這個平面區域內,每點都可用數學函數表達,從而可以離散的分離出每點的灰度值和顏色值,這個平面區域稱為紋理空間,一般將紋理空間的平面區域定義在[0,1]*[0,1]。紋理映射是確定物體表面一點P在紋理空間中的對應點(u,v),從而紋理空間中的點(u,v)處的紋理值就是物體表面點P的紋理屬性。建立紋理空間與景物空間及景物空間與屏幕空間之間的映射關系:

  圖1紋理映射

  景物表面的紋理屬性主要有以下幾種:

  表面顏色,即表面的漫反射率;鏡面反射分量,即表面的鏡面反射率;透明度;表面法向,即撓動表面法向來產生表面的凹凸紋理;環境的漫反射和鏡面反射效果;光源強度和色彩分布。

  根據紋理定義域的不同,可分為而為二維和三維紋理,由于本文是基于Android平臺的,考慮到效率和資源問題,主要給出了二維紋理的模型,對三維紋理映射技術就不再討論了。

  2紋理映射的實現

  本節將通過在一個立方體各個面貼上圖片來介紹Android平臺下基于OpenGLES的紋理映射有關的內容:定義紋理、控制濾波、說明映射方式、繪制場景,給出頂點的紋理坐標和幾何坐標。

  首先,我們通過Android平臺的OpenGLES庫來創建一個紋理,并使用圖片來生成一個紋理,過程如下:

  IntBufferintBuffer=IntBuffer.allocate(1);//創建紋理

  gl.glGenTextures(1,intBuffer);//設置要使用的紋理

  gl.glBindTexture(GL10.GL_TEXTURE_2D,texture);

  函數glGenTextures(intn,intBuffertextures)用于通知OpenGL我們想生成一個紋理的名字。函數glBindTexture(inttarget,inttexture)方法用于通知OpenGL將紋理名字texture綁定到紋理目標上。

  在Android中我們使用GLUtils中的一個靜態方法texImage2D(inttarget,intlevel,Bitmapbitmap,intborder)來生成一個紋理。過程如下:

  //生成紋理

  GLUtils.texImage2D(GL10.GL_TEXTURE_2D,0,GLImage.mBitmap,0)

  通過以上過程,我們便成功地創建了一個紋理。

  為了能有更好的效果,我們還需要設置在OpenGL現實圖像時,它放大得比原始紋理大(GL_TEXTURE_MAG_FILTER)或縮小得比原始紋理。℅L_TEXTURE_MIN_FILTER)時OpenGL所采用的濾波方式。以下過程是我們設置的線性濾波://設置線性濾波

  Gl.glTexParameterx(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_LINEAR);

  在android中可以使用glBindTexture(inttarget,inttexture)方法來綁定紋理。以下過程綁定了上面創建的紋理:Gl.glBindTexture(GL10.GL_TEXTURE_COORD_ARRAY);//綁定紋理

  紋理需要使用glEnableClientState()方法來開啟紋理:Gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

  與之對應的,關閉紋理過程如下:

  Gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

  為了將紋理正確的映射到四邊形上,必須將紋理的右上角映射到四邊形的右上角,紋理的左上角映射到四邊形的左上角,紋理的右下角和左下角亦是如此。因為,如果映射錯誤的話,圖像顯示時可能上下顛倒,側向一邊或者什么都沒有。下面是我們對立方體的每一個面所設置的紋理映射數據:

  IntBuffertexCoords=IntBuffer.wrap(newint[]

  {

  One,0.,0,0,0,one,one,one,

  0,0,0,one,one,one,one,0,

  One,one,one,0,0,0,0,one

  0,one,one,one,one,0,0,0,

  0,0,0,one,one,one,one,0,

  One,0,0,0,0,one,one,one

  });

  設置好這些映射數據之后,可以通過glTexCoordPointer將紋理綁定到要繪制的物體上。過程如下:

  Gl.glTextCoordPointer(2,GL10.GL_FIXED,0,texCoords);

  最后,將其繪制到屏幕上即可。效果圖2如圖所示:

  圖2紋理映射效果

  3結束語

  本文通過對紋理映射的基本原理進行了分析,并在Android平臺中利用OpenglES圖形庫對紋理映射技術進行了實現。

  由于本文利用的是Android應用層封裝后的OpenglES圖形庫,在效率上欠佳,以后的主要工作是通過AndroidNDK對OpenglES進行原生態開發,進而提高實現效率。

  參考文獻

  [1]李增忠.紋理映射技術的研究[D].中國優秀碩士學位論文全文數據庫,2005.

  [2](美)ShaneCo.comnder.Android移動應用開發從入門到精通[M].北京:人民郵電出版社,2010.

  [3]楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010.

主站蜘蛛池模板: 国模小黎自慰337p人体 | 狠狠色综合欧美激情 | 又色又爽又黄无遮挡的免费视频 | 成人无码a片一区二区三区免 | 亚洲精品久久久久58 | 在线视频中文亚洲 | 最新天堂av | 91免费视频入口 | 国精品无码一区二区三区在线 | 少妇色综合| 香草乱码一二三四区别 | 韩国精品一区二区三区六区色诱 | 揉捏奶头高潮呻吟视频 | 亚洲精片 | 国内裸体无遮挡免费视频 | 成人五区 | 一区二区三区欧美视频 | 日日碰狠狠躁久久躁综合小说 | 国产精品无码免费播放 | 久久精品国产sm调教网站演员 | 国产aaa大片 | 色成人 | 草草视频在线 | 天天操天天操天天操天天操天天操 | 久久国产精品久久国产精品 | 熟女人妻av完整一区二区三区 | p福利| 激情综合影院 | 丁香婷婷综合网 | 中国美女毛茸茸撒尿 | 91变态视频 | 狠狠淫xx | 丁香花开心四播房麻豆 | 成人免费无码大片a毛片小说 | 狠狠色噜噜狠狠狠888777米奇 | 国产高清毛片 | 亚洲精品系列 | 97色成人综合网站 | 嫩草视频免费观看 | 二级特黄绝大片免费视频大片 | 亚洲国产精品va | 男人的天堂av网站 | 国产欧美日韩精品a在线看 日日爱666 | 操你av| 欧美乱轮视频 | 亚洲免费av一区 | 人妻少妇av中文字幕乱码 | 97爱爱视频| 日本片网址 | 女人的天堂av在线 | av日韩在线免费 | 亚洲成在人线av无码 | 午夜久久影视 | 少妇一区在线 | 草久在线 | 色狠狠成人综合网 | 教师夫妇交换刺激做爰小说 | 国产成人生活片 | 精品一区二区三区电影 | 久久精品中文字幕 | 亚洲久久成人 | 小12箩利洗澡无码视频网站 | 免费黄片毛片 | 韩国三级电影一区二区 | 精品区一区二 | 国产不卡免费视频 | 亚洲欧美日韩精品久久亚洲区 | 日本一区二区视频在线 | 欧美精品乱码久久久久久按摩 | 91福利精品第一导航禁漫天堂 | 亚洲乱码日产精品bd在线看 | 久草免费福利在线视频 | 二级特黄绝大片免费视频大片 | 亚洲男女性生活视频世界各国男女性生活 | 无翼乌口工全彩无遮挡h全彩 | 精品国产免费久久久久久婷婷 | 免费夜色污私人影院在线观看 | 日本五十肥熟交尾 | 国产成人99久久亚洲综合精品 | 亚洲熟妇av一区 | 天天躁天天弄天天爱 | 男人扒开女人双腿猛进视频 | 日本肉体xxxx裸体137大胆 | 成人网站国产在线视频内射视频 | 亚洲成在人线在线播放 | 亚洲熟妇丰满多毛xxxx | 国产免费一区二区三区在线网站 | 午夜免费激情视频 | 亚洲熟女av综合网五月 | 在线观看av日韩 | 国产高潮av | 欧美亚洲国产成人一区二区三区 | 午夜精品国产精品大乳美女 | 男人扒开女人腿桶到爽免费 | 国产成人av综合亚洲色欲 | 久久蜜桃av一区精品变态类天堂 | 午夜精品视频一区二区三区在线看 | 国产精品久久久久久久久岛 | 亚洲精品久久久久久动漫器材一区 |