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

OpenGL在計算機圖形學中的應用研究

2012-01-12 03:59:40杜麗美
長治學院學報 2012年2期
關鍵詞:設置計算機模型

杜麗美

(長治學院 計算機系,山西 長治 046011)

OpenGL在計算機圖形學中的應用研究

杜麗美

(長治學院 計算機系,山西 長治 046011)

基于可視化的需求,研究在圖形學中如何生成具有真實感的圖形,主要引入了OpenGL函數,利用OpenGL函數中的光照、材質、霧化等函數對利用圖形學生成的三角網格模型進行設置,以達到重建物體的目的。

計算機圖形學;三角網狀模型;OpenGL函數;光照;材質;霧化

1 前言

計算機圖形學[1]是一種使用某種數學算法將二維或三維圖形以柵格的形式顯示在計算機顯示器上的科學。也就是說,計算機圖形學主要研究的是利用何種算法在計算機中表示圖形、以及進行圖形的計算和處理。

計算機圖形學的一個主要的目的就是要在計算機屏幕上生成具有真實感的圖形。因此,應首先建立物體的幾何表示,然后再將假想的光源、紋理、材質、霧等屬性附于幾何圖形上,使得計算機屏幕上顯示的幾何圖形更加接近于真實物體。目前計算機圖形學往往和OpenGL一起使用[2]。

2 OpenGL簡介

OpenGL實際上是一個豐富的三維圖形函數庫,除了具有基本的OpenGL函數外,還支持其他四類函數:OpenGL實用庫、OpenGL輔助庫、Windows專用庫函數、Win32 API函數[3-4]。OpenGL的這些函數有強大的功能,比如:可以繪制三維物體,可以對物體進行光照、明暗處理、材質設置、紋理設置、霧化等效果。此外OpenGL還提供了雙緩存,可以用來制作動畫。OpenGL的這些強大的功能為實現三維物體重建技術、以及建立人機交互的三維場景提供了堅實的基礎。

OpenGL不僅可以運行在各種流行的操作系統上,而且只要在基本的C或C++語言中調用相應的函數即可。

3 OpenGL函數在圖形學上的應用

計算機圖形學結合OpenGL函數渲染繪制出真實物體的三維圖形的基本步驟如下:

(1)建立基本模型。首先利用計算機圖形學中的算法將真實物體轉化成能在計算機上表示的景物模型,復雜物體一般是表示成三角網狀的模型結構。

(2)投影及視口變換。把表示出的模型放在三維空間中的合適的位置,并且設置視點(viewpoint),使得模型居中顯示并且將觀察者感興趣的一面展現在屏幕上。

(3)光照、材質、霧等的設置。將模型展示在屏幕上以后,就開始真正的模擬真實物體了,這里主要通過設置OpenGL中的光照、材質、霧化函數來對真實物體進行模擬。

(4)顯示三維圖形。

3.1 建立基本模型

對于現實生活中的復雜物體,要想將其顯示在計算機屏幕上,可以首先利用某種技術手段提取真實物體表面的離散點,然后將這些離散點輸入到計算機中,最后利用某種有效的算法將這些點聯系起來構成三角網格的形式,最終在計算機屏幕上得到描述真實物體的三角網格模型。圖3-1便是真實物體對應的三角網格模型

圖3-1 三角網格模型Fig 3-1 The example of the triangul ation

3.2 投影及視口變換

建立好的模型如何在計算機屏幕上顯示是關鍵,比如要顯示在屏幕上的哪個位置、是否要按比例顯示,這些問題都會影響真實物體的重建的效果,在OpenGL函數中主要提供了兩種投影方式[5]:正射投影和透視投影。

(1)正射投影的視景體類似一個長方體,因此在投影的過程中無論物體距鏡頭是近的還是遠的,但最終投影到屏幕上的物體尺寸是不變的。正射投影函數為:

函數中的參數表示了兩個裁剪平面,即近裁剪面和遠裁剪面,這兩個裁剪面都是長方形,而且函數中的參數表明近裁剪面所對應的長方形的左下角點和右上角點坐標分別是(left,bottom,-near)和(right,top,-near);而遠裁剪面所對的長方形的左下角點和右上角點坐標分別是(left,bottom,-far)和(right,top,-far)。

