VC6.0中基于MFC 和OpenGL的图形编程.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC6.0中基于MFC 和OpenGL的图形编程

VC6.0中OpenGL的图形编程 第一步:选择一个???? 在Windows系统我们选择VC++ 6.0作为学习OpenGL的环境。???? 第二步:安装GLUT工具包???? GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k)??? /resources/libraries/glut/glutdlls37beta.zip Windows环境下安装GLUT的步骤:??1、将下载的压缩包解开,将得到5个文件 2、以我的安装目录为例:?(1)“:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。???(2)“:\Program Files\Microsoft Visual Studio\VC98\lib文件夹”。把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹,即lib文件夹。???(3)把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)这是非常重要的动态链接库设置!???? 第三步,创建工程???? (1)VC++ 6.0中创建一个MFC AppWizard[exe]应用程序工程名为MFCOpenGL??? (2)链接OpenGL libraries:在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。???第四步,1, 在stdafx.h中加入下列语句: //OpenGL?Headers#include?gl/gl.h #include?gl/glu.h #include?gl/glut.h #include?gl/glaux.h 2, 打开ClassWizard,选择CMFCOpenGLView类,为下述消息加入消息处理函数:WM_CREATE (for OnCreate), WM_DESTROY (for OnDestroy), WM_SIZE (for OnSize), WM_ERASEBACKGROUND (for OnEraseBkground). 3,在窗口创建之前我们必须设置窗口风格包含WS_CLIPCHILDREN和 WS_CLIPSIBLINGS,从而避免OpenGL绘制到其他窗口中去。这些应该放在PreCreateWindow()中。 BOOL?CMFCOpenGLView::PreCreateWindow(CREATESTRUCT?cs){ //?TODO:?Modify?the?Window?class?or?styles?here?by?modifying //?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*?m_pDC;????????//Device?Context ????BOOL?InitializeOpenGL();????//Initialize?OpenGL ????BOOL?SetupPixelFormat();????//Set?up?the?Pixel?Format ????void?RenderScene();????????????//Render?the?Scene 5,?在OnCreate中我们将通过建立像素格式和绘制上下文来初始化OpenGL. 在InitializeOpenGL()中会创建一个设备上下文(DC),为这个DC选择一个像素格式,创建和这个DC相关的绘制上下文(RC),然后选择这个RC.这个函数会调用SetupPixelFormat()来建立像素格式。 int?CMFCOpenGLView::OnCreate(LPCREATESTRUCT?lpCreateStruct)? { ????if?(CView::OnCreate(lpCreateStr

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档