如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
手把手教你搭建用MFC进行OpenGL编程的框架第一步:创建项目文件File||New||Project||MFCAppWizard(exe)||输入ProjectName||创建一个基于SDI,View类基于CView的工程文件;第二步:向项目文件中添加OpenGL的绘图函数Project||Settings||在Object/librarymodules:中输入opengl32.lib,glu32.lib,glaux.lib,三者之间用空格隔开,逗号不用输入;第三步:添加一些代码1)在项目工作区的FileView中找到StdAfx.h,添加下面的代码:#include<GL/gl.h>#include<GL/glu.h>#include<GL/glaux.h>2)在项目工作区的ClassView中找到CView类,右击CView类,选择AddMemberVairable,添加一个成员变量HGLRCm_hRC;选择AddMemberFounction,添加一个成员函数voidDrawScene();3)在项目工作区的ClassView中找到CView类,右击CView类,选择AddWindowsMessageHandler,为CView类添加WM_CREATE,WM_DESTORY(方法:在左边的Newwindowsmessage/events中选中并双击,然后点击OK)。在项目工作区的ClassView中找到CView类,找到函数OnCreate(),在该函数中添加如下代码://定义像素存储格式PIXELFORMATDESCRIPTORpfd={sizeof(PIXELFORMATDESCRIPTOR),1,PFD_DRAW_TO_WINDOW|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,0,0,};CClientDCdc(this);intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd);m_hRC=wglCreateContext(dc.m_hDC);同理找到函数OnDestory(),在该函数中添加下面的代码:wglDeleteContext(m_hRC);4)在类CView中的函数PreCreateWindows()中添加下面的代码:cs.style|=(WS_CLIPSIBLINGS|WS_CLIPCHILDREN);5)在类CView中的函数OnDraw()中添加下面的代码:wglMakeCurrent(pDC->m_hDC,m_hRC);DrawScene();//用户自定义的场景绘制函数wglMakeCurrent(pDC->m_hDC,NULL);这样,一个基于OpenGl标准的程序框架已经构造好了,用户只需在DrawScene()函数中添加程序代码即可。为了验证程序框架的是否正确,请在DrawScene()函数中添加下面的代码:glBegin(GL_TRIANGLE_STRIP);glColor3f(1.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();然后编译执行直至在MFC窗口中绘制出了一个顶点颜色不同的三角形即可。//MeshView.cpp:implementationoftheCMeshViewclass//#include"stdafx.h"#include"Mesh.h"#include"MeshDoc.h"#include"MeshView.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CMeshViewIMPLEMENT_DYNCREATE(CMeshView,CView)BEGIN_MESSAGE_MAP(CMeshView,CView)