(2)透視投影的視景體類似一個棱臺,它的特點是離視點近的物體大,離視點遠的物體小。這種投影方式經常用在三維場景的模擬以及動畫等需要反應真實性事件的情況中。此種投影方式所對的函數為:

這個函數的參數只定義近裁剪平面的坐標,即左下角點和右上角點的坐標分別為(left,bottom,-near)和(right,top,-near);遠裁剪平面沒有定義具體的坐標,只是定義了一個參數far,這個參數反應了透視投影的特點,far的大小表明遠裁剪平面距離鏡頭的遠近,而其對應的坐標是由系統自動生成的。

正射投影和透視投影只是采用什么樣的視景體來截取圖像,并不負責使用某種規則把圖像呈現在屏幕上,glViewport()函數主要是用來把由視景體截取的圖像按照怎樣的高和寬顯示在屏幕上。對應的函數為:

此函數中4個參數決定了視口的位置:視口的左下角點坐標為(x,y),右上角點坐標為(x+width,y+height)。

3.3 光照、材質等的設置

3.3.1 光照設置

首先對模型進行光照設置[5-6]。一般來說,光照設置包括三種光:環境光、漫反射光和鏡面反射光。環境光(Ambient Light)可以來自地面、天空、墻壁等;漫反射光(Diffuse Light)表示某種給定的光源照射到物體表面后并均勻向四周反射出去的光;鏡面反射光(Specular Light)為朝向特定方向反射出去的光。

OpenGL中的光照函數見下:

創建光源位置:glLightfv(GL_LIGHT0,GL_POSITION,light_position)

定義三種光:

以上函數中的第三個參數都是自定義的具體值,例如定義光源位置的具體值如下:

3.3.2 材質設置

其次對模型進行材質的設置[5-6],和光源類似,材料顏色的成分也分為環境、漫反射和鏡面反射三種。通常在一個場景中同時設置光照和材質兩種特性,這兩種特性同時作用在物體上時,效果為兩者的疊加,即若光源顏色為(R1,G1,B1),材質顏色為(R2,G2,B2),那么最終看到的效果為(R1*R2,G1*G2,B1*B2)。材質的定義函數為:

其中face取GL_FRONT表明將材質應用到物體前面,取GL_BACK表明將材質應用到物體背面,取GL_FRONT_AND_BACK表明將材質應用到物體前后兩個面上;pname一般取GL_AMBIENT或GL_DIFFUSE或 GL_SPECULAR或 GL_SHINESS;第三個參數為第二個參數對應的具體值。其中GL_SHINESS為鏡面指數,也就是所謂的“高光區”的大小,此參數作用于模型上,可以使模型表面的制定位置處呈現一個光亮區域,使得模型更加接近于真實物體。

3.3.3 霧化

霧化的應用極為廣泛,它的作用是使物體更加接近真實效果,而且也可以使物體看起來更加自然。因此將霧的效果應用于模型上,可以給人產生距離感,使得模型更加具有立體感。此外,霧的濃度可以控制,霧的顏色也可以任意設定。

在OpenGL程序中啟動霧以及控制霧的函數為[5]:

glEnable(GL_FOG)

glFogfv(GLenum pname,TYPE param)

其中參數pname通常取GL_FOG_MODE、GL_FOG_DENSITY、GL_FOG_START、GL_FOG_END 或GL_FOG_COLOR,param則取對應的具體值。

3.4 顯示三維圖形

經過以上三個步驟就完成了對真實物體的模擬,通過調用相應的輸出函數將模擬重建的物體顯示在計算機屏幕上。

4 實驗結果

本實驗在VC6.0平臺上進行,采集了海豚表面的離散點,采用正射投影的方式對海豚進行了模擬。

①圖4-1(a)為在計算機屏幕上生成的海豚的三角網格模型。

②圖4-1(b)為開啟默認光照后的效果,從圖中可以看出,對模型進行光照后,背光的部分顏色較暗,非常接近現實生活,而且一個場景中的兩只海豚在同一光照條件下的顏色相同。

