- 6
- 0
- 约6.98千字
- 约 8页
- 2017-08-21 发布于云南
- 举报
基于MFC和OpenGL三维图形的开发
匡天君 滕远道 王乘 徐明毅
(华中科技大学 数字化工程中心,湖北 武汉 430074)
摘要:本文介绍了OpenGL的基本概念,通过对三维动态球体模型的具体分析,详细讨论了如何利用OpenGL函数库在MFC中实现三维绘图。
关键词:OpenGL; MFC;三维;设备描述表(DC);绘制描述表(RC)
中国分类号:TP391.41 文献标识码:A
3D Graphics Based on MFC and OpenGL
KUANG Tian-jun,TENG Yuan-dao,WANG Cheng,XU Ming-yi
(Digital Engineering Research Center ,HUST,HuBei WuHan 430074,China)
Abstract:This paper describles the basic concepts of OpenGL。 And how to implement three-dimentsions images in MFC used OpenGL is also particular argued through an three-dimentsions dynamical sphere specific analyzed。
Keywords:OpenGL;MFC;3D;DC;RC
引言
随着三维图形的应用愈来愈广泛,计算机图形学的发展也越来越迅速。那么如何快速实现三维图形的计算可视化,仿真可视化呢?OpenGL即可作为主要途径之一。OpenGL作为一种硬件图形的软件接口,其优点是作为一个独立的工作平台,独立于硬件设备、窗口系统和操作系统,用它编写的软件可以在Unix、Windows98/NT等系统间移植。但是现在很多有关OpenGL的书中的程序都是使用标准C调用OpenGL函数实现的,这样做使得它缺乏面向对象能力,不符合当前流行的软件设计思想。因此我们需要借助一个“窗口”系统来完成OpenGL三维图形的制作。众所周知,Visual C++中MFC包含了强大的基于Windows的应用框架,提供了丰富的窗口和事件管理函数,已经成为当前一种比较流行的工作平台。于是我们可以选用MFC调用OpenGL函数来进行三维图形的开发。
现在以三维动态球体模型来讲述MFC中的OpenGL编程
1.基本思想
在Windows98/NT平台下,GDI是原始窗口的图形接口。而GDI实现这些是通过一个设备描述表DC来实现的。现在通过OpenGL绘图需要创建绘图描述表RC。但是RC并不能直接完成绘图,只能与特定的DC联系起来,从而完成具体的绘图工作。最后要注意释放RC和DC。
2. 编程步骤
第一步,设置开发环境
现在以Windows2000为例,首先将glu.dll,glu32.dll,glut.dll,glut32.dll,opengl32.dll文件拷贝到操作系统WINNT/System32目录下,将gl.h,glaux.h,glu.h,glut.h拷贝到Microsoft Visual Studio/VC98/Include/GL目录中中,将glaux.lib,glu32.lib,glut32.lib,opengl32.lib拷贝到Microsoft Visual Studio/VC98/Lib目录中;然后在编译程序的时候选择Project|Setting菜单,在Link标签中的Object/library modules编辑框中输入“opengl32.lib, glut32.lib ,glu32.lib,glaux.lib”。到这时候环境就建立好了,可以进行下面的具体编程工作。
第二步,具体编程
本实例采用基于对话框的工程。至于用单文档方式和多文档方式其编程原理是一样的,这里不再作单独介绍。
2.1创建项目文件。选择File|New菜单项,新建一个基于对话框的项目文件MyDlgOpenGL;
2.2 修改对话框模板。删除对话框中的静态文本,调整控件的位置。
2.3 创建新类,添加消息映射。选择View|ClassWizard菜单项,打开MFC对话框,在Add Class之中选择New,以便添加一个新类COpenGL,且该类的基类选择generic CWnd;最后利用MFC ClassWizard为COpenGL类添加消息WM_CREATE,WM_PAINT的映射。
2.4 添加代码。
2.4.1 定义像素格式 ,创建OpenGL显示。
在OpenGL能够在一个绘图对象中绘图之前,该绘图对象必须初始化。为此引入像素格式的概念。像素格式能告诉OpenGL是否使用双缓存,颜色模式,颜色位数,深度位数等等重要信
您可能关注的文档
- 图形推理50题详解.doc
- 图形设计讲义(第一章).ppt
- 图形篇.doc
- 图形动感地带 19.doc
- 图形的剪贴.doc
- 图形的分割与剪拼.ppt
- 图像质量评价综述.ppt
- 图像增强的matlab源代码带注释.doc
- 图像学参考书目.doc
- 图像修辞学.doc
- RE29877微控制器VD8-8G控制电磁阀技术参数与特性.pdf
- 广东省深圳市罗湖实验学校2025-2026学年九年级上学期12月英语月考试题(含答案).docx
- 七年级上册名著《朝花夕拾》和《西游记》核心考点整理.docx
- 新沪教版八年级英语上册期末完形填空专项复习练习题(含答案解析).docx
- 2025-2026学年上海市华东模范中学高二上学期12月月考英语试题(含答案).docx
- 中考词语(成语)理解与运用专项练习含答案解析.docx
- 2025-2026学年上海市南洋模范中学高三上学期期中考试英语试卷(含答案).docx
- 2025-2026学年天津市西青区张家窝中学高一上学期第二次月考英语试题(含答案).docx
- 2025-2026学年四川省平昌中学实验学校高二上学期第二次月考英语试题(含答案).docx
- 云南省红河哈尼族彝族自治州泸西县第一中学2025-2026学年高三上学期期中考试语文试卷(含答案).docx
最近下载
- 施工现场各类设备机械安全监理实施细则(参考).doc VIP
- 华东交通大学2015-2016第一学期电牵专业《电机与拖动》期末A卷.doc VIP
- 储气罐专业定期检查表.docx VIP
- JB_T 14788-2024《连续延伸带式输送机》.pdf VIP
- GB 265-1988 运动黏度.pdf
- 山东省青岛市胶州市2024-2025学年七年级上学期期末历史试题(含答案).pdf VIP
- 基于概念整合理论研究母语对二语写作的影响-外国语言学及应用语言学专业论文.docx VIP
- 中国旅游地理第四章旅游区划.ppt VIP
- 《陆上风力发电机组钢混塔架施工关键材料技术规程》.pdf VIP
- 2025年AI图像识别服务合同协议合同.docx VIP
原创力文档

文档评论(0)