手把手教你搭建用MFC進行OpenGL編程的框架.doc

手把手教你搭建用MFC進行OpenGL編程的框架.doc

ID:58855608

大?。?52.00 KB

頁數(shù):85頁

時間:2020-09-23

手把手教你搭建用MFC進行OpenGL編程的框架.doc_第1頁
手把手教你搭建用MFC進行OpenGL編程的框架.doc_第2頁
手把手教你搭建用MFC進行OpenGL編程的框架.doc_第3頁
手把手教你搭建用MFC進行OpenGL編程的框架.doc_第4頁
手把手教你搭建用MFC進行OpenGL編程的框架.doc_第5頁
資源描述:

《手把手教你搭建用MFC進行OpenGL編程的框架.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、手把手教你搭建用MFC進行OpenGL編程的框架第一步:創(chuàng)建項目文件File

2、

3、New

4、

5、Project

6、

7、MFCAppWizard(exe)

8、

9、輸入ProjectName

10、

11、創(chuàng)建一個基于SDI,View類基于CView的工程文件;第二步:向項目文件中添加OpenGL的繪圖函數(shù)Project

12、

13、Settings

14、

15、在Object/librarymodules:中輸入opengl32.lib,glu32.lib,glaux.lib,三者之間用空格隔開,逗號不用輸入;第三步:添加一些代碼1)在項目工作區(qū)的FileView中找到StdAfx.h,添加

16、下面的代碼:#include#include#include2)在項目工作區(qū)的ClassView中找到CView類,右擊CView類,選擇AddMemberVairable,添加一個成員變量HGLRCm_hRC;選擇AddMemberFounction,添加一個成員函數(shù)voidDrawScene();3)在項目工作區(qū)的ClassView中找到CView類,右擊CView類,選擇AddWindowsMessageHandler,為CView類添加WM_CREATE,WM_DESTORY

17、(方法:在左邊的Newwindowsmessage/events中選中并雙擊,然后點擊OK)。在項目工作區(qū)的ClassView中找到CView類,找到函數(shù)OnCreate(),在該函數(shù)中添加如下代碼://定義像素存儲格式PIXELFORMATDESCRIPTORpfd={sizeof(PIXELFORMATDESCRIPTOR),1,PFD_DRAW_TO_WINDOW

18、PFD_SUPPORT_OPENGL,PFD_TYPE_RGBA,24,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,PFD_MAIN_PLANE,0,0,

19、0,0,};CClientDCdc(this);intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd);m_hRC=wglCreateContext(dc.m_hDC);同理找到函數(shù)OnDestory(),在該函數(shù)中添加下面的代碼:wglDeleteContext(m_hRC);4)在類CView中的函數(shù)PreCreateWindows()中添加下面的代碼:cs.style

20、=(WS_CLIPSIB

21、LINGS

22、WS_CLIPCHILDREN);5)在類CView中的函數(shù)OnDraw()中添加下面的代碼:wglMakeCurrent(pDC->m_hDC,m_hRC);DrawScene();//用戶自定義的場景繪制函數(shù)wglMakeCurrent(pDC->m_hDC,NULL);這樣,一個基于OpenGl標(biāo)準的程序框架已經(jīng)構(gòu)造好了,用戶只需在DrawScene()函數(shù)中添加程序代碼即可。為了驗證程序框架的是否正確,請在DrawScene()函數(shù)中添加下面的代碼:glBegin(GL_TRIANGLE_STRIP);glColor3f(1

23、.0,0.0,0.0);glVertex3f(0.0,0.0,0.0);glColor3f(0.0,1.0,0.0);glVertex3f(-0.5,0.0,0.0);glColor3f(0.0,0.0,1.0);glVertex3f(0.0,0.5,0.0);glEnd();glFlush();然后編譯執(zhí)行直至在MFC窗口中繪制出了一個頂點顏色不同的三角形即可。//MeshView.cpp:implementationoftheCMeshViewclass//#include"stdafx.h"#include"Mesh.h"#include

24、"MeshDoc.h"#include"MeshView.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CMeshViewIMPLEMENT_DYNCREATE(CMeshView,CView)BEGIN_MESSAGE_MAP(CMeshView,CView)//{

25、{AFX_MSG_MAP(CMeshView)ON_WM_PAINT()ON_WM_DESTROY()ON_WM_SIZE()ON_WM_LBUTTO

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

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

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