中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      MFC的OpenGL紋理貼圖技術研

      時間:2024-08-06 19:12:59 計算機應用畢業論文 我要投稿
      • 相關推薦

      MFC的OpenGL紋理貼圖技術研

      摘要:OpenGL是一個開放的三維圖形軟件包,而Visual C 是目前主要的OpenGL開發工具。本文簡要介紹了
      OpenGL的紋理貼圖技術及其在MFC中的基本操作步驟。并通過最后的實例驗證了紋理貼圖技術在繪制真實感圖形中的必要性。關鍵詞:OpenGL;MFC;紋理貼圖;計算機圖形學現實世界中的物體表面往往有各種紋理,因此要繪制逼真的三維物體,除了對物體進行光照處理外,還需要加上紋理貼圖,使物體看起來更真實。OpenGL是SGI公司的一個開放的三維計算機圖形軟件接口,為用戶提供豐富的圖形庫,能快速渲染出高質量的三維彩色圖像。OpenGL編程的重點是圖形的生成和如何產生各種真實效果,但是編寫一個優秀的Windows程序,還必須用到用戶界面接口。VC 的MFC模式可以較為完美地實現對OpenGL生成的效果圖的動態交互操作。紋理貼圖技術簡介
      紋理貼圖技術也叫紋理映射技術,它是計算機圖形學中廣泛應用的一項重要技術。傳統的幾何造型只能表示景物的形狀,無法描述景物表面的微觀細節,而利用紋理圖像來描述景物表面各點處的反射屬性,可以達到模擬景物表面豐富的紋理細節的目的,提高計算機生成圖形的真實性。另一方面,采用紋理映射的方法可以大大地簡化建模的過程。比如,同是一棟大樓表面,若完全用建模的方法來構造,則需要畫出大樓的每一扇門、每一扇窗
      戶;若采用紋理映射,只需建立簡單的長方體模型,用拍下的大樓外觀圖片貼至模型表面即可。相比之下,工作量要小得多。OpenGL紋理貼圖
      紋理映射是將指定圖像的一部分映射到允許進行紋理映射的每個圖段上。這種映射伴隨著使用一幅圖像的顏色到某一圖段的(s,t,r)坐標所指示的位置上并修改該圖段的RGBA顏色。但要特別注意的是,在OpenGL中,紋理映射僅在RGBA模式下說明,在顏色索引模式下,它的使用未作定義。概括地說,使用紋理繪制的一般步驟為:定義紋理貼圖、控制紋理、說明紋理貼圖方式,定義紋理坐標等。
      2.1 定義紋理
      紋理的定義有兩種:連續法和離散法。連續法把紋理定義為一個二元函數,函數的定義域就是紋理空間。而離散法則是把紋理定義在一個二維數組中,該數組表示紋理空間中行間隔和列間隔固定的一組網格點上的紋理值。網格點之間的其它點的紋理值可以通過對相鄰網格點上紋理值進行插值來獲得。通過紋理空間與物體空間之間的坐標變換,可以把紋理映射到物體表面。一般來說,離散法是較為常用的紋理定義方法。其實現函數為
      glTexlmage2D()。該函數的原型如下:void glTexImage2D(Gl_enum target,GLint level,Gl_enum compo—nents, GLsizei width, GLsizei height, Glint border,Gl_enumformat。Gl_enumtype,const GLvoid pixels);其中:target指定紋理映射,此處必須是GL—TEXT—URE 2D;level指定紋理圖像分辨率的級數,當只
      有一種分辨率時,level=0;Components是選擇用于調整和混合的成分;width和height分別指定紋理圖像的寬和高,必須是2 ,凡為正數;Border為邊界的寬度,必須是0和1;format和type分別指定紋理映射的格式和數據類型;Pixels指定一個指針,指向紋理數據在內存中的位置。
      2.2 控制紋理
      紋理圖像在映射到物體時會產生許多問題。這些問題主要有紋理圖像的紋理怎樣對應到屏幕上的像素、怎樣通過紋理貼圖實現紋理縮放和紋理重復等。其實現函數為glTexParmneter(),該函數的原型(以glTexParmneterf形式為例)為:void glTexPa—rmneterf(GLeRuin target,GLeRuin pname,GLfloat pa—ram),其中target參數為目標紋理,pname參數的取值有以下幾個:GL TEXTURE MIN FILTER、GL,ⅡⅨ TURE—MAG一兀I肛R、GL—TEXrrI yRE— WRAP一GL— TEXTU RE —WRAP— T,而parmn參數的取值要根據pname而定。
      2.3 說明紋理貼圖方式
      OpenGL用于紋理貼圖方式的函數為glTex~v(),該函數的原型(以glTexEnvf形式為例)為:voidglTexEnv(Gl_enum target,Gl_enum pname,GLfloat pa—ram)其中target參數必須為GL—TEXTURE —ENV,pname參數必須為GL—TEXTURE —ENV—MODE,而參數parmn為GL—MODULATE 、GL—DECAL或GL—BLEND。
      2.4 定義紋理坐標
      紋理坐標控制紋理圖像中的像素怎樣映射到物體。紋理坐標可以是1、2、3、4維的,通常用齊次坐標來表示,即(5,t,r,q)。OpenGL定義紋理坐標的函數為 xCoord()。該函數共有32種不同的形式。例如:glTexCoord4f(O.Of,0.Of,0.Of,0.Of)。
      3 基于MFC的OpenGL中的紋理貼圖利用VC 的MFC AppWizard(exe)建立一個新項目OpenglTexture,選擇基于單文檔界面的應用,其它選項都使用缺省值。在OpenglTextureView.h頭文件中,添加各成員變量和成員函數。for(i=0;i

      【MFC的OpenGL紋理貼圖技術研】相關文章:

      MFC中消息映射機制分析03-18

      人臉的檢測定位MFC+VC++03-08

      圖像紋理特征的分析方法研究03-07

      小研垃圾滲濾液處理技術及工藝03-03

      小研楊莊礦采空區的技術處理11-18

      基于融合細分的紋理圖像重構模型03-17

      基于OpenGL的邦寶模型積木分析系統設計與實現03-18

      提高口腔醫學技術專業學生實習質量探研12-08

      做好終結性評價 體現新課程理念-高中信息技術命題技巧實踐研03-07

      主站蜘蛛池模板: 日韩精品人妻av免费| 欧美xxxxx精品| 国产精品情侣露脸av在线播放| yw193.can尤物国产在线网页 | 不卡无毒免费毛片视频观看| 赣榆县| 中文字幕乱码av在线| 一本色道久久综合中文字幕| 简阳市| 最新永久无码AV网址亚洲| 丰满人妻中文字幕乱码| 极品少妇一区二区三区精品视频| 南康市| 亚洲熟女精品一区二区三区| 永久免费中文字幕av| 视频一区二区三区中文字幕| 亚洲无码美韩综合| 亚洲欧洲一区二区三区波多野| 亚洲天堂无码AV一二三四区| 淳化县| 色老汉亚洲av影院天天精品| 麻豆精品av国产一区久久| 国产高清女人对白av在在线| 久久亚洲国产精品123区| 国产成本人视频在线观看 | 香河县| av天堂线上| 平泉县| 亚洲区一区二区中文字幕 | 性色av成人精品久久| 欧美日韩a级a| 亚洲精品无人区一区二区三区| 蜜桃视频在线网站免费| 国产精品日本天堂| 亚洲粉嫩av一区二区黑人| 太大太粗太爽免费视频| 在线免费不卡av网站一区| 丝袜系列在线视频国产| 婷婷一区二区三区在线| 狼色在线精品影视免费播放| 国产亚洲欧美日韩国产片|