基于MFC和Open GL地形三维显示技术.pdf

基于MFC和Open GL地形三维显示技术.pdf

ID:51416488

大小:330.43 KB

页数:4页

时间:2020-03-23

基于MFC和Open GL地形三维显示技术.pdf_第1页
基于MFC和Open GL地形三维显示技术.pdf_第2页
基于MFC和Open GL地形三维显示技术.pdf_第3页
基于MFC和Open GL地形三维显示技术.pdf_第4页
资源描述:

《基于MFC和Open GL地形三维显示技术.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3期矿山测量N32O10年6月MINESURVEYINGJun.2010doi:10.3969/j.issn.1001—358X.2010.04.011‘基于MFC和OpenGL地形三维显示技术关金华,赵远方,胡金阳,张润涛(1.中国水利水电第一工程局有限公司,吉林长春130062;2.61365部队,天津300140)摘要:文中简要概述了OpenGL的概念、工作原理、主要特点和功能.并且介绍了以MFC平台进行OpenGL编程的方法。最后详细说明了基于OpenGL地形三维显示技术与实现过程。关键词:OpenGL;地形:三维显示中图分类号:P209文

2、献标识码:B文章编号:1001—358X(2010)04—0034—032O世纪60年代以后.地形可视化的概念随着地部分,纹理操作使得三维景观更加逼真,这也是模拟理信息系统的出现而逐渐形成。以地形地貌为研究真实地表景观所十分需要的。由于纹理操作是图像重点的地形三维可视化成为人们关注的焦点。90运算,它涉及到图像的每个像素,因此其运算量相当年代后,随着三维图形硬件芯片的出现和OpenGL、庞大,比几何运算的运算量要大得多。在这些操作Direct3D等三维图形软件标准的建立。地形三维显之后执行光栅化操作,即把图元分解成像素。分解示化技术取得了很大的进展⋯

3、。的基本思路是面片分解法,即把图元分解成最小的图形单元三角形面片。三角形面片的像素分解算法1OpenGL概述简单,节省时间,片元最后送到帧缓存中进行绘制。OpenGL是美国高级图形和高性能计算机系统1.2OpenGI主要特点和功能[J[J公司(SGI)开发的三维图形库,它广泛适合于计算机OpencL具有开放性、独立性以及兼容性等特系统环境下的三维图形应用程序设计接口,目前已点,它为三维软件绘制提供了以下功能。。成为开放式的国际三维图形程序标准_3]。(1)建模功能:OpenGL图形库提供了三维几何1.1OpenGL工作原理体的绘制函数。通过这些函数,

4、可以方便、快捷地建OpenGL基本操作是指从指定顶点开始,通过立三维图像的模型流水线处理,直到最后把像素值写入帧缓存的整个(2)颜色设置功能:OpenGL设置颜色有两种模过程所执行的全部操作。其基本工作流程如图1所式,RGBA模式和颜色索引模式。示.(3)变换功能:OpenGL图形库具有平移、旋转、变比、镜像和投影等变换功能。光栅化与片断操作一—二一(4)光照和材质设置功能。l盟示列表l(5)纹理设置功能。帧缓存(6)滤镜功能:OpenGL提供了雾化、去锯齿、融像素数据罔像素操作r—_-1纹理映射合等滤镜功能。图1()penGL基本操作流程图(7)运

5、动模糊功能。与大多数图形API类似.OpenGL把所接收的(8)双缓存动画功能:即前台和后台都具有缓存数据分成几何数据和图像数据两类。几何数据通过功能。几何运算再进行顶点操作和图元组装,其中的几何2MFC环境下OpenGL的编程框架运算操作是十分庞大和复杂的过程。因为三维图形的实时绘制需要实时地对三维物体的位置做出反MFC环境下基于OpenGL的编程步骤:应,因此这个过程也是图形优化的重要突破点。许(1)创建项目文件;多图形硬件生产商采用特制芯片来完成这一任务,(2)包含必要的头文件(如GL.h,GLu.h,从而提高了执行效率。纹理操作是OpenGL

6、的重要GLaux.h)并在项目链接设置中加入要的库(Open—34第4期关金华等:基于MFC和OpenGL地形三维显示技术201O年8月GL32.1ib,GLu32.1ib,GIaux.1ib);别是基于点的建模、基于格网的建模、基于不规则三(3)如果应用程序需要使用设色板,在CMain.角网的建模。在本文中利用Delaunay法则建立TINFrame类中加人OnPaletteChanged()和OnQuerNew.(TriangularIrregularNet)的数字地面模型。在建立Pa]ette()函数的实现;的三维地形模型中运用的是不规则三角网

7、TIN。这(4)对视类进行编辑:是因为在同样的地形条件下达到同等高程内插精度①在OnCreate()函数中定义像素存储格式并添时,该类数模所需的原始地形点的数量远少于其他加以下代码:类型数模所需的已知点数。CCllentdc(this);(2)设置基本参数在用OpenGL绘制三维地形intpixelFommt=ChoosePixelFomm

8、(dc.nl—hDC,模型和进行纹理映射前。需要设置相关的景观参数&pfd);值。这些参数包括光源性质(镜射光、漫射光和环境SetPixelFomat(dc.nl—hDC,pixelFormat,&pfd);光)

9、、光源方位(距离和方向)、颜色模式(索引模式In—hRc=WglCreaContext(dc.In—hDC)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。