文档详情

《虚拟现实及系统仿真》实验指导书.doc

发布:2016-04-20约1.75万字共22页下载文档
文本预览下载声明
虚拟现实与系统仿真 实验指导书 2013.2 实验一 基于MFC的基本OpenGL应用程序生成 一:实验目的 1. 熟悉VC++2005集成开发环境; 2. 熟悉基本MFC应用程序的生成; 3. 掌握基于MFC的基本OpenGL应用程序生成。 二:实验内容 1. 建立基于MFC的基本OpenGL应用程序; 2. 配置应用程序,添加OpenGL链接库文件; 3. 建立OpenGL的基本环境。 三:实验背景知识 OpenGL是一种图形显示软件工具包,它为图形硬件提供软件接口。OpenGL为计算机动画提供由图形生成图像帧的工具。MFC提供的图形用户界面程序设计技术可以编写人机交互程序,OpenGL技术可以进行各种图形绘制。 四:实验步骤 文件-新建-项目 选择MFC应用程序 输入名称OpenGLPlat 右击项目名,选择属性,再选择链接器中的输入选项,附加依赖项:opengl32.lib; glu32.lib ;glaux.lib 3.选择类视图模式,右击View,再添加变量和头文件 或直接在View头文件中添加变量: protected: HGLRC m_hRC; 添加包含OpenGL头文件的语句: 在COpenGLPlatView.cpp中添加代码 #include gl/gl.h #include gl/glu.h #include gl/glaux.h 4.右击属性 消息按钮 选择WM_CREATE 添加 在int COpenGLPlatView::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中添加代码 //添加新的代码开始 CClientDC dc(this); PIXELFORMATDESCRIPTOR pfd; memset(pfd,0,sizeof(PIXELFORMATDESCRIPTOR)); pfd.nSize=sizeof(PIXELFORMATDESCRIPTOR); pfd.nVersion=1; pfd.dwFlags=PFD_DRAW_TO_WINDOW| PFD_SUPPORT_OPENGL| PFD_DOUBLEBUFFER; pfd.iPixelType=PFD_TYPE_RGBA; pfd.cColorBits=24; pfd.cDepthBits=32; int pixelFormat=ChoosePixelFormat(dc.m_hDC,pfd); SetPixelFormat(dc.m_hDC,pixelFormat,pfd); m_hRC=wglCreateContext(dc.m_hDC); return 0; 右击属性 消息按钮 选择WM_DESTROY 添加 void COpenGLPlatView::OnDestroy()函数中添加代码 //添加新的代码开始 wglMakeCurrent(NULL,NULL); wglDeleteContext(m_hRC); m_hRC=NULL; 右击属性 消息按钮 选择WM_SIZE 添加 void COpenGLPlatView::OnSize(UINT nType, int cx, int cy) 函数中添加代码 //添加新的代码开始 CClientDC dc(this); wglMakeCurrent(dc.m_hDC,m_hRC); glMatrixMode(GL_PROJECTION); glLoadIdentity(); double d=10; double n=100; glOrtho(-cx/n,cx/n,-cy/n,cy/n,-d,d); glMatrixMode(GL_MODELVIEW); glViewport(0,0,cx,cy); wglMakeCurrent(NULL,NULL); 5.在OpenGLPlatView.cpp中OnDraw函数中添加以下代码: void CMy1View::OnDraw(CDC* pDC) // 把 ”/*pDC*/” 改成 pDC { COpenGLPlatDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 wglMakeCurrent(pDC-m_hDC,m_hRC); glClearColor(1.0f,1.0f,1.0f,1.0f); glClearDepth(1.0); glClear(GL_COLOR_BU
显示全部
相似文档