电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

虚拟现实与系统仿真实验指导书VIP专享VIP免费

虚拟现实与系统仿真实验指导书_第1页
虚拟现实与系统仿真实验指导书_第2页
虚拟现实与系统仿真实验指导书_第3页
虚拟现实与系统仿真实验指导书2013.2实验一基于MFC的基本OpenGL应用程序生成一:实验目的1.熟悉VC++2005集成开发环境;2.熟悉基本MFC应用程序的生成;3.掌握基于MFC的基本OpenGL应用程序生成。二:实验内容1.建立基于MFC的基本OpenGL应用程序;2.配置应用程序,添加OpenGL链接库文件;3.建立OpenGL的基本环境。三:实验背景知识OpenGL是一种图形显示软件工具包,它为图形硬件提供软件接口。OpenGL为计算机动画提供由图形生成图像帧的工具。MFC提供的图形用户界面程序设计技术可以编写人机交互程序,OpenGL技术可以进行各种图形绘制。四:实验步骤1.文件->新建->项目选择MFC应用程序输入名称OpenGLPlat2.右击项目名,选择属性,再选择链接器中的输入选项,附加依赖项:opengl32.lib;glu32.lib;glaux.lib3.选择类视图模式,右击View,再添加变量和头文件或直接在View头文件中添加变量:protected:HGLRCm_hRC;添加包含OpenGL头文件的语句:在COpenGLPlatView.cpp中添加代码#include#include#include4.右击属性消息按钮选择WM_CREATE添加在intCOpenGLPlatView::OnCreate(LPCREATESTRUCTlpCreateStruct)函数中添加代码//添加新的代码开始CClientDCdc(this);PIXELFORMATDESCRIPTORpfd;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;intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);SetPixelFormat(dc.m_hDC,pixelFormat,&pfd);m_hRC=wglCreateContext(dc.m_hDC);return0;右击属性消息按钮选择WM_DESTROY添加voidCOpenGLPlatView::OnDestroy()函数中添加代码//添加新的代码开始wglMakeCurrent(NULL,NULL);wglDeleteContext(m_hRC);m_hRC=NULL;右击属性消息按钮选择WM_SIZE添加voidCOpenGLPlatView::OnSize(UINTnType,intcx,intcy)函数中添加代码//添加新的代码开始CClientDCdc(this);wglMakeCurrent(dc.m_hDC,m_hRC);glMatrixMode(GL_PROJECTION);glLoadIdentity();doubled=10;doublen=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函数中添加以下代码:voidCMy1View::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_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glEnable(GL_COLOR_MATERIAL);glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);glEnable(GL_AUTO_NORMAL);glEnable(GL_NORMALIZE);glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LESS);glMatrixMode(GL_MODELVIEW);glLoadIdentity();glColor3f(1.0f,0.0f,0.0f);glRotated(60.0,1.0,1.0,1.0);//茶壶auxWireTeapot(3.0);SwapBuffers(pDC->m_hDC);wglMakeCurrent(NULL,NULL);五:实验结果实验二OpenGL基本图形元素和模型变换一:实验目的1.掌握二次曲面的绘制函数及其应用方法。2.掌握基本实体模型的绘制函数及其应用方法。二:实验内容1.学习二次曲面的绘制函数及其应用方法。2.学习基本实体模型的绘制函数及其应用方法。三:实验背景知识OpenGL提供了二次曲面和基本实体模型的绘制函数及其应用方法。这些二次曲面和基本实体模型在OpenGL内部实现中实际上也是将它们离散分割成为大量的多边形,然后通过绘制多边形的方法实现对这些二次曲面和基本实体模型的绘制。四:实验程序实验步骤1~4与上述实验1相同5在OpenGLPlatView.cpp中OnDraw函数中添加以下代码:wglMakeCurrent(pDC->m_hDC,m_hRC);glMatrixMode(GL_MODELVIEW);//二次曲面glColor3f(1.0f,0.0f,0.0f);GLUquadric*qd=gluNewQuadric();//创建二次曲面对象gluQuadricDrawStyle(qd,GLU_FILL);//设置二次曲面对象绘制模式GLU_LINE;GLU_...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部