999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖形學(xué)算法的紋理映射技術(shù)的研究與實現(xiàn)

2018-12-14 09:05:06吳發(fā)輝張玲余文森
現(xiàn)代電子技術(shù) 2018年24期

吳發(fā)輝 張玲 余文森

關(guān)鍵詞: 紋理映射技術(shù); 計算機圖形學(xué); 兩步紋理映射; 環(huán)境紋理映射; 樣條曲線; 參數(shù)曲面

中圖分類號: TN911.73?34; TP393 ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2018)24?0071?04

Research and implementation of texture mapping technology based on graphics algorithm

WU Fahui, ZHANG Ling, YU Wensen

(Wuyi University, Wuyishan 354300, China)

Abstract: It is difficult for the current texture mapping technology to give the general expression due to the changeable geometrical shapes of the object, resulting in application limitations of the texture mapping technology. Therefore, the Catmull algorithm and Blinn algorithm applicable for irregular polygon and parametric curved surface texture mapping are studied. The two?step texture mapping technology and environmental texture mapping technology are adopted to realize plane and parametric curved surface texture mapping by using the spline curve mode in OpenGL. The results show that the research content in this paper has great significance for promotion and application of the texture mapping technology.

Keywords: texture mapping technology; computer graphics; two?step texture mapping; environmental texture mapping; spline curve; parametric curved surface

一直以來紋理映射技術(shù)均是計算機圖形學(xué)研究的熱點,傳統(tǒng)的紋理映射技術(shù)可以有效增加計算機圖形的真實感[1?2]。同時隨著近年來計算機圖形技術(shù)的發(fā)展,紋理映射技術(shù)已經(jīng)由傳統(tǒng)的軟件繪圖領(lǐng)域發(fā)展到硬件圖形領(lǐng)域。此外,該技術(shù)也被廣泛應(yīng)用到各種復(fù)雜物體的圖形渲染當(dāng)中[3]。由于物體表面多由不規(guī)則的多邊形或曲面組成,難以建立統(tǒng)一的參數(shù)表達(dá)式,因此給紋理映射技術(shù)的實現(xiàn)帶來了困難[4]。針對上述問題,本文研究了適用于不規(guī)則多邊形以及參數(shù)曲面的二維紋理映射算法。

1 ?紋理映射的基本算法

紋理映射問題的實質(zhì)是物體表面的參數(shù)化問題。在已知物體表面參數(shù)信息的基礎(chǔ)上,可以將空間中紋理圖像直接映射到物體表面。常見的紋理映射算法包括Catmull算法和Blinn算法[5?6]。

Catmull屬于一種遞歸分割的方法用于顯示參數(shù)曲面,即利用子曲面產(chǎn)生的像素按照雙線差值的方法來計算該點的法線方向和光亮度。同時,Catmull算法在對曲面進(jìn)行分割的同時也會對相應(yīng)的紋理空間進(jìn)行曲面分割[7]。按照同樣的處理方法可以使得每個子曲面的像素和紋理空間中指定的區(qū)域相對應(yīng),從而得到平均紋理顏色。其的原理如圖1所示。在實際處理過程中,一個像素包含多個子曲面的空間投影,如圖2所示。假設(shè)像素e所對應(yīng)的物體表面包含4個子曲面,定義光亮度[ri]為面S在其中的投影面積Se與S1+S2+S3+S4的比值,則紋理映射的光亮度為:

[Ie=i=14riIi] ? ? ? ? ? ?(1)

通過對計算和像素e相關(guān)的每個子曲面對其光亮度的貢獻(xiàn)值,得到紋理映射的最終亮度。

在使用Catmull方法進(jìn)行紋理映射變換時,可以不用考慮紋理空間和物體之間的逆變換。但由于其算法本身的缺點,使得其在紋理空間的顯示精度方面有一定的局限性。同時為了對子曲面的紋理映射空間進(jìn)行像素轉(zhuǎn)換的計算,Catmull方法會占用大量的存儲空間,該缺點也限制了其發(fā)展。

而Blinn方法的提出則克服了上述缺點。其能夠?qū)⑾袼乇硎镜膮^(qū)域投影在景物表面上,然后利用映射到紋理空間的顯示曲面得到與其對應(yīng)的紋理屬性。因此,在一般的紋理映射過程中,會根據(jù)實際使用的需求結(jié)合Catmull算法和Blinn算法對圖像進(jìn)行綜合處理,從而達(dá)到令人滿意的效果。

2 ?紋理映射技術(shù)

紋理映射技術(shù)主要是針對由多邊形組成的不規(guī)則物體的表面紋理映射處理技術(shù),一般包括兩步紋理映射技術(shù)、環(huán)境紋理映射技術(shù)[8?9]。

2.1 ?兩步紋理映射技術(shù)

