



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本实验在Microsoft Visual C+集成环境下编译进行,在编译程序之前要进行一定的配置,下面给出在C/C+语言环境下应用OpenGL的过程:1 启动Microsoft Visual C+2 点击File/new 新建一个项目3 选择project(项目),点击 Win32 console application ,表示建立这样一个类型的应用程序,在project name 和 location 位置填写(选择)“项目的名字”和“存放的地址”。4 然后点击OK,选择建立一个“an empty project”项目,这时建立了一个带有三个文件夹的空项目。5 点击Source File文件夹,往里添加一个空源程序文件用于编写代码,点击File/new,从弹出框里选择File, 从里面的文件类型中选择C+ source file,点OK, 然后给文件命一个名。6 进行OpenGL配置,添加静态库:选择菜单project-settings-link 在object/library modules下面的对话框中输入opengl32.lib glu32.lib glaux.lib 。在源程序文件中添加头文件:#include#include#include#include 所需配置文件解释: .h 在vc的IncludeGL目录中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 #include 3)添加静态库选取“Project”菜单的“Settings”命令,在“Link”面板的“Object/Library Modules:”文本框中输入opengl32.lib和glu32.lib,中间用空格隔开。4)选取“View”菜单,在“Class Wizard”窗口的“Message Map”面板中为视图类添加以下消息函数:OnDestroy():对应于窗口关闭消息WM_DESTROYOnSize():对应于窗口大小消息WM_SIZEOnCreate():对应于窗口创建消息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(GL_COLOR_BUFFER_BIT); /置窗口底色为白色glColor3f(0.0f,0.0f,0.0f);/设置绘图颜色为黑色/ gl_Point(100,100) /可以在屏幕上只画一个点for(int i=0; iGetSafeHdc();/*根据当前绘图设备的特性,为之选择一个与pfd所指定的格式相匹配的像素格式,存于nPixelFormat中。*/int nPixelFormat=:ChoosePixelFormat(m_hDC,&pfd);/将当前绘图设备的像素格式设为nPixelFormat:SetPixelFormat(m_hDC,nPixelFormat,&pfd);/根据当前绘图设备,创建一个像素格式与之相匹配的OpenGL的绘图上下文m_hRC=:wglCreateContext(m_hDC);/*指定OpenGL的绘图上下文是m_hRC,并且建立它与当前绘图设备m_hDC间的连接,下列函数执行后,所有绘图命令的结果都出现在设备m_hDC上*/:wglMakeCurrent(m_hDC,m_hRC);glEnable(GL_DEPTH_TEST); /实际就是消隐,可以测试不加的时候会出现什么情况水平直线void CExam1View:gl_Point(GLint x,GLint y)glBegin(GL_POINTS); /画一个点 glVertex2d(x, y); /默认颜色为黑色glEnd();5)最后在CExam1View的成员函数OnDraw()中加入对Draw()的调用。6)编译并执行程序,得到图3.1。如果把Draw()里的绘点命令gl_Point(100,100)激活,去掉其下面的绘直线语句,则执行程序可以在屏幕(100,100)位置上显示一个点多边形显示函数glBegin(GL_POLYGON);glVertex2f(0.0,0.0);/2维浮点数表示glVertex2f(0.0,3.0);glVertex2f(3.0,3.0);glVertex2f(4.0,1.5);glVertex2f(3.0,0.0);glEnd();/void CExam1View:gl_Transform()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毛线编织上针课件
- 车间新员工安全知识培训课件
- 污水处理化验员试题及答案
- 2025年血防知识试题及答案
- 2025年电力安全常识知识测试题及答案
- 车辆运行材料选用课件
- 英语单词教学设计课件
- 教学课件附加动图的作用
- 搪瓷涂覆固化工艺考核试卷及答案
- 科大讯飞学生教学课件
- 小儿上呼吸道感染
- 2025年CCAA国家注册审核员考试(产品认证基础)历年参考题库含答案详解(5卷)
- 2025-2030中国骨科手术导航机器人医生培训体系与手术量增长关联报告
- 2025年秋季小学四年级上册语文教学计划及教学进度表
- 北京市西城区2024-2025学年七年级下学期期末道德与法治试题(解析版)
- 苏州工业园区外国语学校语文新初一均衡分班试卷
- 《智能建造概论》高职完整全套教学课件
- 妇科常规手术器械处理流程
- DB21T 3515-2021 灌注式复合混凝土路面设计与施工技术规范
- 危险性较大工程安全监理制度
- 二手农业机械转让合同
评论
0/150
提交评论