欢迎来到天天文库
浏览记录
ID:32725438
大小:67.20 KB
页数:7页
时间:2019-02-15
《vc60中基于mfc和opengl的图形编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VC6.0中基于MFC和OpenGL的图形编程第一步:选择一个开发工具在Windows系统中,我们选择VC++6.0作为学习OpenGL的环境。第二步:安装GLUT工具包GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。Windows环境下的GLUT下载地址:(大小约为150k)http://www.opengl.org/resources/libraries/glut/glutdlls37beta・zipWindows环境下安装GLUT的步骤:1、将下载的压缩包解开,将得到5个文件2、以我的安装目录为例:(1)"c:ProgramF订esMicrosoftV
2、isualStudioVC98includcGL文件夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。(2)"c:ProgramFilesMicrosoftVisualStudioVC98lib文件夹”。把解压得到的glut,lib和glut32.lib放到静态函数库所在文件夹,即lib文件夹。(3)把解压得到的glut,dll和glut32.dll放到操作系统目录下面的systcm32文件夹内。(典型的位置为:C:WindowsSystcm32)这是非常重要的动态链接库设置!第三步,创建并设置工程(1)在VC++6.0中创建一个
3、MFCAppWizard[exe]的单文档应用程序,例如工程名为MFCOpenGLo(2)链接OpenGLlibraries:在VisualC卄中先单击Project,再单击Settings,再找到Link单击,最后在Objcct/librarymodules的最前面加Jtopengl32.libGlut32.libGlaux.libglu32.lib。第四步,初始化OpenGL绘图环境1,在stdafx.h中加入下列语句://OpenGLHeaders^include#inelude#includeJtincludc4、ux・h>2,打开ClassWizard,选择CMFCOpenGLView类,为下述消息加入消息处理函数:WCREATE(forOnCreate),WM_DESTROY(forOnDestroy),WM_SIZE(forOnSizc),WM_ERASEBACKGROUND(forOnEraseBkground)・3,在窗口创建之前我们必须设置窗口风格包含WS_CLIPCHILDREN和WS_CLIPSIBLINGS,从而避免OpenGL绘制到其他窗口中去。这些应该放在PreCreateWindow()中。BOOLCMFCOpenGLView::PreCreateWindow(CREATEST5、RUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcs//AnOpenGLWindowmustbecreatedwiththefollowingflagscs.style6、=WS_CLIPSIBLINGSWS_CLIPCHILDREN;returnCView::PreCreateWindow(cs);4,在CMFCOpenGLView.h中加入如下语句:HGLRCmhRC;//RenderingContextCDC*mpDC;//DeviceContextBOOLInitializeOpen7、GL();//InitializeOpenGLBOOLSetupPixelFormat();//SetupthePixelFormatvoidRcndcrSccnc();//RendertheScene5,在OnCreate()中我们将通过建立像素格式和绘制上下文来初始化OpenGL.在InitializeOpenGLO中会创建一个设备上下文(DC),为这个DC选择一个像素格式,创建和这个DC相关的绘制上下文(RC),然后选择这个RC.这个函数会调用SetupPixelFormat()来建立像素格式。intCMFCOpenGLView::OnCreate(LPCREATESTRUCTIpCr8、eateStruct)-1)if(CView::OnCreate(IpCreateStruct))return-1;//InitializeOpenGLHereInitializeOpenGL();return0;BOOL{CMFCOpenGLView::InitializeOpenGL()//GetaDCfortheClientAream_pDC=newCClicntDC(this);//Failureto
4、ux・h>2,打开ClassWizard,选择CMFCOpenGLView类,为下述消息加入消息处理函数:WCREATE(forOnCreate),WM_DESTROY(forOnDestroy),WM_SIZE(forOnSizc),WM_ERASEBACKGROUND(forOnEraseBkground)・3,在窗口创建之前我们必须设置窗口风格包含WS_CLIPCHILDREN和WS_CLIPSIBLINGS,从而避免OpenGL绘制到其他窗口中去。这些应该放在PreCreateWindow()中。BOOLCMFCOpenGLView::PreCreateWindow(CREATEST
5、RUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcs//AnOpenGLWindowmustbecreatedwiththefollowingflagscs.style
6、=WS_CLIPSIBLINGSWS_CLIPCHILDREN;returnCView::PreCreateWindow(cs);4,在CMFCOpenGLView.h中加入如下语句:HGLRCmhRC;//RenderingContextCDC*mpDC;//DeviceContextBOOLInitializeOpen
7、GL();//InitializeOpenGLBOOLSetupPixelFormat();//SetupthePixelFormatvoidRcndcrSccnc();//RendertheScene5,在OnCreate()中我们将通过建立像素格式和绘制上下文来初始化OpenGL.在InitializeOpenGLO中会创建一个设备上下文(DC),为这个DC选择一个像素格式,创建和这个DC相关的绘制上下文(RC),然后选择这个RC.这个函数会调用SetupPixelFormat()来建立像素格式。intCMFCOpenGLView::OnCreate(LPCREATESTRUCTIpCr
8、eateStruct)-1)if(CView::OnCreate(IpCreateStruct))return-1;//InitializeOpenGLHereInitializeOpenGL();return0;BOOL{CMFCOpenGLView::InitializeOpenGL()//GetaDCfortheClientAream_pDC=newCClicntDC(this);//Failureto
此文档下载收益归作者所有