ArcEngine+OpenGL之二系统平台搭建

本文档介绍了如何在C#环境下利用ArcEngine的GlobeControl组件结合OpenGL进行三维地球显示项目的搭建过程。包括项目创建、OpenGL集成及事件监听等内容。
系统平台搭建
 
1、建立C#下的ArcEngine的globeControl默认项目,取名为CEnOpenGL.保存。
2、C# Wrapper for OpenGL GL API.(得到OpenGL_GL_v4.cs,OpenGL_GLU_v4.cs,OpenGL_WGL_v4.cs三个c#Wrapper 文件),相关学习。【。net下使用com类的方法。】
注意:本学习的项目必须在Unsafe下编译。
3.项目-属性-生成——选择(不安全代码)选项。
4、The GlobeCore API provides the ICustomGlobeLayer interface for more advanced 3D graphic drawings. Any layer that will be used to perform 3D drawings on the globe display needs to support this interface. This interface simplifies the overhead of writing custom layers for ArcGlobe/GlobeControl. Developers do not have to listen to GlobeDisplayEvents to do their drawings. Instead, ICustomGlobeLayer provides a method (DrawImmediate) where all drawings should take place. 刚开始学习使用监听事件的方法。
5、
The following shows wiring AfterDraw inside the ICommand.Onclick event handler using GlobeHookHelper.

[C#]
        /// <summary>
/// Form Load event handler
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load(object sender, EventArgs e)
{
m_globeControl = axGlobeControl1.Object as IGlobeControl;

//cast the GlobeViewUtil from the GlobeCamera
m_globeViewUtil = m_globeControl.GlobeCamera as IGlobeViewUtil;

//Start listening to globe display events.
((IGlobeDisplayEvents_Event)m_globeDisplay).AfterDraw += new
IGlobeDisplayEvents_AfterDrawEventHandler(OnAfterDraw);

}


/// <summary>
/// GlobeDisplay's AfterDraw event handler.
/// </summary>
/// <param name="pViewer"></param>
private void OnAfterDraw(ISceneViewer pViewer)
{
//AfterDraw event handler logic goes here.
}
总结:系统基本就搭建完毕,下面就可以一步的学习OpenGL在其中的使用!


                                                                           gisspace   jiangjian            crazyspace@126.com
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值