- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MFC和OpenGL三维图形的开发3DGraphicsBasedon-Read.PDF
基于 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 ”。到这时候环境就建立好了,可以进行下面的具体编程工作。
第二步,具体编程
本实例采用基于对话框的工程。至于用单文档方式和多文档方式其编程原理是一样
的,这里不再
原创力文档


文档评论(0)