兩步紋理映射技術(shù)的核心是利用一個中間映射媒介,來完成表面紋理映射技術(shù)的處理工作。

首先,建立三維物體的表面中間映射媒介S:

[T(u,v)→T′(x′,y′,z′)] ? ? (2)

然后,將中介物紋理映射到目標(biāo)物體表面:

[T′(x′,y′,z′)→O(x,y,z)] ? ?(3)

這樣,紋理空間得到的物體映射便可由上述兩個映射復(fù)合得到,如下:

[(u,v)→S(x′,y′,z′)→O(x,y,z)] (4)

式(3)~式(4)表明了“紋理空間→中介空間→景物空間”的映射關(guān)系。兩步紋理映射的關(guān)鍵在于合適的中介表面的建立,及其到景物空間之間特定的映射關(guān)系。通常情況下,考慮常見的中介幾何,例如平面、柱面、立方體以及球面等可以建立以下4種映射關(guān)系,如圖3所示。

上述4種映射關(guān)系中,反射光線的映射最為廣泛。此外,還可以根據(jù)不同的排列組合構(gòu)成16種映射關(guān)系,如表1所示。在實際應(yīng)用過程中,考慮到真實的物理環(huán)境以及其他條件的限制,兩步紋理映射技術(shù)可以構(gòu)成9種有效組合。

2.2 ?環(huán)境紋理映射技術(shù)

環(huán)境紋理映射技術(shù)可以更好地模擬光線跟蹤效果,是兩步紋理映射技術(shù)的一種延伸和發(fā)展[10]。環(huán)境紋理映射技術(shù)的核心思想是通過一個包圍物體的映射“環(huán)境”,將物體表面紋理映射在其內(nèi)表面。這里的環(huán)境是指一個可以將物體完全包圍的映射曲面,例如球面或者立方體面。圖4為球面環(huán)境紋理映射技術(shù)示意圖。

從視點出發(fā),任取物體表面的一點P,光線V經(jīng)過該點反射得到反射光線Vr。放射光線與中介面的交點E(u,v),即為映射點,則有:

[u=121+1πarctanVryVrx] ? ?(5)

[v=12(Vrz+1)] ? ? ? ? ?(6)

[Vr=(Vrx,Vry,Vrz)] ? ? ? ?(7)

根據(jù)上述關(guān)系,從而得到紋理映射信息。環(huán)境紋理映射技術(shù)是兩步紋理映射技術(shù)的發(fā)展,能夠充分利用入射光線信息以及景物空間反射信息,從而提高了紋理映射技術(shù)的準(zhǔn)確度和真實感。

3 ?表面紋理映射的實現(xiàn)

3.1 ?平面紋理映射的實現(xiàn)

OpenGL是一個開放的三維圖形軟件包,對圖形數(shù)據(jù)具有高效的處理能力。因此,本文利用OpenGL對紋理映射技術(shù)進(jìn)行研究。OpenGL在實現(xiàn)紋理映射技術(shù)過程中的基本步驟主要包括紋理定義、紋理控制、映射方式的確定和紋理坐標(biāo)的確定。在OpenGL中,利用void glTexImage2D定義一個基本的二維函數(shù),函數(shù)信息主要包括GLenum target,Glint level,Glint components,GLsize width,GL height等。其中,對于一個二維紋理映射而言,參數(shù)GLenum target是一個常數(shù)。

紋理控制單位是通過函數(shù)void glTexParameter{if}[v](GLenum target,GLenum pname, TYPE param)來實現(xiàn)的。其中:target表明函數(shù)的種類;pname指出紋理映射的方法;同時,紋理映射參數(shù)由param來確定。

映射方式通過調(diào)用函數(shù)glTexEnv()來實現(xiàn),在OpenGL中提供了三種函數(shù):GL_DECAL,GL_MODULATE和GL_BLEND,分別用于實現(xiàn)紋理RGB顏色。

紋理的坐標(biāo)通過glTexGoord()來確定。一般情況下,程序中直接采用.bmp文件進(jìn)行貼圖。若使用坐標(biāo)現(xiàn)實確定,則使平面坐標(biāo)和二維紋理映射(s,t)相對應(yīng)即可;若使用自動生成坐標(biāo)方式,則需要使用紋理生成函數(shù)GL_ONJECT_LINEAR來完成相應(yīng)的功能。圖5為利用glTexGoord()函數(shù)完成的平面紋理映射貼圖。

3.2 ?參數(shù)曲面紋理映射的實現(xiàn)

在計算機中,大量的曲線和曲面均通過樣條曲線的形式存在。其中,B樣條曲線是目前CAD設(shè)計中使用最為廣泛的一種樣條曲線。已知控制點為[Pi],則B樣條曲線的表達(dá)式為:

