• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      VC++框架下3DMAX SDK和OpenGL實(shí)現(xiàn)建模的思路構(gòu)建

      2014-04-29 00:00:00熊國(guó)良馬立麗

      摘 要:隨著經(jīng)濟(jì)不斷發(fā)展,VC++在很多領(lǐng)域中得到了廣泛應(yīng)用,同時(shí),3DMAX SDK和OpenGL的聯(lián)合運(yùn)用,使求實(shí)體之間的差這個(gè)問(wèn)題得到了更有效的解決,使編程效率得到不斷提高,具有重要實(shí)踐意義。本文就3DMAX SDK和OpenGL選用的實(shí)現(xiàn)思路和實(shí)體之間求差的實(shí)現(xiàn)思路進(jìn)行闡述,提出3DMAX SDK和OpenGL選用應(yīng)注意的問(wèn)題,以為VC++框架下3DMAX SDK和OpenGL實(shí)現(xiàn)建模提供可參考依據(jù)。

      關(guān)鍵詞:VC++;3DMAX;SDK;OpenGL;建模;思路

      中圖分類號(hào):TP393.07

      隨著經(jīng)濟(jì)的飛速發(fā)展,科學(xué)的不斷進(jìn)步,VC++技術(shù)在很多領(lǐng)域都得到了非常廣泛的運(yùn)用,因此,如何高效的將VC++進(jìn)行運(yùn)用,是當(dāng)代VC++技術(shù)加以發(fā)展和推廣中存在的一個(gè)重要問(wèn)題。3DMAX是功能強(qiáng)大的三維計(jì)算機(jī)應(yīng)用軟件,在當(dāng)今世界上是應(yīng)用最為廣泛的三維建模、動(dòng)畫以及渲染軟件。3DMAX在影視片頭、廣告設(shè)計(jì)、電影特效、動(dòng)畫制作、游戲畫面的開(kāi)發(fā)以及建筑領(lǐng)域都得到了廣泛的應(yīng)用和推廣。在計(jì)算機(jī)領(lǐng)域中,程序人員在三維圖形的編譯過(guò)程中,3DMAX SDK中存在幾何圖形,為編程人員提供了豐富的參考資料,大大的提高了程序人員的工作效率。另一方面,在三維圖形的編程中,程序員比較常用的函數(shù)是OpenGL,它具有非常強(qiáng)大的功能,可以使三維場(chǎng)景更加豐富多彩和逼真。因此,在VC++框架下使用3DMAX SDK和OpenGL進(jìn)行建模,可以更加高效。

      1 3DMAX SDK和OpenGL選用的實(shí)現(xiàn)思路

      根據(jù)3DMAX SDK和OpenGL的實(shí)際應(yīng)用情況來(lái)看,VC++框架下實(shí)現(xiàn)建模的思路,主要有如下幾個(gè)方面:

      1.1 通過(guò)采用3DMAX SDK中的3DMAX光盤,將3DMAX SDK放置到計(jì)算機(jī)中,為下一步操作做好準(zhǔn)備工作。

      1.2 增加3DMAX SDK的頭文件和動(dòng)態(tài)鏈接庫(kù)。首先,增加頭文件需要在Microsoft Developer Studio狀態(tài)下,打開(kāi)菜單Tools中的Options選項(xiàng),通過(guò)Options對(duì)話框進(jìn)入到Directories選項(xiàng)中,以在Directories的列表框中加入“C:\3D MAX SDK/INCLUDE”,從而形成頭文件。然后,增加動(dòng)態(tài)鏈接庫(kù)。一般情況下,有兩種方式可以完成操作:一種是,在Windows/system狀態(tài)下進(jìn)行動(dòng)態(tài)鏈接庫(kù)的添加,可以使這些動(dòng)態(tài)鏈接庫(kù)被所有的程序共享;另一種是,在某個(gè)文件的Debug中增加動(dòng)態(tài)鏈接庫(kù),因此,只能在這個(gè)制定的文件中使用這個(gè)動(dòng)態(tài)鏈接庫(kù)。

      1.3 采用Microsoft Foundation Classes中的應(yīng)用框架,建立一個(gè)Windows用戶界面。在建立Windows用戶界面前,要先使用Microsoft Foundation Classes生成Windows應(yīng)用軟件的相關(guān)基本源文件,再用ClassWizard建立應(yīng)用程序的類、消息處理和數(shù)據(jù)處理或者定義控件的屬性、方法和事件等,最后把相關(guān)功能添加到應(yīng)用程序的類中,以為建模構(gòu)建一個(gè)合理的聯(lián)系平臺(tái)。例如:將所建立的工程名稱定義為“My4d”,那么My4d程序的主要類和主要源文件有如下幾個(gè)方面:

      應(yīng)用程序類是CMy4dApp,主要作用是實(shí)現(xiàn)應(yīng)用程序所有對(duì)象的控制,使應(yīng)用程序的初始化工作和最后的清除工作得以實(shí)現(xiàn)。

      StdAfx.h和StdAfx.cpp的作用是生成預(yù)編譯的頭文件和預(yù)編譯類型文件。

      文檔類為CMy4dDoc,主要用來(lái)存放應(yīng)用程序的相關(guān)數(shù)據(jù),同時(shí)保存和裝載有關(guān)文件。

      Resource.h是應(yīng)用程序中的標(biāo)準(zhǔn)頭文件,包括了所有資源符號(hào)的定義。

      主邊框窗口類是CMainFrame,是用來(lái)管理應(yīng)用程序窗口,顯示菜單欄、標(biāo)題欄、狀態(tài)欄、工具欄、控制菜單和控制按鈕等。

      視圖類是CMy4dView,是指定用戶打開(kāi)文檔數(shù)據(jù)的方式和進(jìn)行交互的方式。

      Res\My4d.ico 包含了應(yīng)用程序圖標(biāo)的圖標(biāo)文件。一般情況下,應(yīng)用程序圖標(biāo)都在資源文件My4d.rc中存在。

      1.4 確保頭文件和函數(shù)庫(kù)文件存在。VC++框架下3DMAX SDK和OpenGL實(shí)現(xiàn)建模,需要確保應(yīng)用程序中有頭文件和函數(shù)庫(kù)存在,因此,必須在StdAfx.h中添加如下幾種語(yǔ)句:#include“max.h、#include、#include和#include,才能符合實(shí)際要求。

      1.5 在實(shí)際操作中,想要進(jìn)入OpenGL和3DMAX SDK函數(shù),就必須把一些含有重要信息的函數(shù)添加到工程中,幫助程序利用連接器訪問(wèn)動(dòng)態(tài)連接庫(kù)函數(shù)和表示3D MAX SDK和OpenGL中會(huì)用到的庫(kù)函數(shù)。目前,這些函數(shù)主要包括Patch.lib,OpenGL32.lib,Mesh.lib和Core.lib等文件。

      2 實(shí)體之間求差的實(shí)現(xiàn)思路

      一般差的布爾運(yùn)算是在3DMAX SD的函數(shù)CalcBoolop中,而mesh1與mesh2布爾運(yùn)算后的網(wǎng)格實(shí)體是存放在Mesh mesh中,因此,Mesh mesh1,Mesh mesh2是布爾運(yùn)算開(kāi)始前的兩個(gè)實(shí)體數(shù)據(jù)結(jié)構(gòu)。同時(shí),完成布爾運(yùn)算交、并和差操作指令的是Intop,其中,實(shí)體間的并運(yùn)算為MESHBOOL-UNION;實(shí)體間的交運(yùn)算為MESHBOOL-INTERSECTION;實(shí)體間的差運(yùn)算為MESHBOOL-DIFFERENCE。

      3 3DMAX SDK和OpenGL選用應(yīng)注意的問(wèn)題

      在實(shí)際編程中,各種語(yǔ)法、結(jié)構(gòu)、數(shù)據(jù)類型轉(zhuǎn)換、使用變量定義等,都可能造成結(jié)果的錯(cuò)誤,這些錯(cuò)誤的一般解決方法是通過(guò)提示來(lái)完成查找和核對(duì);在語(yǔ)句沒(méi)有錯(cuò)誤的情況下,如果Linking出現(xiàn)錯(cuò)誤,就必須通過(guò)添加相應(yīng)的函數(shù)庫(kù)來(lái)進(jìn)行改正;在Compiling和Linking都沒(méi)有問(wèn)題的情況下,如果屏幕上出現(xiàn)“與系統(tǒng)相連的設(shè)備不能正常運(yùn)轉(zhuǎn)”的字樣,就必須通過(guò)添加相應(yīng)的動(dòng)態(tài)連接庫(kù)來(lái)進(jìn)行改正,才能保證編程的完全正確。

      4 結(jié)束語(yǔ)

      綜上所述,在VC++框架下使用3DMAX SDK和OpenGL進(jìn)行建模,結(jié)合OpenGL三維場(chǎng)景的豐富逼真的畫面效果和3DMAX SDK中存在的幾何圖形,編程人員在進(jìn)行編譯的時(shí)候有了更多的參考資料,在很大的程度上提高了編程人員的編譯效率。但是在VC++框架下使用3DMAX SDK和OpenGL進(jìn)行建模,應(yīng)當(dāng)要注意正確的選取相應(yīng)函數(shù)和連接,才能保證編程搭配的正確,從而才能夠保證提高編程的效率??傊赩C++框架下使用3DMAX SDK和OpenGL進(jìn)行建模,能夠給編程人員帶來(lái)諸多方便,這樣的建模方式應(yīng)該得到廣泛的應(yīng)用和推廣。

      參考文獻(xiàn):

      [1]梁婧,姚紅革.基于OpenGL的三維建??梢暬浖_(kāi)發(fā)[J].信息通信,2013(09):83.

      [2]趙宏中,周鵬.基于VC-(++)和OpenGL實(shí)現(xiàn)3DMax模型交互瀏覽[J].軟件導(dǎo)刊,2008(02):73-74.

      [3]關(guān)丹丹,朱耀林,林靜.基于OpenGL的雕塑建模與可視化仿真[J].計(jì)算機(jī)與數(shù)字工程,2012(07):115-117.

      [4]黃志鋒,李笑,秦輝明.基于Opengl和SolidWorks的遙操作工程機(jī)器人建模與仿真[J].機(jī)械設(shè)計(jì)與制造,2012(12):157-159.

      作者簡(jiǎn)介:熊國(guó)良(1982—)男,黑龍江哈爾濱人,講師,本科,研究方向:動(dòng)畫創(chuàng)作;馬立麗(1977-)女,黑龍江哈爾濱人,副教授,本科,研究方向:計(jì)算機(jī)程序語(yǔ)言。

      作者單位:哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院,哈爾濱 150300

      永康市| 资中县| 永年县| 呼和浩特市| 保亭| 志丹县| 东平县| 武城县| 丰原市| 泌阳县| 大关县| 柳河县| 长沙县| 古浪县| 龙里县| 乐都县| 定远县| 田阳县| 天水市| 阿克陶县| 建德市| 阜南县| 横峰县| 桂林市| 乐业县| 文昌市| 南川市| 昭通市| 扎鲁特旗| 茶陵县| 茂名市| 钟山县| 区。| 宜州市| 菏泽市| 汉川市| 洛阳市| 灵璧县| 仁寿县| 舒城县| 新田县|