vc60中基于mfc和opengl的图形编程

vc60中基于mfc和opengl的图形编程

ID:32725438

大小:67.20 KB

页数:7页

时间:2019-02-15

vc60中基于mfc和opengl的图形编程_第1页
vc60中基于mfc和opengl的图形编程_第2页
vc60中基于mfc和opengl的图形编程_第3页
vc60中基于mfc和opengl的图形编程_第4页
vc60中基于mfc和opengl的图形编程_第5页
资源描述:

《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#includeJtincludc

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。