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

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

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

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

關(guān)鍵詞: 紋理映射技術(shù); 計算機(jī)圖形學(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ù)均是計算機(jī)圖形學(xué)研究的熱點(diǎn),傳統(tǒng)的紋理映射技術(shù)可以有效增加計算機(jī)圖形的真實(shí)感[1?2]。同時隨著近年來計算機(jī)圖形技術(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ù)的實(shí)現(xiàn)帶來了困難[4]。針對上述問題,本文研究了適用于不規(guī)則多邊形以及參數(shù)曲面的二維紋理映射算法。

1 ?紋理映射的基本算法

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

Catmull屬于一種遞歸分割的方法用于顯示參數(shù)曲面,即利用子曲面產(chǎn)生的像素按照雙線差值的方法來計算該點(diǎn)的法線方向和光亮度。同時,Catmull算法在對曲面進(jìn)行分割的同時也會對相應(yīng)的紋理空間進(jìn)行曲面分割[7]。按照同樣的處理方法可以使得每個子曲面的像素和紋理空間中指定的區(qū)域相對應(yīng),從而得到平均紋理顏色。其的原理如圖1所示。在實(shí)際處理過程中,一個像素包含多個子曲面的空間投影,如圖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)行紋理映射變換時,可以不用考慮紋理空間和物體之間的逆變換。但由于其算法本身的缺點(diǎn),使得其在紋理空間的顯示精度方面有一定的局限性。同時為了對子曲面的紋理映射空間進(jìn)行像素轉(zhuǎn)換的計算,Catmull方法會占用大量的存儲空間,該缺點(diǎn)也限制了其發(fā)展。

而Blinn方法的提出則克服了上述缺點(diǎn)。其能夠?qū)⑾袼乇硎镜膮^(qū)域投影在景物表面上,然后利用映射到紋理空間的顯示曲面得到與其對應(yīng)的紋理屬性。因此,在一般的紋理映射過程中,會根據(jù)實(shí)際使用的需求結(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所示。在實(shí)際應(yīng)用過程中,考慮到真實(shí)的物理環(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ù)示意圖。

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

[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)確度和真實(shí)感。

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

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

OpenGL是一個開放的三維圖形軟件包,對圖形數(shù)據(jù)具有高效的處理能力。因此,本文利用OpenGL對紋理映射技術(shù)進(jìn)行研究。OpenGL在實(shí)現(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)來實(shí)現(xiàn)的。其中:target表明函數(shù)的種類;pname指出紋理映射的方法;同時,紋理映射參數(shù)由param來確定。

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

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

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

在計算機(jī)中,大量的曲線和曲面均通過樣條曲線的形式存在。其中,B樣條曲線是目前CAD設(shè)計中使用最為廣泛的一種樣條曲線。已知控制點(diǎn)為[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é)點(diǎn)矢量矩陣。

<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為控制點(diǎn);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é)點(diǎn)矢量,節(jié)點(diǎn)數(shù)為m+1,控制點(diǎn)數(shù)為n+1,節(jié)點(diǎn)數(shù)量和控制點(diǎn)數(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多項(xiàng)式對其進(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]個控制點(diǎn)控制。

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

4 ?結(jié) ?語

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

參考文獻(xiàn)

[1] 邵緒強(qiáng),聶霄,王保義.GPU并行計算加速的實(shí)時可視外殼三維重建及其虛實(shí)交互[J].計算機(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].計算機(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].計算機(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].微計算機(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] 江昊,何明一.基于特征約束點(diǎn)的紋理映射算法[J].計算機(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] 申世恒,李柏巖,劉曉強(qiáng),等.基于區(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].計算機(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.

主站蜘蛛池模板: 欧美一区中文字幕| 国产成人综合网在线观看| 欧美日韩成人| 一边摸一边做爽的视频17国产| 国产综合另类小说色区色噜噜| 国产区网址| 日韩免费无码人妻系列| 多人乱p欧美在线观看| 国产自视频| 伊人激情久久综合中文字幕| 国产三级成人| 午夜啪啪网| 欧美精品啪啪一区二区三区| 99久久国产自偷自偷免费一区| 日韩精品免费一线在线观看| 日韩 欧美 小说 综合网 另类| 亚洲精选无码久久久| 嫩草国产在线| 欧美人人干| 国产精品99久久久久久董美香| 成人韩免费网站| 久久久久久久久18禁秘| 欧洲精品视频在线观看| 特级做a爰片毛片免费69| 亚洲中文精品人人永久免费| 成人日韩视频| 无码免费视频| 无码粉嫩虎白一线天在线观看| 亚洲欧美精品在线| 男女精品视频| 国产一区二区色淫影院| 午夜老司机永久免费看片| 国产精品无码翘臀在线看纯欲| 伊人天堂网| 在线看片中文字幕| 日韩精品成人在线| 久久精品娱乐亚洲领先| 精品人妻一区无码视频| 国产最新无码专区在线| 欧美一级夜夜爽www| 国产在线专区| 最新亚洲人成网站在线观看| 无码专区在线观看| 好吊色妇女免费视频免费| 免费高清自慰一区二区三区| 国产男女免费完整版视频| 国产爽妇精品| 精品久久国产综合精麻豆| 丁香五月婷婷激情基地| 国产手机在线小视频免费观看| 色偷偷一区二区三区| 色久综合在线| 亚洲Aⅴ无码专区在线观看q| A级毛片无码久久精品免费| 99re视频在线| 99视频精品全国免费品| 999精品视频在线| 亚洲第一成年网| 欧美爱爱网| 国产乱子伦视频在线播放| 国产97公开成人免费视频| 欧美中文字幕一区| 国产成人1024精品下载| 日本精品αv中文字幕| 亚洲欧美日韩高清综合678| 国产精品亚洲精品爽爽| 成人福利一区二区视频在线| 9啪在线视频| 激情综合婷婷丁香五月尤物 | 波多野结衣亚洲一区| 免费女人18毛片a级毛片视频| 久久综合婷婷| 性色生活片在线观看| 国产精品女熟高潮视频| 亚洲国产中文精品va在线播放| 日本欧美视频在线观看| 国产手机在线观看| 亚洲视频在线青青| 国产麻豆精品在线观看| 伊人激情综合| 精品伊人久久久久7777人| 国产00高中生在线播放|