




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
5-1一、OpenGL介OpenGL(OpenGraphicsLibrary)是AT&T公司UNIX軟件 和SGI公司在GL(GraphicsLibrary)的基礎上OpenGL是開放式圖形工業(yè)標準,是繪制高真實感三維圖形,實現(xiàn)交互式視景仿真OpenGL提供了廣闊應用前景?;贠penGL進行三維顯示OpenGL實際上是一種與硬件無關的編程界面,可以建立活動的三維幾何對像的交和Windows95/NT間實現(xiàn)移植。此外,OpenGL是網絡透明的,在客戶/服務器(Client/Server)體系結構中,OpenGL允許本地和繪圖。5-1OpenGL給Windows系統(tǒng)帶來了一種新的圖形編程模式使用GDI時,程序員考慮的是如何用畫筆或畫刷來繪制一 pe在場分為多然后讓peGL在根據(jù)光照、陰影、紋理和消去隱藏面等計算后,其 。,Widos95/NTpe對工業(yè)標準的peGL做了擴展。Windows95/NT環(huán)境下的OpenGL包括庫、實用庫、輔助部分,共約100多個功能強大的圖形函數(shù)以及幾 于操作系統(tǒng)和硬件平臺的三維 形和動畫5-1OpenGL實用庫紋理、坐標變換、多邊形網格化,NURBS曲線和曲OpenGL的XWindow系統(tǒng)擴充在使用XWindow系統(tǒng)的機器上,提供一種OpenGLOpenGL輔助庫(Auxiliary這個庫建立一系列簡單而又完整的編程例子,例如初試化窗口 入,以及繪三維對像等。輔助庫例程用前綴aux其它基于OpenGL的開發(fā)工OpenGLOpenGLOpenGLOpenGL的主要功1,建模:不但有簡單的點線面還提供了復雜的三維物體(錐等)以及復雜的曲線曲面(Bezier、Nurbs等)繪制函數(shù)2,變換:主要包括基本變換(平移、旋轉等)和投影變換(行 投影等3,顏色模式設置:RGBA模式、ColorIndex顏色索引4,光照和材質設置:pe眼的顏色是光的B分量和材質的B分量疊加形成的;5,紋理:主要表達物體表面的細6,位圖顯示和圖像增強:圖像功能除了基本的和圖像象素(Bledi)、反走樣(tialasn)、霧柔化(o)等特殊的圖像處理效果;7,雙緩沖(DoubleBuffering)動畫:雙緩沖即前臺緩沖緩沖 計算場景、產生畫面,前臺顯 已經計算好的面8,交互技術:主要是提供三種工作模式:繪圖模式、選擇模式繪可助的數(shù)及運動控制參數(shù)、場景的觀察參數(shù)、光照參數(shù)和材質參數(shù)、理參數(shù)、pe函數(shù)的眾多常量控制參數(shù)、時間參數(shù)等和Widos 框、菜單、外部設備等構成實時交互的程序系統(tǒng)。在選擇模式下,則可以對物體進行命名,選擇命名的物體,控則序提程的信息,這些信息也可反饋給用戶,告訴用戶程序的運行狀況9,其它:利用OpenGL還能實現(xiàn)深度暗示(DepthCue)、運動糊(MotionBlur)等特殊效果OpenGL的基本原12 計算機上,基于這一點,OpenGL是網絡透明的。 peL32Widos平臺下,如Widos98/NT環(huán)境,運行時所需的動態(tài)連接庫為pe32.、32.DLL,peGL包含100多個庫函數(shù),這些函數(shù)按一定的格式來命名。1,函數(shù)115個每個函數(shù)以gl開頭,這些函數(shù)是最基本的,可以運行立視覺體,設置顏色及材質,建立燈光、進行紋理,反走樣,處理2,OpenGL實用庫函數(shù)以glu開頭。共43個這些函數(shù)基于OpenGL 有平臺上運行。但Windows98/NT支持它們。4Windows庫函數(shù),以wgl開頭。主要是連接OpenGL和Windows窗口系統(tǒng)的用它們可以管理描述表及顯示列表,擴展功能,管理字體5,Win32API函數(shù),共66OpenGL二、從 到二維平真實世界里,所有物體都是實際上,從三 第二步,將三維物體放在適當?shù)?模型變換,Modeling ProjectionTransformation); 第四步,決定二維像片的大小(視口換,ViewportTransformation)這樣,一個三里的物體就可以用第一步,視點變在視點坐標系中進行視點坐標系,左手法世界坐標系,右手法第二步,模型變在世界坐標系中進對物體進行平移、旋轉、縮第三步,投影變類似于選擇相機的鏡頭,定義一個視 于視景體內的物體分可見,視景體外的部分不可見第四步,視口變將視景體內的投影的物體顯示在二維的視口平面 三、三維圖形顯示流一、幾何變方向的平移或旋轉。1、平移將目標分別沿三個軸進行平2、旋轉將目標沿從點(x,y,z)到原點的方向逆時針旋轉角度3、縮放和鏡像—將目標分別沿三個軸向進行縮1、平2、旋3、縮放和鏡二、投影變1、正射投影(Orthographic正射投影,又叫平行投影。這種投voidglOrtho(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop,GLdoublenear,GLdoublefarvoidgluOrtho2D(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop);第一個函數(shù),它創(chuàng)建一個平行視景體。實際上這個函數(shù)的操作是創(chuàng)建一個正射投影矩陣, 第二個函數(shù)是一個特殊的正射投影函數(shù),主要用于二維圖像到二維屏幕上的投影。此它的剪取面是一個左下角點為left,bottom)、右上角點為(right,top)的矩二、投影變2 投影 OpenGL glFrustum(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop,GLdoubleznear,GLdoublezfar);voidglu (GLdoublefovy,GLdoubleaspect,GLdoublezNear,GLdoublezFar);三、剪取變在OpngGL中,空間物體除了視景體定義的六個四、視口變運用相機模擬方式,我就是類似于的放大在計算機圖形學中,它voidglViewport(GLintx,GLinty,GLsizeiwidth,GLsizeiheight這個函數(shù)定義一個視口。函數(shù)參數(shù)(x,y)是視口在屏幕窗口在實際應用中,視口的長寬比率總是等于視景體剪取面的變形。一、構成三維復雜形體的基本圖點(頂點幾何坐法向坐顏色坐紋理坐線線代表線段(Linesegment),由一系列頂點順次連接而成合和不閉合兩線的幾何屬顏色(關閉光照面(多邊形多邊形可以是平面多邊形,即所有頂點在一個平面上,也可是空間多邊形二、圖元的繪1雙精度32、構造幾何圖在OpenGL中,所有被定義的一、真實感圖形的基本概學、計算機科學和其它科學知識在計算機圖形設備上生成象彩色那樣的具一是建模,即用一定的數(shù)學方法建立所需三維場景的幾何描述景的幾何描述直接影響圖形的復雜性和圖形繪制的計算耗費二是將三維幾何模型經過一定變換轉為二維平 投影圖三是確定場景中所有可見面,運用隱藏面消隱算法將視域外或擋住的不可見面消去向視線方向輻射的光能決定的。(lminance)或光強(intensityflight)來描通常使用一種稱為“紋理”(texturemap)的技術把已有的平面花紋圖案到物體表面上,并在應用光照模二、基于DEM構造地形表 任何復雜表面都可以分解為若干個由基本圖元構成的圖形 由眾多三角網無 近而形成光滑曲面是生成復雜地形表面的一基本5-4三、地形表面的繪眾多三角形(空間三角面)25-4構成復雜表面的數(shù)據(jù)結5-4四、光照處理與材1、光照模1)光照概當光照射到一個物體表面上時,會出現(xiàn)三種情形首先,光可以通過物體表面向空間反射,產生反射光其次,對于透明體,光可 該物體并從另一端射出,產生射光最后,部分光將被物體表面吸收而轉換成在上述三部分光中,僅僅是透射光和反射光能夠進入一般來說,反射光可以分成三個分量,即環(huán)境反射、5-4一般來說,反射光可以分成三個分量,即環(huán)境反射、漫)光常統(tǒng)稱為環(huán)境光(AmbientLight);向均勻反射出去的光,這些光常稱為漫射光(DiffuseLight);鏡面反射光為朝一定方向的反射光,如一個點光源照射一個金屬球時會在球面上形成一塊特別亮的區(qū)域,呈現(xiàn)所謂“高光(Highlight,它是光源在金屬球面上產生的鏡面反射光(SpecularLight)5-42)光組輻射光(Emitted環(huán)境光(Ambient漫射光(Diffuse鏡面光(Specular5-4輻射光是最簡單的一種光,它直接從物體發(fā)出并且不受任何光源影發(fā)散類似于無影燈光)。任何光,都可能有散射成分。鏡面光來自特定方向并沿另一方向反100的鏡面反射。光亮的金屬和塑料具有很高非反射成分,而象粉筆和地毯等幾乎沒有反射成分。因此,三某種意義上講,物體的反射程度等同于其上5-43)創(chuàng)建光源(Light光源有許多特性,如顏色、位置、方向等選擇不同的特性值,則對應的光源作用在物體上的效果也不一定義光源特性的函voidglLight{if}[v](GLenumlight,GLenumpname,TYPE創(chuàng)建具有某種特性的光源其中第一個參數(shù)light指定所創(chuàng)建的光源號,如GL_LIGHT0GL_LIGHT1、...、GL_LIGHT7第二個參數(shù)pname指定光源特性,這個參數(shù)的輔助信息見下表示最后一個參數(shù)設置相應的光源特性5-4voidglLight{if}[v](GLenumlight,GLenumpname,TYPE參數(shù)pname pname參數(shù) 缺省 RGBA RGBA RGBA 光源位置齊次坐標 (0.0,0.0,- 點光源聚光方向矢量 5-4GLfloatlight_position[]={1.0,1.0,1.0,0.0glLightfv(GL_LIGHT0,GL_POSITION,GLfloatlight_ambient[]={0.0,0.0,0.0,1.0GLfloatlight_diffuse[]={1.0,1.0,1.0,1.0GLfloatlight_specular[]={1.0,1.0,1.0,1.0glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambientglLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuseglLightfv(GL_LIGHT0,GL_SPECULAR,5-4啟動光在OpenGL中,必須明 光照是否有效或無效。如果光照 要使光照有效,首先得啟動光照若使光照無效,則調用gDisable(GL_LIGHTING)可關閉當前然后,必須使所定義的每個光源有效,例light0.c中只用了一個源,即其它光源類似,只是光源號不同而5-42、明暗處在計算機圖形學中,光滑的曲面表面常用多邊形予以 )就用單一的顏色或許多不同的顏色來勾畫(或填充),用許多不同顏色處理的稱為光滑明暗處理(SmoothShading),也稱為voidglShadeModel(GLenum應用平面明暗處理模式時,多邊形內每個點的法向一致,且顏色也一致;應用光滑明暗處理模式時,多邊形所有點的法向是由內插生成的,具有一定的5-4gouraudGouraud明暗處理通常算法為:先用多邊形頂點的光強線性插值出當前掃描線與多邊形邊交點處的光強,然后再用交點的光強gouraud圖中顯示出一條掃描線與多邊形相交,交線的端點是A點和B點,P點是掃描線上位于多邊形內的任一點,多邊形三個頂點的光強分別為I1、I2和I3.取A點的光強Ia為I1和I2的線性插值,B點的光強Ib為I1和I3的線性插值,P點的光強Ip則為Ia和Ib的線性采用Gouraud明暗處理不但可以使用多邊形表示的曲面光強連續(xù),而且計算量很小。這種算法還可以以增量的形式改進,且能用硬件直接實現(xiàn)算法,從而廣泛用于計算5-43、材OpenGL用材料對光的紅、綠、藍三原色的反射率來近似定義材料的與光源類似,材料顏色也分成環(huán)境、漫反射和鏡面反射成分,它們決定了材料對環(huán)境光、漫反射光和鏡面反射光的在進行光照計算時,材料對環(huán)境光的反射率與每個進入光源的環(huán)境光結合對鏡面反射光的反射率通常是白色或灰色(藍的反射率相同)例如一個光亮的紅色塑料球,球的大部分表現(xiàn)為紅色,光亮的高光將是白色5-42)材質的定義與光源的定義類似。其函數(shù)為voidglMaterial{if}[v](GLenumface,GLenumpname,TYPEface可以是GL_FRONT、GL_BACK、GL_FRONT_AND_BACK5-4函數(shù)glMaterial*()參數(shù)pname 參數(shù) 缺省 鏡面指數(shù)(光亮度 5-4{0.8,0.8,0.8,1.0{=0.8,0.0,0.8,1.0{1.0,0.0,1.0,1.0/*紫 GLfloatmat_shininess[]={50.0 GLfloatlight_diffuse0.00.01.0 /*藍色 GLfloatlight_position[]={1.0,1.0,1.0,0.0 glMaterialfv(GL_FRONT,GL_AMBIENT, glMaterialfv(GL_FRONT,GL_DIFFUSE, glMaterialfv(GL_FRONT,GL_SPECULAR, glMaterialfv(GL_FRONT,GL_SHININESS, glLightfv(GL_LIGHT0,GL_DIFFUSE, glLightfv(GL_LIGHT0,GL_POSITION, 5-43)材質RGB值和光源RGB值的關材質的顏色與光源的顏色有些不對于光源,R、G、B值等于R、G、B對于材質,R、G、B值為材質對光的R、G、B也就是說,若OpenGL的光源顏色為(LR,LG,LB),材質顏色為(MR,MG,MB),那么,在忽略所有其他反射效果的情況下,最終到達眼睛的光的顏色為同樣,如果有兩束光,相應的值分別為(R1,G1,B1)和(R2,G2,B2),則OpenGL將各個顏色成分相加,得到(R1+R2,G1+G2,B1+B2),若任一成分的和值大于4、法向計1)概法向,又稱法向量(MormalVector)直于該面的向量幾何對象的法向量定義它在空間中的方向,特別定義相對于光源的方向,因此某頂點的法向量決定了對象在該點上可接受多少光照。所以稱為平面法向對于一個曲面,雖然它在計算機圖形中是由許多片小的平面多邊形近,但是每個頂點的法向都不一樣,因此曲面上每個點的法向計算就可以根據(jù)不同的應用有不同的算法,則最后效果也不相同。OpenGL有很大的靈活性,它只提供賦予當前頂點法向的函數(shù),并不在具體計算其法向量,這個值由2)在一個平面內,有兩條相交的線段,假設其中一條為矢量W,另一條為矢量V,且平面法向為N,如圖所示,則平面法向就等于兩個矢量的叉積(遵循右手三角形平面的法向計設三個頂點分別為P0,P1,P2 gy[3],GLfloatgz[3],GLfloat*ddnv){ w2=gz[0]- v2=gz[2]- }
三角形平面法向計對于曲面,必須計算構成曲面的各頂點處對于正方形格網DEM和由不規(guī)則三角網構成的DEM,必須依次算各個格網頂點的法向量計算每個頂點的法向量有多種方法可以簡單地將周圍三角形的法向直接相加可以由其周圍三角形的法 平均得到,并對結果向量行單位化權值的取法有多種,該權值代表當前三角形所在的面對頂點法向量的貢獻大小可以是每個三角形的可以是每個三角形在該點處的夾三角形法向的計 頂點法向的計 規(guī)則三角網的構頂點P0的法向可以由其周圍的三角形(實際上是三角面)△P0P1P4,△P0P4P6△P0P6P7,△P0P7P8,△P0P8P5,△P0P5P3,△P0P3P2,△P0P2P1和△P0P2P4△P0P4P7,△P0P7P5,△P0P5P25、地表材質設地表材質通過設定頂點的顏色來實粘貼影單一顏分層設如果地表模型不粘貼航空影像,則可以采用地勢圖中分層設色的原設色表中所的是各高程帶所對應的顏色。在繪制某頂點前將設定該頂點顏色設為該點的材質的漫 一、概紋理(TextureMap)技術是三維圖形的一項主要技術,也是創(chuàng)建真實感圖形的一個重要。它通過將指定的一張,使用有關技比如繪制一面磚墻,就可以用一幅真實的磚墻圖像或作為紋理貼到一個矩形上,這樣,一面真的磚墻就畫好了。如果不用紋理的方法,則墻另外,紋理能夠保證在變換多邊形時,多邊形上的紋理圖案也隨之例如, 投影方式觀 時,離視點遠的磚塊的尺寸就會縮小,而視點較近的就會大些此外,紋 也常常運用在其他一些領如飛行仿真中常把一大片植被的圖像到一些大多邊形上用以表示地面,或用大理石、木材、布匹等自然物質的圖像作為紋理到多邊形上表示相紋 有許多種情況例如,任意一塊紋理可 到平面或曲面上,且對光亮的物體行紋 ,其表面可 出周圍環(huán)境的景象紋理還可按不同的方 到曲面一是可以直接畫上去(或稱移畫印花法二是可以調整曲面顏色或把紋理顏色與曲面顏色混合紋理不僅可以是紋理技術是一項相當復雜的技術,在地圖模型中主要用于為地表粘貼紋理、為居民地建筑物以及水面粘貼紋理,以使其在虛擬環(huán)境中更加真實。同時也可用于部分居民地建筑物,以體現(xiàn)居民地的分類分級。二、地表紋理的粘利用光照、深度測試等有關三維圖形顯示技術可以將地形模型生動地顯示出來,模型表面的材質可以用單色,如綠色,也可以采用分層設色。若具備該地區(qū)的影像(航片、衛(wèi)片等),也可以對地表粘貼紋理。紋理繪制到表面上有三種方式其一、將紋理以貼墻紙的方式直接畫在表面上其二、使用紋理去調節(jié)、衡量表面原有的色彩其三、將紋理色彩與表面色彩進行其中第二種方式對于結合光照效果和紋理非常也是用的這種方要求影像的覆蓋范圍與DEM所覆蓋的范圍完全一致(因此其長寬之比是一致的),否則會導致影像與地形不匹配紋理坐標計在繪制紋理場景時,不僅要給每個頂點定義幾何坐標,而且也要定義紋理坐標。經過多種變換后,幾何坐標決定頂點在屏幕上繪制的位置,而紋理坐標決定紋理圖像中的哪一個紋素賦予該頂點。并且頂點之間的紋理坐標插值與基礎篇中所講的平滑插值方法相同。影像與地形疊加的關鍵在于影像坐標即紋理坐標的正確獲取,主要根據(jù)DEM對于一個二維紋理圖,紋理坐標在x,y兩個方向上的取值范圍在0.01.0之間,長邊為0~1.0設待粘貼紋理的表面為多邊形abcdefgh,各頂點的幾何坐假設EFGH為一塊紋理圖像,為了求得紋理坐標,必須知道紋理圖像EFGH的4個角點坐在此基礎上計算多邊形abcdefgh各點紋理坐多邊形頂點紋理坐標計算方法如下P設多邊形為abcdefgh,各頂點坐標已知 P紋理ABCD,計算得到最長邊,設CD為長邊AC為短邊,則紋理坐標在x,y兩個方向上x方向(長邊CD):D點為Y方向(短邊AC):A點y P點的紋理坐標(tx,ty) L=Tx=(Px-Ty=(Py-將所有DEM網格點的紋理坐標都計算出來以后,就可以將影像與地形進行疊加了粘貼紋理時將紋理多邊形的頂點與表面多邊形的頂點一一對應,則可以得到比較理想的紋理效果。當然,前提是要求紋理圖像足夠大,并且設置好有關放大濾波、縮小濾波的參量。三維環(huán)境中常用的三個特殊效果處理:融合、反走樣和霧如果能很好地運用這些特殊效果,可以用它們構 變化的圖形世界例如,透明的玻璃窗,半透明的紫色水晶,光滑一、Alpha值與融合Alpha值在光照、材質等的章節(jié)中已經提到過,但是一般情況下將它設置為1.0,但改變該值將融合,它是透明技術、數(shù)字合成和計算機繪畫技術的。固名思義,融合就是指兩種顏色各分量依據(jù)一定的比而這種比例就來源于Alpha值,即(r,g,b,a)中的a值,通常稱a為不透明為了更好地理解這些概念,舉出一個例子來簡要說明。例如,坐在汽車內透過車窗的茶色玻璃看車外的綠樹,這些樹木的顏色并不是它們本來的綠色,而是透明的茶色與不透也就是說,最終的顏色來源于兩部分,一部分來自于玻璃的茶色,另一部分來自于樹木的綠兩部分所占的百分比依據(jù)玻璃的透射變化,若玻璃透射率為80%(即一束光照在其上有80%的透射過去),其 20%,即這里的a值就等于0.2,這樣進入眼中的樹木顏色20%的玻璃顏色與80%的樹木本身顏色的合二、反走反走樣(Antialiasing),又叫反 ,是計算機這種誤差表現(xiàn)為圖形上的直線或光滑的曲線呈現(xiàn)鋸齒狀、彩色花紋失去原三、霧化技霧化效果 的計算機圖形學中應用極廣,它不僅可以使場景中的體看起來更加真實,而且還可提高繪在很多情況下,計算機圖像有時會出現(xiàn)不符合實際的精細和棱角分明,反走樣技術可以通過光順著物體的邊界反走樣,使其看起來更真實,而霧化處理可以使物體看起來更加自然,即在霧中,離視點遠的物體會變得模糊。霧,是一個描述類似于大氣效果的一般術語,在視景仿真中應用很廣。它可以模擬煙霧(hae)、薄霧(mis)、濃煙(smke)和污染(plltin)等效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商砼站建設項目可行性研究報告
- 環(huán)境保護行業(yè)報告
- 跨境電商 物流
- 電視媒體廣告投放策略手冊
- 上海項目可行性研究報告
- 服裝行業(yè)綠色供應鏈管理與可持續(xù)時尚方案
- 音樂行業(yè)音樂制作與推廣策略方案
- 腫瘤內科乳癌復習測試卷附答案
- 保育師復習測試有答案
- 三農產品質量管理體系審核員培訓手冊
- 中國國際航空內蒙古有限公司2025屆空中乘務員航空安全員高校畢業(yè)生校園招聘筆試參考題庫附帶答案詳解
- 2025江蘇省安全員考試題庫附答案
- 4.2 明確概念的方法 課件高中政治統(tǒng)編版選擇性必修三邏輯與思維
- 2024年國網陜西省電力有限公司招聘筆試真題
- 2025年共同成立子公司的戰(zhàn)略合作協(xié)議書
- 安保部績效考核方案
- 2025年中國硫酸慶大霉素片行業(yè)市場深度分析及行業(yè)發(fā)展趨勢報告
- 腰椎ODI評分完整版
- 參考文獻的標注規(guī)范
- 幼年特發(fā)性關節(jié)炎.
- 武松打虎劇本
評論
0/150
提交評論