手把手教你搭建MFC进行OpenGL编程的框架.doc
文本预览下载声明
手把手教你搭建用MFC进行OpenGL编程的框架
第一步:创建项目文件
File || New || Project || MFC AppWizard (exe) || 输入Project Name || 创建一个基于SDI,View类基于CView
的工程文件;
第二步:向项目文件中添加OpenGL的绘图函数
Project || Settings || 在Object/library modules:中输入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类,选择Add Member Vairable,添加一个成员
变量HGLRC m_hRC;选择Add Member Founction,添加一个成员函数void DrawScene();
3)在项目工作区的ClassView中找到CView类,右击CView类,选择Add Windows Message Handler,为
CView类添加WM_CREATE,WM_DESTORY(方法:在左边的New windows message/events中选中并
双击,然后点击OK)。
在项目工作区的ClassView中找到CView类,找到函数OnCreate(),在该函数中添加如下代码:
//定义像素存储格式
PIXELFORMATDESCRIPTOR pfd=
{
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,
};
CClientDC dc(this);
int pixelFormat=ChoosePixelFormat(dc.m_hDC,pfd);
BOOL success=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标准的程序框架已经构造好了,用
显示全部