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打印中的模型分割與打包
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 成人精品视频一区二区在线 | 97青草最新免费精品视频| 91在线播放国产| 国产精品密蕾丝视频| 日韩 欧美 国产 精品 综合| 幺女国产一级毛片| 在线精品欧美日韩| 视频二区国产精品职场同事| 白浆视频在线观看| 国产经典在线观看一区| 亚洲精品成人片在线观看 | 任我操在线视频| 国产成人久久综合777777麻豆 | 麻豆精品在线视频| 国产成人综合欧美精品久久| 蜜臀AV在线播放| 2021精品国产自在现线看| 亚洲无码视频一区二区三区| 一级毛片在线播放| 青青青国产精品国产精品美女| 人妻熟妇日韩AV在线播放| 国产成人高精品免费视频| 国产免费久久精品99re丫丫一| 色成人亚洲| 日本一区高清| 91国语视频| 一级毛片免费观看久| 免费在线国产一区二区三区精品| 女人av社区男人的天堂| 亚洲视频欧美不卡| 中文字幕乱妇无码AV在线| 中文字幕在线永久在线视频2020| 伊人天堂网| 日韩欧美成人高清在线观看| 久久精品国产999大香线焦| 久久中文无码精品| 九色视频在线免费观看| 欧美日韩在线观看一区二区三区| 在线精品自拍| 91精品伊人久久大香线蕉| 亚洲精品国产成人7777| 国产理论一区| 国产1区2区在线观看| 国产成人一区| 国产成人91精品免费网址在线| 日本高清有码人妻| 五月婷婷精品| 国产69精品久久| 国产一区成人| 国产成人91精品| 成人国产精品视频频| 日韩在线网址| 国禁国产you女视频网站| 欧美三级自拍| 伊人色综合久久天天| a级毛片免费网站| 69综合网| 亚洲人成人无码www| a毛片免费看| 九色视频最新网址 | 久久无码av一区二区三区| 免费在线一区| 天天摸夜夜操| 911亚洲精品| 自偷自拍三级全三级视频| 午夜小视频在线| 女人av社区男人的天堂| 国产精品久久久久久久伊一| 亚亚洲乱码一二三四区| 亚洲色成人www在线观看| 亚欧美国产综合| 91精品免费久久久| 国产精品亚洲五月天高清| 97国产在线视频| 日韩欧美视频第一区在线观看| 一区二区三区四区日韩| 中文字幕在线日本| 福利在线不卡| 第九色区aⅴ天堂久久香| 99国产在线视频| 999国内精品视频免费| www.91在线播放|