OpenGL新手入门实验1.doc

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

本实验在Microsoft Visual C++集成环境下编译Microsoft Visual C++ 点击File/new 新建一个项目 选择project(项目),点击 Win32 console application ,表示建立这样一个类型的应用程序,在project name 和 location 位置填写(选择)“项目的名字”和“存放的地址”。 然后点击OK,选择建立一个“an empty project”项目,这时建立了一个带有三个文件夹的空项目。 点击Source File文件夹,往里添加一个空源程序文件用于编写代码,点击File/new,从弹出框里选择File, 从里面的文件类型中选择C++ source file,点OK, 然后给文件命一个名。 进行OpenGL配置,添加静态库:选择菜单project-settings-link 在object/library modules下面的对话框中输入opengl32.lib glu32.lib glaux.lib 。 在源程序文件中添加头文件: #includewindows.h #includegl/gl.h #includegl/glu.h #include gl/glaux.h 所需配置文件解释:– .h 在vc的Include\GL目录中gl.h、glu.h、glaux.h – .lib 在vc的Lib目录中opengl32.lib glu32.lib glaux.lib .dll 在windows SYSTEM32目录中opengl32.dll、 glu32.dll,在windows系统中自带。 7.最后在源程序文件中编写代码进行编译。 下面说明在Visual C++6.0环境下,用OpenGL绘图软件包编程的一个完整过程。 1)建立新项目 在Visual C++中,用鼠标点取“File”菜单,选取“New”命令。在弹出的对话框中,选择“Projects”面板,再在列表框中选中 “MFC AppWizard(exe)”,建立一个MFC单文档视图结构的应用程序。 2)添加头文件 在项目的视图类头文件中添加如下代码: #include gl/gl.h #include gl/glu.h 3)添加静态库 选取“Project”菜单的“Settings…”命令,在“Link”面板的“Object/Library Modules:”文本框中输入opengl32.lib和glu32.lib,中间用空格隔开。 4)选取“View”菜单,在“Class Wizard”窗口的“Message Map”面板中为视图类添加以下消息函数: OnDestroy():对应于窗口关闭消息WM_DESTROY OnSize():对应于窗口大小消息WM_SIZE OnCreate():对应于窗口创建消息WM_CREATE 在视图类中,添加三个新函数如下: void CExam1View::Draw() void CExam1View::gl_Init() void CExam1View::gl_Point(GLint x,GLint y) 在视图类中添加保护型变量: HDC m_hDC; // 设备描述表 HGLRC m_hRC; //图形操作描述表 函数代码如下: void CExam1View::OnDestroy() { CView::OnDestroy(); ::wglMakeCurrent(NULL,NULL); ::wglDeleteContext(m_hRC); } void CExam1View::OnSize(UINT nType, int cx, int cy) {//这些是需要修改的,根据应用地方不同 CView::OnSize(nType, cx, cy); glViewport(0, 0, cx, cy); //设定视口大小 glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-cx/2, cx/2, -cy/2, cy/2, -10, 10);//设置用户定义的绘图区域 } int cExam1View::OnCreate(LPCREATESTRUCT lpCreateStruct) { if(CView::OnCreate(lpCreateStruct) == -1) return –1; gl_Init(); // 初始化OpenGL绘图环境 return 0; } void CExam1View::Draw() { glClearColor(1.0f,1.0f,1.0f,1.0f); glClear

文档评论(0)

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

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

1亿VIP精品文档

相关文档