opengl中文教程 opengl-2-配置對話框

opengl中文教程 opengl-2-配置對話框

ID:12455979

大小:342.50 KB

頁數(shù):6頁

時間:2018-07-17

opengl中文教程 opengl-2-配置對話框_第1頁
opengl中文教程 opengl-2-配置對話框_第2頁
opengl中文教程 opengl-2-配置對話框_第3頁
opengl中文教程 opengl-2-配置對話框_第4頁
opengl中文教程 opengl-2-配置對話框_第5頁
資源描述:

《opengl中文教程 opengl-2-配置對話框》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、1、創(chuàng)建配置對話框和建立程序框架NeHeSDK是把Nehe的教程中所介紹的所有功能,以面向?qū)ο蟮男问?,提供給編程人員快速開發(fā)的一套編程接口。在下面的教程中,我將按NeHeSDK源碼的功能分類,一步一步把這套api介紹給大家。如果你覺得有更好的學(xué)習(xí)方法,或者有其他有益的建議,請聯(lián)系我。zhouwei02@mails.tsinghua.edu.cn;zhouwei506@mails.gucas.ac.cn程序結(jié)構(gòu):這個框架程序可以分為以下四個部分:1.根據(jù)用戶設(shè)置配置OpenGL的窗口2.創(chuàng)建OpenGL

2、運行的窗口,并返回窗口的句柄3.程序循環(huán)4.退出程序好下面我們從基本的程序顯示設(shè)置和框架開始介紹,為了使用NeHeSDK,我們一般包含下面兩個頭文件(opengl.h,splash.h)。通常為了鏈接方便,我們可以把需要的鏈接庫添加到程序中,如:#pragmacomment(lib,"NeheSDK.lib"),這句話告訴我們,在鏈接時使用NeheSDK的鏈接庫。由于NeheSDK所有的函數(shù)都在名字空間Nehe中,為了方便起見在不引起沖突的情況下,我們使用這個名字空間。#include"opengl.

3、h"http://包含創(chuàng)建OpenGL程序的框架類#include"splash.h"http://創(chuàng)建配置對話框#pragmacomment(lib,"NeheSDK.lib")//包含NeheSDK.lib庫usingnamespaceNeHe;//使用NeHe名字空間下面是Windows主函數(shù)和全局變量--OpenGL類的一個實例,它用來創(chuàng)建OpenGL的程序框架。intWINAPIWinMain(HINSTANCEhInstance,//程序?qū)嵗浔鶫INSTANCEhPrevInstance,//前一個程序?qū)嵗?/p>

4、句柄LPSTRlpCmdLine,//命令行參數(shù)intnCmdShow)//Window顯示狀態(tài){OpenGLWinOpenGL;//OpenGL類下面我們分四步來創(chuàng)建這個程序1、根據(jù)用戶設(shè)置配置OpenGL的窗口我們首先定義三個變量res,depth和fs來保存分辨率,顏色深度和是否全屏模式。其中res和depth的枚舉類型如下:SplashResolutionSplashDepthSplashResolutionres;//記錄分辨率SplashDepthdepth;//記錄顏色深度boolfs;

5、//是否全屏接著調(diào)用DoSplash函數(shù),顯示配置對話框,把用戶設(shè)置的參數(shù)保存到上面聲明的變量中。配置對話框如下所示:if(!DoSplash("setup.cfg",&res,&depth,&fs))return1;有了用戶的設(shè)置信息,我們就可以設(shè)置窗口的顯示模式了,代碼如下:intwidth,height;//窗口的大小intbpp;//顏色位深//設(shè)置分辨率switch(res){casesr640x480:width=640;height=480;break;casesr800x600:wid

6、th=800;height=600;break;casesr1024x768:width=1024;height=768;break;default:width=800;height=600;};//設(shè)置顏色位深switch(depth){casesd8bit:bpp=8;break;casesd16bit:bpp=16;break;casesd32bit:bpp=32;break;default:bpp=32;};//設(shè)置是否全屏WinOpenGL.SetFullScreen((fs==true)?

7、true:false);2、創(chuàng)建OpenGL運行的窗口,并返回窗口的句柄我們使用OpenGL類的CreateGLWindow函數(shù)創(chuàng)建一個供OpenGL運行的窗口,這個函數(shù)共有四個參數(shù),第一個參數(shù)為窗口的標(biāo)題欄,第二個參數(shù)為位窗口的寬度,第三個參數(shù)為窗口的高度,第四個參數(shù)為顏色的位深,最后一個參數(shù)為是否使用全屏模式。GetWindow函數(shù)用來返回窗口類實例的指針。代碼如下://創(chuàng)建我們的OpenGL窗口if(!WinOpenGL.CreateGLWindow("DancingWind'sOpenGLFr

8、amework",width,height,bpp,WinOpenGL.GetFullScreen())){return0;//失敗,則退出}//返回窗口類Window*win=WinOpenGL.GetWindow();3、程序循環(huán)這里我首先聲明一個變量finish,當(dāng)它為true時表示程序運行完畢,當(dāng)它不為true時,執(zhí)行OpenGL類DrawGLScene函數(shù),它完成繪制的操作,默認(rèn)的繪制函數(shù)繪制一個旋轉(zhuǎn)的金字塔和立方體。代碼如下:boolfini

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。