上篇文章介绍了如何在控制台程序中调用STK组件开发包,这篇文章将介绍如何在窗体程序中嵌入Insight3D模块,显示出三维地球。
1. Insight3D模块简介
Insight3D模块和STK软件里的3D显示使用了相同的底层代码。从2018r3
版开始,Insight3D只支持64位的Windows系统,之前的旧版本是有32位的。
- Insight3D模块需要操作系统上已安装好Windows Media Player,桌面系统默认已安装好,如果是Windows Server版本的操作系统,最简单的方式是安装上“Desktop Experience”包。
- Insight3D模块对显卡有一定的要求,最好是能支持OpenGL3.0的独立显卡,如果是性能不好的集成显卡,运行时会有卡顿、重影等现象。显卡驱动也要装好。
- Insight3D模块主体是用C++编写,运行依赖与Visual C++ 2017再发行包,STK组件开发包中已经带了vc2017再发行包的安装包,名称是
vc_redist.x64.exe
,使用Insight3D前需要先安装上这个程序。
2. 在窗体程序中使用Insight3D模块
-
新建窗体程序:在Visual Studio 2019中新建一个C#语言的窗体程序(WinForm),名称为Example002,框架:4.6。
- 重命名
Form1.cs
文件为Example002.cs
,类Form1
重命名为Example002
- 添加
licenses.licx
文件,添加方法可参考上一篇教程
- 重命名
-
项目平台改为64位:在Visual Studio 2019的主菜单中依次打开
生成
->配置管理器...
,在弹出窗口中,在Example002
行的平台
列,新建一个x64
项,如下图所示:
-
添加Insight3D模块引用:为项目添加对
AGI.Foundation.Graphics.dll
文件的引用。然后检查项目文件是否齐全:
-
添加代码:打开
Example002.cs
文件,在构造函数调用InitializeComponent()
之后添加三行代码即可,如下所示:
using AGI.Foundation.Graphics;
using System.Windows.Forms;
namespace STKComponentsTutorials
{
public partial class Example002 : Form
{
private Insight3D insight3D;
public Example002()
{
InitializeComponent();
insight3D = new Insight3D();
insight3D.Dock = DockStyle.Fill;
this.Controls.Add(insight3D);
}
}
}
-
运行代码:编译并运行代码,如果一切操作正确,将出现如下一个三维地球的界面:
3. 小结
Insight3D模块拥有强大的功能,此篇文章相当于它的Hello world版,后续文章会逐步介绍它的其它功能。
源代码地址
https://github.com/icgp/STKComponentsTutorial/tree/master/Example002