- 6
- 0
- 约5.82千字
- 约 7页
- 2019-03-15 发布于广东
- 举报
VC6. 0中基于MFC和OpenGL的图形编程
第一步:选择一个开发工具
在Windows系统中,我们选择VC++ 6. 0作为学习OpenGL的环境。
第二步:安装GLUT工具包
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的GLUT下载地址:(大小约为150k)
http://www. opengl. org/resources/libraries/glut/glutdlls37beta? zip
Windows环境下安装GLUT的步骤:
1、 将下载的压缩包解开,将得到5个文件
2、 以我的安装目录为例:
c:\Program F订es\Microsoft Visual Studio\VC98\includc\GL 文件 夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建 一个,一般都有的。
c:\Program Files\Microsoft Visual Studio\VC98\lib 文件夹”。把 解压得到的glut, lib和glut32. lib放到静态函数库所在文件夹,即lib文件 夹。
把解压得到的glut, dll和glut32. dll放到操作系统目录下面的systcm32 文件夹内。(典型的位置为:C:\Windows\Systcm32)这是非常重要的动态链接 库设置!
第三步,创建并设置工程
在VC++ 6.0中创建一个MFC AppWizard[exe]的单文档应用程序,例如工 程名为 MFCOpenGLo
链接 OpenGL libraries:在 Visual C卄中先单击 Project,再单击 Settings, 再找到 Link 单击,最后在 Objcct/library modules 的最前面加Jt opengl32. lib Glut32. lib Glaux.lib glu32.lib。
第四步,初始化OpenGL绘图环境
1,在stdafx. h中加入下列语句:
//OpenGL Headers ^include gl/g1. h #inelude gl/glu. h #include gl/glut. h Jtincludc gl/glaux? h
打开ClassWizard,选择CMFCOpenGLView类,为下述消息加入消息处理函数: W CREATE (for OnCreate),
WM_DESTROY (for OnDestroy),
WM_SIZE (for OnSizc),
WM_ERASEBACKGROUND (for OnEraseBkground)?
在窗口创建之前我们必须设置窗口风格包含WS_CLIPCHILDREN和 WS_CLIPSIBLINGS,从而避免OpenGL绘制到其他窗口中去。这些应该放在 PreCreateWi ndow()中。
BOOL CMFCOpenGLView::PreCreateWindow(CREATESTRUCT cs)
{
// TODO: Modify the Window class or styles here by modi
fying
// the CREATESTRUCT cs
//
An OpenGL Window must be created with
the following flags
cs. style |= WS_CLIPSIBLINGS
WS_CLIPCHILDREN;
return CView::PreCreateWindow(cs);
4, 在CMFCOpenGLView. h中加入如下语句:
HGLRC m hRC; //Rendering Context
CDC*
mpDC;
//Device Context
BOOL
InitializeOpenGL();
//Initialize OpenGL
BOOL
SetupPixelFormat();
//Set up the Pixel F
ormat
void
RcndcrSccnc ();
//Render the
Scene
在OnCreate ()中我们将通过建立像素格式和绘制上下文来初始化OpenGL. 在Initial izeOpenGLO中会创建一个设备上下文(DC),为这个DC选择一个像素 格式,创建和这个DC相关的绘制上下文(RC),然后选择这个RC.这个函数会调 用SetupPixelFormat ()来建立像素格式。
int CMFCOpenGLView::OnCreate(LPCREATESTRUCT IpCreateStruct)
-1)if (CV i ew::OnCreate(IpCreateStruct)
-1)
)
r
您可能关注的文档
最近下载
- 电线电缆单根垂直燃烧试验影响因素的探讨.doc VIP
- 第七章 概率于随机变量 第七章 随机变量及其分布(章末小结)课件(人教A版选择性必修第三册).pptx VIP
- 《选择性必修三》随机变量及其分布 随机变量及其分布复习与小节第2课时.pdf VIP
- 质量管理体系过程相互关系图3.pptx VIP
- 中央监护系统技术参数要求2套.doc VIP
- 《软件工程》课程教学大纲.pdf VIP
- 第七章随机变量及其分布(单元复习课件)(人教A版2019选择性必修第三册).pptx VIP
- 闽南语‘契兄’与客家话‘契哥’的语义发展文字误用及时代竞争.PDF
- 国电集团财务信息系统应用手册.pdf VIP
- DB50_T 1262-2022 儿童孤独症康复机构服务规范.docx VIP
原创力文档

文档评论(0)