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

基于圖形學算法的紋理映射技術的研究與實現

2018-12-14 09:05:06吳發輝張玲余文森
現代電子技術 2018年24期

吳發輝 張玲 余文森

關鍵詞: 紋理映射技術; 計算機圖形學; 兩步紋理映射; 環境紋理映射; 樣條曲線; 參數曲面

中圖分類號: TN911.73?34; TP393 ? ? ? ? ? ? ? ? 文獻標識碼: 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

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

1 ?紋理映射的基本算法

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

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

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

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

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

而Blinn方法的提出則克服了上述缺點。其能夠將像素表示的區域投影在景物表面上,然后利用映射到紋理空間的顯示曲面得到與其對應的紋理屬性。因此,在一般的紋理映射過程中,會根據實際使用的需求結合Catmull算法和Blinn算法對圖像進行綜合處理,從而達到令人滿意的效果。

2 ?紋理映射技術

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

2.1 ?兩步紋理映射技術

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

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

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

然后,將中介物紋理映射到目標物體表面:

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

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

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

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

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

2.2 ?環境紋理映射技術

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

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

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

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

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

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

3 ?表面紋理映射的實現

3.1 ?平面紋理映射的實現

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

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

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

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

3.2 ?參數曲面紋理映射的實現

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

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

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

[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]]為樣條曲線的節點矢量矩陣。

<E:\現代電子技術201824\Image\89t5.tif>

圖5 ?平面紋理映射貼圖

Fig. 5 ?Plane texture mapping

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

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

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

[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]]為節點矢量,節點數為m+1,控制點數為n+1,節點數量和控制點數量之間滿足:

[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樣條函數曲線。

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

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

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

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

求值器的值為:

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

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

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

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

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

4 ?結 ?語

本文通過研究紋理映射技術的Catmull算法和Blinn算法,在此基礎上提出可以實現平面紋理映射的兩步紋理映射技術,以及用于實現曲面紋理映射的環境紋理映射技術。利用OpenGL建立參數曲面模型,對參數曲面模型紋理映射技術進行驗證。結果表明,本文研究內容對于紋理映射技術的應用與推廣具有重要意義。

參考文獻

[1] 邵緒強,聶霄,王保義.GPU并行計算加速的實時可視外殼三維重建及其虛實交互[J].計算機輔助設計與圖形學學報,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] 樊養余,王軍敏,余建明.高效的光照、旋轉、尺度不變紋理分類算法[J].計算機輔助設計與圖形學學報,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].計算機研究與發展,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] 曾云,饒志恒.紋理映射技術中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] 申世恒,李柏巖,劉曉強,等.基于區域增長和三角分割的局部紋理映射算法[J].合肥工業大學學報(自然科學版),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] 袁啟明,施侃樂,雍俊海,等.曲面二階幾何連續性的混合曲率評價與可視化[J].計算機輔助設計與圖形學學報,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一码二码三码无码| 国产欧美自拍视频| 久久国产精品电影| 国产成人在线无码免费视频| 亚欧美国产综合| 国产一级α片| 免费国产高清视频| 亚洲AV无码一二区三区在线播放| 欧美另类一区| 美女国产在线| 欧美一级专区免费大片| 久久综合丝袜日本网| 中文字幕欧美日韩| 亚洲最大福利视频网| 国产区人妖精品人妖精品视频| 国产十八禁在线观看免费| 国产丝袜丝视频在线观看| 亚洲永久精品ww47国产| 成人精品午夜福利在线播放| AV不卡无码免费一区二区三区| 高清无码一本到东京热| 国产99视频精品免费视频7| 成人国产精品视频频| 亚洲天堂成人| 亚洲国产日韩欧美在线| 亚洲欧美另类专区| 日韩久草视频| 精品国产美女福到在线不卡f| 亚洲天堂精品在线观看| 伊人色天堂| 欧美区日韩区| 思思热在线视频精品| 国产拍在线| 久久久久无码国产精品不卡 | 男女男精品视频| 久久综合国产乱子免费| 3344在线观看无码| 日韩无码视频专区| 亚洲国产精品无码久久一线| P尤物久久99国产综合精品| 亚洲制服丝袜第一页| 99re经典视频在线| 婷婷午夜天| 日韩小视频在线播放| 婷婷六月在线| 久久青草精品一区二区三区| 亚洲一区二区成人| 亚洲精品成人福利在线电影| 久久成人免费| 亚洲女同欧美在线| 国产午夜看片| 久久精品这里只有国产中文精品| 女高中生自慰污污网站| 中文字幕天无码久久精品视频免费| 婷婷亚洲视频| 青草免费在线观看| 好吊色国产欧美日韩免费观看| 91色老久久精品偷偷蜜臀| 精品丝袜美腿国产一区| 成AV人片一区二区三区久久| 国产精品视频猛进猛出| 日本日韩欧美| 欧美激情综合一区二区| 免费av一区二区三区在线| 欧美色图第一页| 亚洲第一香蕉视频| 国产综合欧美| Jizz国产色系免费| 国产高颜值露脸在线观看| 日韩色图区| 国产污视频在线观看| 少妇被粗大的猛烈进出免费视频| 国产精品免费电影| 黄色网页在线播放| 福利在线免费视频| 狠狠色狠狠综合久久| 黄色国产在线| 精品久久久无码专区中文字幕| 黄色福利在线| 亚洲a级毛片| 国产精品永久久久久| 国产成人免费视频精品一区二区|