[C(u)=i=0nPiBi,k(u)] ? ? ? (8)

式中,[Bi,k(u)]為基函數(shù),定義如下:

[Bi,0(u)=1, ? ? ti≤u≤ti+10, ? ? 其他] ? ? ? (9)

[Bi,k(u)=u-tiBi,k-1(u)ti+k-ti+(ti+k+1-u)Bi+1,k-1(u)ti+k+1-ti+1] (10)

式中,[[t1,t2,…,tn+k+1]]為樣條曲線的節(jié)點矢量矩陣。

<E:\現(xiàn)代電子技術(shù)201824\Image\89t5.tif>

圖5 ?平面紋理映射貼圖

Fig. 5 ?Plane texture mapping

三維設(shè)計中通常包括NURBS樣條曲線,定義為:

[P(u)=i=0nBi,k(u)WiVii=0nBi,k(u)Wk] ? ? ?(11)

式中:V為控制點;W為權(quán)重因子;B為NURBS樣條曲線的基函數(shù),定義如下:

[Bi,0(u)=1, ? ? ti≤u≤ti+10, ? ? 其他] ? ? ?(12)

[Bi,k(u)=u-tiBi,k-1(u)ti+k-ti+(ti+k+1-u)Bi+1,k-1(u)ti+k+1-ti+1 ? ? ? ? ? ? ? ? ? ? tk-1≤u≤tn+1,k>0] ?(13)

式中,[u=[u0,u1,…,um]]為節(jié)點矢量,節(jié)點數(shù)為m+1,控制點數(shù)為n+1,節(jié)點數(shù)量和控制點數(shù)量之間滿足:

[m=n+1] ? ? ? ? ? (14)

由二維平面推廣到三維曲面可得,NURBS曲面的定義如下:

[P(u)=i=0nj=0mBi,k(u)B(v)Wi,jVi,ji=0nj=0mBi,k(u)B(v)Wi,j] (15)

式中,[Bi,k(u)]和[B(v)]分別為沿[u]方向與v方向的B樣條函數(shù)曲線。

OpenGL在繪制樣條曲線的過程中,使用n+1階Bezier多項式對其進(jìn)行計算:

[Bni(u)=niu′(1-u)n-i, i=0,1,2,…,n] (16)

定義C([u])為樣條曲線的求值器,且[u]的取值范圍為0~1,則表達(dá)式為:

[C(u)=i=0nBni(u)Pi] ? ? ? (17)

求值器的值為:

[Cu-u1u2-u1] ? ? ? ? (18)

對于二維曲面,求值器的表達(dá)式為:

[S(u,v)=i=0nj=0mBni(u)Bmj(v)Pij] ? ?(19)

式中,Pij由[m×n]個控制點控制。

在OpenGL實現(xiàn)中,利用函數(shù)glEvalCoord2{fd}(u,v)定義曲面上的一個頂點左邊。同時,參數(shù)[u]和v分別為一個已知值。同時,利用glMapGrid2(·)函數(shù)可以定義一個二維網(wǎng)絡(luò);然后可利用函數(shù)glEvalMesh(·)得到二維網(wǎng)格映射求值器。圖6為利用以上函數(shù)得到的曲面紋理映射。

4 ?結(jié) ?語

本文通過研究紋理映射技術(shù)的Catmull算法和Blinn算法,在此基礎(chǔ)上提出可以實現(xiàn)平面紋理映射的兩步紋理映射技術(shù),以及用于實現(xiàn)曲面紋理映射的環(huán)境紋理映射技術(shù)。利用OpenGL建立參數(shù)曲面模型,對參數(shù)曲面模型紋理映射技術(shù)進(jìn)行驗證。結(jié)果表明,本文研究內(nèi)容對于紋理映射技術(shù)的應(yīng)用與推廣具有重要意義。

參考文獻(xiàn)