③圖4-1(c)是在開啟默認光照的基礎上,對模型進行材質的設置并且設置“高光區”,從圖中可見,在同一場景中,不同的海豚可以設置不同的材質,再加上“高光”處理,使模型更加真實化。

④圖4-1(d)為在 4-1(c)的基礎上加上了霧的效果,使得遠離視點的淡藍色海豚變得模糊,看起來生動、形象。

圖4-1 海豚的模擬過程Fig4-1 The imitation of dolphin

5 結論

文章主要針對OpenGL中的光照、材質和霧化函數對模型進行設置,并且顯示了逼真的三維渲染效果。此外,OpenGL函數還有更加強大的功能,比如進行紋理設置、特殊光照處理還有實現動畫效果等。

[1]趙玉峰.計算機圖形學的發展及應用[J].科技信息,2008,(16):68.

[2]李文強,華祖耀.基于OpenGL的仿真可視化技術研究[J].計算機仿真,2005,(06):158-161.

[3]歐中亞.基于OpenGL的三維建模可視化軟件開發[J].信息安全與技術,2011(07):48-50.

[4]湯彬.基于 OpenGL 實現三維繪圖[J].上海工程技術大學學報,2002,(01):18-25.

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

[6]廖朵朵.OpenGL基本功能操作-建模、變換、顏色、光照與材質[J]. 微電腦世界,1997,(01):75-78.

TP391.41

A

1673-2014(2012)02-0050-03

2012—02—22

杜麗美(1983—),女,山西大同人,碩士,主要研究計算機圖形學、圖像處理等研究。

(責任編輯 單麥琴)

猜你喜歡
設置計算機模型
一半模型
計算機操作系統
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
3D打印中的模型分割與打包
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 中文字幕有乳无码| 国产精品欧美在线观看| 国产毛片不卡| 中文字幕久久波多野结衣| 自拍偷拍欧美日韩| 福利视频一区| 高潮爽到爆的喷水女主播视频| 强乱中文字幕在线播放不卡| 丁香六月综合网| 亚洲精品波多野结衣| 亚洲品质国产精品无码| 丁香婷婷激情综合激情| 国产欧美视频综合二区| 91人妻日韩人妻无码专区精品| 欧美在线中文字幕| 欧美成人免费午夜全| 日本三级欧美三级| A级毛片高清免费视频就| 亚洲日韩高清在线亚洲专区| 国产91视频免费| 亚洲欧美日韩精品专区| 在线日韩日本国产亚洲| 中文字幕在线欧美| 国产精品网址你懂的| 自偷自拍三级全三级视频| 黄色国产在线| 在线国产资源| 欧美精品H在线播放| 国产精品刺激对白在线| 波多野结衣在线一区二区| 国产亚洲精品自在线| 91小视频在线观看| 秋霞国产在线| 97国产在线播放| 久久国产精品嫖妓| 国产在线日本| 18禁影院亚洲专区| 亚洲人成网站观看在线观看| www.91在线播放| 欧美一区二区自偷自拍视频| 在线视频97| 亚洲欧美另类中文字幕| 青青国产视频| 国产毛片基地| 国产91av在线| 一级毛片中文字幕| 国产成人亚洲无码淙合青草| 精品久久久久久中文字幕女 | 日韩区欧美区| 尤物午夜福利视频| 57pao国产成视频免费播放| 污网站免费在线观看| 狠狠操夜夜爽| 国产精品久久久久久久伊一| 亚洲美女一区二区三区| 国产情精品嫩草影院88av| 欧美中文字幕在线二区| 精品午夜国产福利观看| 1769国产精品视频免费观看| 91久久国产热精品免费| 国产综合精品日本亚洲777| 日本一区二区不卡视频| 波多野吉衣一区二区三区av| 国产成人高清精品免费软件| 成人小视频网| www.精品国产| 国产一二视频| a毛片免费在线观看| 国模私拍一区二区| 在线精品自拍| 精品国产美女福到在线直播| 久久青青草原亚洲av无码| 中文字幕乱码二三区免费| 国产成人高清在线精品| 中文国产成人精品久久| 在线播放真实国产乱子伦| 无码专区国产精品一区| 九九热在线视频| 日韩毛片在线播放| 一级一级一片免费| 欧美日韩专区| 久久77777|