亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        紋理映射在物體重建中的應(yīng)用

        2015-03-03 05:30:06杜麗美
        關(guān)鍵詞:紋理物體定義

        杜麗美

        (長(zhǎng)治學(xué)院 計(jì)算機(jī)系,山西 長(zhǎng)治 046011)

        紋理映射在物體重建中的應(yīng)用

        杜麗美

        (長(zhǎng)治學(xué)院 計(jì)算機(jī)系,山西 長(zhǎng)治 046011)

        基于給定的三維物體模型,研究如何使用OpenGL中的紋理映射函數(shù),使得將紋理圖像完美地映射到三維物體表面,進(jìn)而模擬出真實(shí)物體的面貌.此過(guò)程的核心問(wèn)題是研究OpenGL中的紋理定義函數(shù),紋理控制函數(shù),紋理坐標(biāo)函數(shù)等的使用.

        紋理定義;紋理控制;紋理坐標(biāo)

        0 引言

        在當(dāng)今的網(wǎng)絡(luò)時(shí)代下,大家可以借助計(jì)算機(jī)來(lái)滿足自己的各種需求,比如在工作、生活、科學(xué)研究上都要用到計(jì)算機(jī),同樣計(jì)算機(jī)因其自身功能的強(qiáng)大,也可以為大家解決各種難題.

        三維重建是目前研究的眾多熱點(diǎn)問(wèn)題中的一個(gè),比如,在工業(yè)生產(chǎn)中,可以先將設(shè)想中的某個(gè)部件在計(jì)算機(jī)上重建出來(lái),然后對(duì)此虛擬部件進(jìn)行各種參數(shù)的修改,最終得到該虛擬部件的各項(xiàng)參數(shù)的準(zhǔn)確數(shù)據(jù),進(jìn)而投入生產(chǎn).在醫(yī)學(xué)上三維重建技術(shù)也有相當(dāng)重要的應(yīng)用.除此之外,大多數(shù)人對(duì)計(jì)算機(jī)視覺(jué)的要求越來(lái)越強(qiáng)烈,如何將現(xiàn)實(shí)生活中的物體形象地表現(xiàn)在計(jì)算機(jī)屏幕上,這是當(dāng)下的熱門問(wèn)題,此過(guò)程可以借助OpenGL函數(shù)中的光照、材質(zhì)、霧化等效果函數(shù)來(lái)渲染出真實(shí)的環(huán)境效果,但是真實(shí)物體表面的顏色往往是千變?nèi)f化非常復(fù)雜的,單用某些顏色函數(shù)往往是不夠的,基于這種情況,OpenGL函數(shù)中提供了紋理函數(shù),借助紋理函數(shù)就可以簡(jiǎn)單、方便地在計(jì)算機(jī)屏幕上形象地模擬出真實(shí)的物體和真實(shí)的環(huán)境效果了[1,2].

        1 紋理映射簡(jiǎn)介及原理

        紋理映射就是將現(xiàn)有的(或自己定義的)紋理圖像映射到指定的區(qū)域上,使該區(qū)域具有與紋理圖像一樣的外貌.通俗來(lái)說(shuō),就是將現(xiàn)有的一幅圖粘貼到預(yù)先構(gòu)造的三維物體表面上,進(jìn)而來(lái)增強(qiáng)三維物體的真實(shí)感.

        在紋理映射中,所使用的紋理圖像可以是自己定義的一副一維或二維圖像,也可以是現(xiàn)有的一副一維或二維圖像.在紋理圖像粘貼到三維物體表面上時(shí),所采用的映射方式最簡(jiǎn)單的是坐標(biāo)對(duì)坐標(biāo)的方式,但是在映射的實(shí)際過(guò)程中,由于三維物體表面可能是凹凸不平的,或者紋理圖像和三維物體表面的大小是不一樣的,因此在映射過(guò)程中就不能只是簡(jiǎn)單的映射形式,而是必須根據(jù)實(shí)際需要將紋理圖進(jìn)行適當(dāng)?shù)睦?、壓縮等變換,這樣映射后的結(jié)果才具有真實(shí)感[3-5].下面將要介紹的紋理控制函數(shù)就可以解決此問(wèn)題.

        圖1中的兩幅圖就是進(jìn)行紋理映射后最終的效果,1(a)中分別對(duì)地面和左右的墻面進(jìn)行紋理映射,而且為了增強(qiáng)真實(shí)感,還用了光照和霧化函數(shù)來(lái)渲染效果.圖1(b).

        為將自己定義的簡(jiǎn)單的紋理圖像映射到曲面上的效果.由圖1中的兩種結(jié)果來(lái)看,紋理映射不僅適用于平面也可以應(yīng)用到曲面上.

        圖1 紋理映射效果

        2 紋理映射函數(shù)

        進(jìn)行紋理映射的一般過(guò)程是:首先最重要的是必須先定義一幅紋理圖像,然后選擇紋理控制函數(shù)說(shuō)明映射方式,其次選擇映射方式(即紋理圖像上的顏色是否要和三維物體表面上的顏色進(jìn)行混合),最后使用紋理坐標(biāo)函數(shù)來(lái)完成映射.這幾個(gè)過(guò)程所對(duì)的函數(shù)的具體用法將在下文以下幾個(gè)小節(jié)中詳細(xì)介紹.

        2.1 紋理函數(shù)

        一般來(lái)說(shuō)紋理有一維和二維之分,但是通常用到的是二維紋理,因此這里只介紹二維紋理所對(duì)的函數(shù)[6]:

        glTexImage2D(GLenum target, Glint level, Glint components, GLsizei width,

        GLsizei height, Glint border, GLenum format, GLenum type, const GLvoid *pixels)

        因?yàn)槭嵌S紋理,所以此函數(shù)中的第一個(gè)參數(shù)取常數(shù)GL_TEXTURE_2D表明定義的二維紋理;第二個(gè)參數(shù)level表示紋理圖像的分辨率級(jí)數(shù),若只有一種分辨率則為0;第三個(gè)參數(shù)components的值一般取3,表示此紋理圖像是由R,G,B三個(gè)分量混合而成;第四和第五個(gè)參數(shù)width和height是定義此二維紋理圖像的大小(長(zhǎng)和寬);如果此紋理圖像有邊界則由第六個(gè)參數(shù)border來(lái)定義,若沒(méi)有邊界,則此參數(shù)取0;第七個(gè)參數(shù)format一般取GL_RGB表示紋理映射的格式;第八個(gè)參數(shù)type通常取GL_UNSIGED_BYTE表示紋理映射的數(shù)據(jù)類型;第九個(gè)參數(shù)*pixels指向具體的紋理圖像數(shù)據(jù).

        2.2 紋理控制函數(shù)

        一張紋理圖像一般是規(guī)則的長(zhǎng)方形或正方形區(qū)域,若將這張紋理圖像映射到一個(gè)凹凸不平的三維物體上時(shí),可能此紋理圖像要隨著三維物體表面的凹凸形狀來(lái)變化,或者紋理圖像尺寸小于或大于三維物體表面的尺寸時(shí),還要將紋理圖像進(jìn)行拉伸或壓縮變換,這些情況就要借助本小節(jié)的紋理控制函數(shù)來(lái)實(shí)現(xiàn),所對(duì)函數(shù)如下[6]:

        glTexParameteri(GLenum target, GLenum pname, TYPE param)

        該函數(shù)中各參數(shù)的意義及取值為:第一個(gè)參數(shù)為常數(shù)GL_TEXTURE_1D或GL_TEXTURE_2D,后兩個(gè)參數(shù)的取值見表1所示.

        表1 各參數(shù)的取值

        參數(shù)GL_TEXTURE_MAG_FILTER和GL_TEXTURE_MIN_FILTER表示對(duì)紋理圖像進(jìn)行放大和縮小變換,對(duì)應(yīng)的值GL_NEAREST和GL_LINEAR表示如何進(jìn)行放大和縮小,其中GL_NEAREST表示紋理映射圖像以中心位置為支點(diǎn)來(lái)進(jìn)行放大和縮小,GL_LINEAR表示使用線性插值的方法對(duì)紋理圖像進(jìn)行放大和縮?。畢?shù)GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T表示紋理在X方向和Y方向上的延展,取值GL_CLAMP表示只延展紋理圖像的邊界像素值,GL_REPEAT表示重復(fù)延展整個(gè)紋理圖像.

        2.3 映射方式

        一般情況下,三維物體通過(guò)設(shè)置光照表面會(huì)有某種顏色,如果將一張紋理映射圖像直接映射到此三維物體上,要考慮的問(wèn)題是紋理圖像上的顏色是否要和此物體表面上的顏色進(jìn)行混合,此過(guò)程所涉及的函數(shù)為[6]:

        glTexEnvf(GLenum target,GLenum pname,TYPE param)

        此函數(shù)的第一個(gè)參數(shù)target的值取GL_TEXTURE_ENV,第二個(gè)參數(shù)pname一般取GL-TEXTURE-ENV-MODE,參數(shù)pname所對(duì)的第三個(gè)參數(shù)param一般取GL-DECAL、GL-MODULATE或GL-BLEND表明怎樣進(jìn)行混合,GL-DECAL模式下所有的效果都將取消,物體表面只顯示紋理顏色;GL-MODULATE模式下會(huì)根據(jù)當(dāng)前的紋理顏色來(lái)調(diào)整物體表面的光照和明暗;GL-BLEND模式是將紋理顏色與光照顏色混合.

        2.4 紋理坐標(biāo)函數(shù)

        紋理坐標(biāo)函數(shù)為[6]:

        glTexCoord2f(GLfloats,GLfloat t)

        該函數(shù)中第一個(gè)參數(shù)s表示X軸方向上的坐標(biāo),第二個(gè)參數(shù)t表示Y軸方向上的坐標(biāo),X、Y軸上的坐標(biāo)(s,t)表示紋理圖像上的相應(yīng)位置,比如(0,0)表示紋理圖像上的左上點(diǎn)位置,(1,1)表示紋理圖像上的右下點(diǎn)位置,(0,1)表示紋理圖像上的左邊界的中間位置等等.當(dāng)把紋理圖像粘貼到三維物體上時(shí),要保證紋理圖像上的點(diǎn)正確地映射到三維物體的對(duì)應(yīng)位置上,如果映射錯(cuò)誤,則會(huì)產(chǎn)生紋理圖像顛倒或變形的可能.一般在進(jìn)行紋理映射時(shí),紋理坐標(biāo)和三維物體的對(duì)應(yīng)坐標(biāo)要配對(duì)出現(xiàn).

        2.5 其他一些函數(shù)

        以上是進(jìn)行紋理映射過(guò)程中必不可少的四個(gè)步驟,當(dāng)然在進(jìn)行紋理映射的過(guò)程中可能還要用到其他一些函數(shù),本小節(jié)再簡(jiǎn)要地介紹兩個(gè)函數(shù).

        glGenTexture(GLsizein,GLuint*textures)

        該函數(shù)中的第一個(gè)參數(shù)n表示將要使用的紋理圖像的數(shù)量,第二個(gè)參數(shù)*textures表示指向這n個(gè)紋理圖像的指針,初始狀態(tài)下指向第一幅紋理圖像.通俗地說(shuō)此函數(shù)表示生成n個(gè)紋理圖像并使用指針指向這n個(gè)紋理.

        glBindTexture(GLenum target,GLuint texture)

        該函數(shù)中的參數(shù)target同樣可以取GL_TEXTURE_1D或GL_TEXTURE_2D;參數(shù)texture表示選取特定的紋理,它的選取數(shù)量取決于函數(shù)glGenTexture中定義的紋理圖像的數(shù)量,通常函數(shù)glGenTexture與glBindTexture配合使用.

        3 試驗(yàn)結(jié)果

        借助以上函數(shù),可以對(duì)不同的三維物體進(jìn)行紋理映射,圖2中的(a)(b)為將自定義的紋理圖像映射到相應(yīng)物體上的結(jié)果,其中圖2(a)為將紋理圖像映射到二維空間中的矩形物體上的結(jié)果,圖2(b)為將同樣的紋理圖像映射到三維空間中的矩形物體上的結(jié)果;圖2(c)為將現(xiàn)有的一副紋理圖片分別映射到三維立方體的六個(gè)面上的結(jié)果.

        圖2 紋理映射結(jié)果

        4 小結(jié)

        本文主要介紹了OpenGL中的有關(guān)紋理函數(shù)的使用方法,其中紋理定義函數(shù)、紋理控制函數(shù)、紋理坐標(biāo)函數(shù)是重點(diǎn),它們決定著整個(gè)紋理映射工作的成敗,通過(guò)實(shí)驗(yàn)結(jié)果分析發(fā)現(xiàn)紋理映射可以在計(jì)算機(jī)中完美地重現(xiàn)真實(shí)物體的面貌,而且操作簡(jiǎn)單,容易上手,因此紋理映射過(guò)程是進(jìn)行三維物體重建過(guò)程中的重要階段.

        [1] 薛 安,馬靄乃,李天宏.基于OpenGL實(shí)現(xiàn)真實(shí)感地形表現(xiàn)的研究[J].中國(guó)圖像圖形學(xué)報(bào),2001,6(8):800-805

        [2] 范 波,吳慧中.多面體表面紋理映射方法的研究[J].計(jì)算機(jī)研究與發(fā)展,1999,36(04):446-450

        [3] 郭 玲,王建宇等.真實(shí)感3D重建中的紋理映射技術(shù)[J].中國(guó)圖像圖形學(xué)報(bào),2007,12(10):1881-1884

        [4] 段曉娟.基于OpenGL的紋理映射技術(shù)[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2000,14(4):40-41

        [5] 禹仁貴,任 磊,王 寧.基于OpenGL的紋理映射的實(shí)現(xiàn)與應(yīng)用[J].西南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,34(6):1261-1263

        [6] 廖朵朵.OpenGL變換、光照、紋理、動(dòng)畫及特殊效果[J].微電腦世界,1996(11):151-153

        The Applications in the Reconstruction of Texture Mapping

        DU Limei

        (Department of Computer Science Changzhi University, Changzhi 046011, China)

        Given three-dimensional object model, Research on how to use the OpenGL texture mapping function, So that the texture image is mapped to the three-dimensional surface perfectly, And then simulate the appearance of real objects.The problem with this process is mainly research the Texture-defined functions, Texture-controlled functions, Texture-coordinated functions which are in the OpenGL.

        texture-defined function;texture-controlled function;texture-coordinated function

        2015-10-21 基金項(xiàng)目:長(zhǎng)治學(xué)院校級(jí)科研課題(201419).

        杜麗美(1983-),女,山西大同人,碩士,長(zhǎng)治學(xué)院計(jì)算機(jī)系講師,主要從事計(jì)算機(jī)圖形學(xué)、圖像處理等研究.

        1672-2027(2015)04-0054-04

        TP391.41

        A

        猜你喜歡
        紋理物體定義
        基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
        軟件(2020年3期)2020-04-20 01:45:18
        深刻理解物體的平衡
        使用紋理疊加添加藝術(shù)畫特效
        我們是怎樣看到物體的
        TEXTURE ON TEXTURE質(zhì)地上的紋理
        Coco薇(2017年8期)2017-08-03 15:23:38
        消除凹凸紋理有妙招!
        Coco薇(2015年5期)2016-03-29 23:22:15
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        為什么同一物體在世界各地重量不一樣?
        修辭學(xué)的重大定義
        懸浮的雞蛋
        在线无码国产精品亚洲а∨| 好男人社区影院www| 国产亚洲av无码专区a∨麻豆| 日本污视频| 国产麻豆一区二区三区在线播放| 精品人妻一区二区三区在线观看| 久久香蕉国产线看观看精品yw| 欧美日韩成人在线| 亚洲一区二区国产精品视频| 一区二区三区四区中文字幕av| 国模雨珍浓密毛大尺度150p | 2021久久最新国产精品| 久久伊人精品只有这里有| 免费国产在线精品一区二区三区免| 在熟睡夫面前侵犯我在线播放| 国产最新地址| 超短裙老师在线观看一区| 不卡日韩av在线播放| 国产做a爱片久久毛片a片| 在线观看国产精品91| 国产av一啪一区二区| 亚洲高清乱码午夜电影网| 亚洲首页一区任你躁xxxxx| 91色婷婷成人精品亚洲| 亚洲国产精品区在线观看| 国产白袜脚足j棉袜在线观看| 日韩欧美专区| 伊人狼人激情综合影院| 岳丰满多毛的大隂户| 久久精品国产自清天天线 | 精品乱码一区二区三区四区| 精品免费看国产一区二区白浆| 一本色道久久88—综合亚洲精品| 久久综合给合综合久久| 中文字幕无码专区一VA亚洲V专| 在线观看中文字幕不卡二区| 伊人久久精品无码二区麻豆| 放荡的闷骚娇妻h| av永远在线免费观看| 亚洲国产精品美女久久| 欧美日韩一区二区三区自拍|