[1] 邵緒強,聶霄,王保義.GPU并行計算加速的實時可視外殼三維重建及其虛實交互[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2017,29(1):52?61.

SHAO Xuqiang, NIE Xiao, WANG Baoyi. GPU?based real?time 3D visual hull reconstruction and virtual?reality interaction [J]. Journal of computer?aided design & computer graphics, 2017, 29(1): 52?61.

[2] 樊養(yǎng)余,王軍敏,余建明.高效的光照、旋轉(zhuǎn)、尺度不變紋理分類算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2017,29(11):1989?1996.

FAN Yangyu, WANG Junmin, YU Jianming. An Efficient texture classification algorithm with illumination, rotation and scale invariance [J]. Journal of computer?aided design & computer graphics, 2017, 29(11): 1989?1996.

[3] SHI K L,YONG J H, SUN J G, et al. Gn blending multiple surfaces in polar coordinates [J]. Computer?aided design, 2010, 42(6): 479?494.

[4] YASUI Y, KANAI T. Surface quality assessment of subdivision surfaces on programmable graphics hardware [C]// Proceedings of Shape Modeling Applications. Genova: IEEE, 2004: 129?138.

[5] 魯大營,朱登明,王兆其.基于紋理的多分辨率流場可視化算法[J].計算機研究與發(fā)展,2015,52(8):1910?1920.

LU Daying, ZHU Dengming, WANG Zhaoqi. Texture?based multi?resolution flow visualization [J]. Journal of computer research and development, 2015, 52(8): 1910?1920.

[6] 曾云,饒志恒.紋理映射技術(shù)中Mip?Map的研究[J].微計算機信息,2012,28(4):1?2.

ZENG Yun, RAO Zhiheng. Research on Mip?Map of texture mapping [J]. Microcomputer information, 2012, 28(4): 1?2.

[7] 江昊,何明一.基于特征約束點的紋理映射算法[J].計算機仿真,2009,26(1):237?239.

JIANG Hao, HE Mingyi. Texture mapping based on feature and constrained points [J]. Computer simulation, 2009, 26(1): 237?239.

[8] 申世恒,李柏巖,劉曉強,等.基于區(qū)域增長和三角分割的局部紋理映射算法[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2012,35(2):176?179.

SHEN Shiheng, LI Baiyan, LIU Xiaoqiang, et al. An algorithm for regional texture mapping based on region growing and triangulation [J]. Journal of Hefei University of Technology (Natural science), 2012, 35(2): 176?179.

[9] 袁啟明,施侃樂,雍俊海,等.曲面二階幾何連續(xù)性的混合曲率評價與可視化[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2011,23(11):1830?1837.

YUAN Qiming, SHI Kanle, YONG Junhai, et al. The mixed curvature and the G2 continuity visualization of surfaces [J]. Journal of computer?aided design & computer graphics, 2011, 23(11): 1830?1837.

[10] SHI K L, YONG J H, SUN J G, et al. Gn blending multiple surfaces in polar coordinates [J]. Computer?aided design, 2010, 42(6): 479?494.

主站蜘蛛池模板: 中文字幕免费播放| 欧美日韩国产在线观看一区二区三区| 久久毛片基地| 天天综合网亚洲网站| 精品欧美一区二区三区久久久| 园内精品自拍视频在线播放| 亚洲视频黄| 国产精品原创不卡在线| 国产成人精品优优av| 国产精品原创不卡在线| 国产极品美女在线播放| 久久久无码人妻精品无码| 91久久国产综合精品女同我| 88av在线看| 午夜无码一区二区三区| 国产h视频免费观看| 成人在线综合| 亚洲成在线观看| 日韩精品成人在线| 色老二精品视频在线观看| 99热国产这里只有精品无卡顿"| 综合亚洲色图| 高清久久精品亚洲日韩Av| 九九免费观看全部免费视频| 日本手机在线视频| 97超爽成人免费视频在线播放| 亚洲午夜天堂| 国产交换配偶在线视频| 色综合久久无码网| 天堂久久久久久中文字幕| 亚洲Va中文字幕久久一区 | 99视频在线观看免费| 国产免费人成视频网| 婷婷色丁香综合激情| 国产手机在线小视频免费观看 | 激情五月婷婷综合网| 四虎国产在线观看| 欧美激情,国产精品| 一区二区三区四区在线| 国产精品尤物在线| 欧美a在线视频| 97在线免费视频| 欧美日韩国产精品va| 成人国产免费| 国产高清不卡| 国产免费网址| 丰满人妻被猛烈进入无码| 日韩欧美综合在线制服| 福利一区在线| 99尹人香蕉国产免费天天拍| 亚洲无限乱码| 国产女人在线| 国产中文一区二区苍井空| 人妻丰满熟妇啪啪| 99re热精品视频中文字幕不卡| 欧美在线三级| 亚洲男人天堂网址| 精品久久香蕉国产线看观看gif| 不卡午夜视频| 99无码中文字幕视频| 国产精品一区二区国产主播| 亚洲欧美日韩视频一区| 欧美精品亚洲精品日韩专| 亚洲欧美极品| 欧美亚洲国产精品第一页| 爱爱影院18禁免费| a级毛片免费网站| 国产凹凸一区在线观看视频| 国产激爽爽爽大片在线观看| 国产一区二区人大臿蕉香蕉| 久草美女视频| 国产69囗曝护士吞精在线视频 | 精品伊人久久久大香线蕉欧美| 国产一区二区在线视频观看| 免费人成又黄又爽的视频网站| 本亚洲精品网站| 国产在线小视频| 亚洲浓毛av| 亚洲人成影视在线观看| 欧美高清日韩| 九九热这里只有国产精品| 精品一区二区久久久久网站|