STK组件基础篇:三维入门

上篇文章介绍了如何在控制台程序中调用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模块

  1. 新建窗体程序:在Visual Studio 2019中新建一个C#语言的窗体程序(WinForm),名称为Example002,框架:4.6。

    • 重命名Form1.cs文件为Example002.cs,类Form1重命名为Example002
    • 添加licenses.licx文件,添加方法可参考上一篇教程
  2. 项目平台改为64位:在Visual Studio 2019的主菜单中依次打开生成->配置管理器...,在弹出窗口中,在Example002行的平台列,新建一个x64项,如下图所示:

    项目平台改为64位

  3. 添加Insight3D模块引用:为项目添加对AGI.Foundation.Graphics.dll文件的引用。然后检查项目文件是否齐全:

    正确的项目结构

  1. 添加代码:打开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);
        }
    }
}
  1. 运行代码:编译并运行代码,如果一切操作正确,将出现如下一个三维地球的界面:
    程序运行界面

3. 小结

Insight3D模块拥有强大的功能,此篇文章相当于它的Hello world版,后续文章会逐步介绍它的其它功能。

源代码地址

https://github.com/icgp/STKComponentsTutorial/tree/master/Example002

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,749评论 0 11
  • 本文及后续系列文章主要采用STK组件的.Net版本作为开发包。 1. 获取开发包 正常的获取途径是访问AGI官网,...
    奔跑伯爵阅读 8,838评论 7 3
  • 0x0000000A 1、主要是由于安装了有缺陷或不兼容的硬件(BIOS)、驱动程序、软件产生。2、当系统升级WI...
    Muscleape阅读 3,508评论 0 3
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 22,136评论 6 49
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,276评论 0 5

友情链接更多精彩内容